Wenn Sie in einem Funktionsprototyp Parameter für den Zugriff auf einen Service angeben, müssen Sie die hier beschriebenen Regeln befolgen.
Ein Schnittstellenabschnitt wird für den Servicezugriff verwendet und enthält Funktionsprototypen wie beispielsweise den Folgenden:
Function GetEmployeeDetail(employeeCode STRING IN,
employeeSalary FLOAT OUT,
employeeStatus STRING INOUT)
returns(myEmployeeRecordPart);
Falls der Prototyp für den Zugriff auf einen EGL-REST-RPC-Service verwendet wird, gelten die folgenden Regeln:
- Der Prototyp kann Eingabeparameter (IN), Ausgabeparameter (OUT) und Ein-/Ausgabeparameter (INOUT) enthalten.
- Die vom Service empfangenen und zurückgegebenen Daten haben immer das JSON-Format. JSON kann keine Daten des Typs HEX, BLOB oder CLOB enthalten.
- Der Service gibt immer eine JSON-Zeichenfolge zurück. In Rich-UI-Anwendungen werden die vom Service zurückgegebenen
numerischen Daten, die mehr als 15 signifikante Ziffern aufweisen, vom EGL-Laufzeitcode auf- bzw.
abgerundet. Bei der Rückgabe von JSON an EGL-generierten
Java™-Code erfolgt die Rundung nicht.
Falls der Prototyp für den Zugriff auf einen SOAP-Service verwendet wird, kann er Eingabeparameter (IN), Ausgabeparameter (OUT) und Ein-/Ausgabeparameter (INOUT) enthalten.
Falls der Prototyp für den Zugriff auf den REST-Service eines anderen Anbieters verwendet wird, gelten die folgenden Regeln:
- Für jeden Parameter ist der Änderungswert IN erforderlich.
- Falls ein Parameter verwendet wird, um die URI oder die Abfragezeichenfolge zu erstellen, gelten die folgenden Regeln:
- Der Name des Parameters muss mit dem Namen der Substitutionsvariablen in der URI-Schablone übereinstimmen.
- Der Datentyp des Parameters kann ein Basiselementtyp oder ein zugehöriges Datenelement sein.
- Falls der Anforderer für JavaScript generiert wird, muss der Basiselementtyp entweder
STRING oder einer der folgenden Typen sein, die zuordnungskompatibel zu STRING sind:
FLOAT, BIN bzw. eines der ganzzahligen Äquivalente für BIN
(INT, SMALLINT oder BIGINT).
- Falls der Anforderer für Java generiert wird, sind mit Ausnahme von HEX, BLOB und CLOB alle Basiselementtypen gültig.
- Falls der REST-Service eine JSON-Zeichenfolge an eine Rich-UI-Anwendung zurückgibt, rundet der EGL-Laufzeitcode
alle numerischen Daten, die vom Service zurückgegeben werden und größer als 15 signifikante Ziffern sind. Bei der Rückgabe von JSON an EGL-generierten
Java-Code erfolgt die Rundung nicht.
- Der Wert eines Darstellungsparameters kann eine Zeichenfolge (STRING), einer der bereits erwähnten zuordnungskompatiblen Typen oder ein nicht strukturierter Datensatzabschnitt sein, dessen Felder die folgenden Regeln erfüllen:
- Das Feld hat den Typ STRING oder ist zuordnungskompatibel zu STRING.
- Das Feld basiert auf einem nicht strukturierten Datensatzabschnitt. Das Feld kann insbesondere auf einem Datensatzabschnitt basieren, der ausschließlich Zeichenfolgen, also Werte des Typs STRING, bzw. andere zuordnungskompatible Werte oder andere nicht strukturierte Datensatzabschnitte enthält.
Datensätze können auf jeder beliebigen Ebene in Datensätzen verschachtelt sein.
Falls der Prototyp für den direkten Zugriff auf ein IBM® i-Serviceprogramm mittels einer nativen Bindung verwendet wird, gelten die folgenden Regeln: