Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Argumente und Ergebniswerte von Java-Methoden

&pagelevel(3)&pagelevel

Für die Übergabe von Argumenten und Ergebniswerten zwischen dem COBOL-Programm und JCI-Funktionen, die Java-Methoden aufrufen oder Java-Datenfelder bearbeiten, werden Strukturen verwendet. Diese müssen alle notwendigen Informationen enthalten. Die Strukturen sind in den COPY-Elementen JCI-METHODARGS und JCI-METHODRES definiert  (siehe Abschnitte „JCI-METHODARGS - Funktionsargumente" und „JCI-METHODRES - Funktionsergebnis"). Sie werden in diesem Kapitel als MethodArg bzw. MethodRes bezeichnet.

Sofern bei den Funktionsbeschreibungen nichts anderes definiert wird, gelten für Aufrufe von Funktionen, die ein Argument des Typs MethodArg bzw. MethodRes referenzieren, folgende Voraussetzungen:

  • Argumente

    Das Feld CallArgNum muss vor dem Aufruf der Funktion die Anzahl der zu übergebenen Argumente enthalten.

    Für jedes Argument muss in der Struktur ein Element der Tabelle CallArg mit Werten versorgt sein.

    Im Feld ArgType muss der dem COBOL-Datentyp entsprechende Bedingungsname ARG-... gesetzt werden.

    Für Zeichenfolgen muss die Adresse einer Cobvar bzw. CobNvar Struktur angegeben werden. Falls nachfolgende Leerzeichen ignoriert werden sollen, muss zusätzlich IGNORE-TRAILING-SPACES gesetzt werden. Andere Argumente müssen direkt in die Struktur übertragen werden.

  • Ergebniswerte

    Für Ergebniswerte muss der dem COBOL-Datentyp entsprechende Bedingungsname RES-... im Feld ResType gesetzt werden oder RES-VOID, falls kein Rückgabewert erwartet wird. Wird als Rückgabewert eine Zeichenfolge erwartet, so muss die Adresse einer Cobvar bzw. CobNvar Struktur mit maximaler Länge für den Datenbereich im Feld ResValAddr angegeben werden. Ist die Länge <=0, so findet keine Übertragung des Ergebniswertes statt.

    Nach Rückkehr aus der Funktion enthält eine als Rückgabewert referenzierte Cobvar bzw. CobNvar Struktur im Längenfeld die Anzahl der übertragenen Zeichen (maximal Eingabewert) und im Datenbereich die übertragenen Zeichen. Für andere Datentypen wird der Rückgabewert direkt in der Struktur übergeben.

Falls bei der Konvertierung eines Gleitpunkt-Datenfeldes oder String-Objektes eine Ausnahmesituation auftrat, enthält das Feld ResErrCode nach der Rückkehr aus der Funktion den entsprechenden Fehlercode. Dieser kann durch die Bedingungsvariable RES-ERR-<bedingung> abgefragt werden (siehe Abschnitte „Zeichen und Zeichenfolgen" und „Gleitkommazahlen"). War ein Argument fehlerhaft (RETURN-CODE RET-ERR-EARGUMENT), so enthält das Feld ResErrIndex die Nummer des Ar gumentes.

Die folgende Tabelle gibt eine Übersicht über die Definitionen und die entsprechenden COBOL- und Java-Typen. Für COBOL-Typen, deren Name mit 'JCI-' beginnt, existiert eine Typ-Definition im COPY-Element JCI-TYPEDEF.
Ein '*' in der letzten Spalte gibt an, dass in den JCI-Funktionen eine automatische Konvertierung des Argumentes bzw. Ergebniswertes vorgenommen wird.

Java-Typ

COBOL-Typ bzw. TYPEDEF

Variable
ResVal ...,
ArgVal ...

Bedingungsname
RES- ..., ARG- ...


String

Struktur CobVar
Struktur CobNVar

Addr

ANUM-STRING
NAT-STRING

*

byte

JCI-byte

Byte

BYTE


char

PIC X

Achar

ANUM-CHAR

*

char

PIC N

Nchar

NAT-CHAR


boolean

JCI-boolean

Boolean

BOOLEAN


short

JCI-short

Short

SHORT


int

JCI-int

Int

INT


long

JCI-long

Long

LONG


float

USAGE COMP-1

Float

FLOAT

*

double

USAGE COMP-2

Double

DOUBLE

*

Java-Objekt (auch String-Objekt)

JCI-object

Object

OBJECT