The CALL-CONVENTION directive controls the handling of program and method names and determines the interface generation in the event of program and method calls.
Format
>>CALL-CONVENTION { COMPATIBLE
| COBOL
| ILCS
| ILCS-SET-RETURN-CODE
}
General rules
If the CALL-CONVENTION directive is specified within a statement, it applies for the first time for the next statement.
The same CALL-CONVENTION phrase applies for WHEN phrases in EVALUATE and SEARCH statements as for the EVALUATE and SEARCH statements themselves.
If the CALL-CONVENTION directive is not specified, >>CALL-CONVENTION COMPATIBLE is assumed.
The table below shows the effect of the CALL-CONVENTION directive’s operands.
Overview for CALL-CONVENTION
Effective for | Convention | |||
COMPATIBLE | COBOL | ILCS | ILCS-SET- | |
Program name of external program | converted to uppercase | converted to uppercase | converted to uppercase | converted to uppercase |
Program name of external program | unchanged | converted to uppercase | unchanged | unchanged |
Program name of nested program | converted to uppercase | converted to uppercase | converted to uppercase | converted to uppercase |
Program name of nested program | converted to uppercase | converted to uppercase | - (c) | - (c) |
Method name | converted to uppercase | converted to uppercase | converted to uppercase | converted to uppercase |
Method name | unchanged | converted to uppercase | unchanged | unchanged |
Set uppermost bit in last parameter | in accordance with option | no | no | no |
Register1 transferred to special register RETURN-CODE after return from called register | in accordance with option ACTIVATE-XPG4-RETURNCODE | no | no | no |
(a) | Prototype name created from COBOL program without PROTOTYPE phrase and repository information generated by COBOL2000 compiler version > V1.2A |
(b) | Without prototype name or prototype name created from COBOL program with PROTOTYPE phrase or repository information generated by COBOL2000 compiler version <= V1.2A |
(c) | Call of nested programs only possible with AS NESTED |
(d) | Object reference SELF, SUPER or defined as USAGE OBJECT REFERENCE with class nname or ACTIVE-CLASS |
(e) | Universal object reference or object reference defined as USAGE OBJECT REFERENCE with interface name |