Die Funktion kopiert einen Teil eines Java-Strings in einen bereitgestellten Datenbereich.
Sie ist äquivalent zur JNI-Funktion GetStringRegion
. Sie bietet jedoch zusätzlich die Möglichkeit, alphanumerische (EBCDIC) Zeichenketten zu erhalten.
Aufruf
CALL 'JCI_GetString' USING
sObj start res
sObj start res | String-Objekt Startposition Ergebnisbeschreibung |
Argumente
sObj | Datenfeld des Typs |
start | Datenfeld des Typs |
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
sObj ist JCI-NULL
.
JCI-RET-EARGUMENT
sObj ist kein String-Objekt.
JCI-RET-EINDAOB
start ist kleiner als 1 oder größer als die Anzahl der Zeichen des Java-Strings.
JCI-RET-ERESVERS
Die statisch generierte Versionsnummer in res ist ungültig (eventuell überschrieben).
JCI-RET-ERESTYPE
Der Wert des Feldes ResType
ist ungültig.
JCI-RET-ERESCONV
Bei der Konvertierung des Strings ist ein Fehler aufgetreten.
Das Feld ResErrCode
enthält einen genaueren Fehlercode.
Hinweise
Die Übertragung findet maximal in der Länge (Länge Java-String – start + 1) bzw. des Wertes len in der Ausgabestruktur statt.
Beispiel
DATA DIVISION. WORKING-STORAGE SECTION. COPY JCI-TYPEDEFS. 01 JCIConstants. COPY JCI-CONST. ... 01 sObj TYPE JCI-object. 01 sPos PIC S9(9) COMP-5 VALUE 0. 01 sLen PIC S9(9) COMP-5 VALUE 0. 01 aText. 05 alen PIC S9(9) COMP-5 VALUE 80. 05 atxt PIC X(80) VALUE SPACE. ... 01 MethodRes. COPY JCI-METHODRES. ... PROCEDURE DIVISION. ... CALL 'JCI_GetStringLength' USING sObj sLen IF RETURN-CODE NOT = JCI-RET-OK ... END-IF. SET RES-ANUM-STRING TO TRUE SET ResValAddr TO ADDRESS OF aText MOVE LENGTH OF atxt TO alen *> loop to output the complete java-string PERFORM VARYING sPos FROM 1 BY alen UNTIL sPos > sLen CALL 'JCI_GetString' USING sobj sPos MethodRes IF RETURN-CODE NOT = JCI-RET-OK ... END-IF DISPLAY aTxt(1:aLen) UPON T END-PERFORM ...