Die CALL-CONVENTION-Direktive steuert die Behandlung von Programm- und Methodennamen und bestimmt die Generierung der Schnittstelle bei Aufrufen von Programmen und Methoden.
Format
>>CALL-CONVENTION { COMPATIBLE
| COBOL
| ILCS
| ILCS-SET-RETURN-CODE
}
Allgemeine Regeln
Ist die CALL-CONVENTION-Direktive innerhalb einer Anweisung angegeben, so wirkt sie erst für die nächste Anweisung.
Für WHEN-Angaben in EVALUATE- bzw. SEARCH-Anweisungen gilt dieselbe CALL-CONVENTION-Angabe, wie bei der EVALUATE- bzw. SEARCH-Anweisung selbst.
Ist die CALL-CONVENTION-Direktive nicht angegeben, so wird >>CALL-CONVENTION COMPATIBLE angenommen.
Die nachfolgende Tabelle zeigt die Wirkungen der Operanden der CALL-CONVENTION-Direktive.
Übersicht zu CALL-CONVENTION
Wirkung bei | Konvention | |||
COMPATIBLE | COBOL | ILCS | ILCS-SET- | |
Programmname externes Programm (CALL...AS prototype (a)) | auf groß umgesetzt | auf groß umgesetzt | auf groß umgesetzt | auf groß umgesetzt |
Programmname externes Programm (CALL sonst (b), CANCEL, ADDRESS OF PROGRAM) | unverändert | auf groß umgesetzt | unverändert | unverändert |
Programmname eingeschachteltes Programm (CALL...AS NESTED) | auf groß umgesetzt | auf groß umgesetzt | auf groß umgesetzt | auf groß umgesetzt |
Programmname eingeschachteltes Programm (CALL sonst (b), CANCEL) | auf groß umgesetzt | auf groß umgesetzt | - (c) | - (c) |
Methodenname | auf groß umgesetzt | auf groß umgesetzt | auf groß umgesetzt | auf groß umgesetzt |
Methodenname (INVOKE sonst (e)) | unverändert | auf groß umgesetzt | unverändert | unverändert |
oberstes Bit setzen im letzten Parameter | entsprechend Option | nein | nein | nein |
Register1 nach Rückkehr aus dem Gerufenen ins Sonderregister RETURN-CODE übertragen | entsprechend Option ACTIVATE-XPG4-RETURNCODE | nein | nein | ja |
(a) | prototypename aus COBOL-Programm ohne PROTOTYPE-Angabe entstanden und Repository-Information erzeugt von COBOL2000 Compiler Version > V1.2A |
(b) | ohne prototypename oder prototypename aus COBOL-Programm mit PROTOTYPE-Angabe entstanden oder Repository-Information erzeugt von COBOL2000 Compiler Version <= V1.2A |
(c) | Aufruf von eingeschachtelten Programmen nur mit AS NESTED möglich |
(d) | Objektreferenz SELF, SUPER oder definiert als USAGE OBJECT REFERENCE mit klassenname oder ACTIVE-CLASS |
(e) | universelle Objektreferenz oder Objektreferenz definiert als USAGE OBJECT REFERENCE mit interfacename |