The CALL statement provides a number of areas where general protection violations can occur if you make a mistake in specifying the call.The following are things you should check if you suspect that a CALL statement might be causing a general protection violation:
- The number, size, and usage of parameters in the calling program must match those in the called program.
- The REFERENCE, CONTENT, and VALUE clauses in the calling program must match the definitions of the parameters in the called program.These factors become more difficult to manage when one of the calling or called programs is not COBOL. As a result, protection violations are more likely in such applications. You must ensure that the non-COBOL language conforms with the default calling convention for COBOL, or COBOL conforms to the calling convention of the non-COBOL language (by using the CALL-CONVENTION clause). The effects of a mismatch in the calling interface between two programs can be extremely varied depending on the interaction between the mismatch in question and the calling conventions used.