Die Funktion ruft eine statische Methode auf.
Sie ist äquivalent zu den JNI-Funktionen CallStatic<type>Method
. Sie bietet jedoch zusätzlich die Möglichkeit, Zeichenketten direkt zu übergeben bzw. zu erhalten.
Aufruf
CALL 'JCI_CallStaticMethod' USING
cObj mID arg res
cObj | Klassenobjekt |
mID | Methoden-ID |
arg | Methodenargumente |
res | Methodenergebnis |
Argumente
cObj | Datenfeld des Typs |
mID | Datenfeld des Typs |
arg | eine Struktur der Form |
res | eine Struktur der Form |
Returnwert (RETURN-CODE)
JCI-RET-OK
Der Aufruf war erfolgreich.
JCI-RET-ENOVM
Es ist keine Java-VM gestartet.
JCI-RET-ENULLOBJ
cObj ist JCI-NULL
.
JCI-RET-ENULLID
mId ist JCI-NULL
.
JCI-RET-EARGUMENT
cObj ist kein Klassen-Objekt.
JCI-RET-EARGVERS
Die statisch generierte Versionsnummer in arg ist ungültig (eventuell überschrieben).
JCI-RET-ERESVERS
Die statisch generierte Versionsnummer in res ist ungültig (eventuell überschrieben).
JCI-RET-EARGNUM
Die Anzahl der übergebenen Argumente (CallArgNum
) ist kleiner als 0 oder größer als der Wert, der für <max-arguments>
eingesetzt wurde (siehe Abschnitt „JCI-METHODARGS - Funktionsargumente").
JCI-RET-EARGTYPE
Der Wert des Feldes ArgType
ist ungültig. Das Feld ResErrIndex
enthält die Nummer des fehlerhaften Argumentes.
JCI-RET-ERESTYPE
Der Wert des Feldes ResType
ist ungültig.
JCI-RET-EARGCONV
Bei der Konvertierung eines Argumentes ist ein Fehler aufgetreten.
Das Feld ResErrIndex
enthält die Nummer des Argumentes, das Feld ResErrCode
einen genaueren Fehlercode.
JCI-RET-ERESCONV
Bei der Konvertierung des Ergebnisses ist ein Fehler aufgetreten.
Das Feld ResErrCode
enthält einen genaueren Fehlercode.
JCI-RET-EEXCEPT
Nach dem Aufruf der Methode existiert eine Exception. Es wird nicht unterschieden, ob die Exception durch diesen oder einen früheren Funktionsaufruf ausgelöst wurde.
Das dem Methodenergebnis entsprechende Feld in der Struktur res ist unverändert.
Exceptions
Alle Exceptions, die von der aufgerufenen Methode geworfen werden.
Beispiel
DATA DIVISION. WORKING-STORAGE SECTION. ... 01 MethodArgs. COPY JCI-METHODARGS REPLACING ==<max-arguments>== BY 2. 01 MethodRes. COPY JCI-METHODRES. ... 01 myName. 05 len PIC S9(9) COMP-5 VALUE 30. 05 txt PIC X(30). 01 classObj TYPE JCI-object. 01 methodID TYPE JCI-handle. PROCEDURE DIVISION. ... MOVE 1 TO CallArgNum SET RES-VOID TO TRUE SET ARG-ANUM-STRING(1) IGNORE-TRAILING-SPACES(1) TO TRUE SET ArgValAddr(1) TO ADDRESS OF myName CALL 'JCI_CallStaticMethod' USING classObj methodId MethodArgs MethodRes IF RETURN-CODE NOT = JCI-RET-OK ...