Net.Data Verwaltung und Programmierung für OS/400
Verwenden Sie eine Net.Data-Funktionsaufrufanweisung, um
benutzerdefinierte oder integrierte Funktionen aufzurufen. Verwenden
Sie das kommerzielle A (@), gefolgt von einem FUNCTION-Blocknamen bzw.
einem MACRO_FUNCTION-Blocknamen:
@function_name([ argument,... ])
- function_name
- Gibt den Namen des FUNCTION-Blocks oder MACRO_FUNCTION-Blocks an, der
aufgerufen werden soll. Die Funktion muß bereits im
Net.Data-Makro definiert sein, es sei denn, es handelt sich um eine
integrierte Funktion.
- argument
- Gibt den Namen einer definierten Variablen, einer Literalzeichenfolge,
eines Variablenverweises oder eines Funktionsaufrufs an. Die Argumente
in einem Funktionsaufruf werden mit den Parametern eines FUNCTION-Blocks
bzw. MACRO_FUNCTION-Blocks abgeglichen, und jedem Parameter wird bei
der Verarbeitung des FUNCTION-Blocks bzw. des MACRO_FUNCTION-Blocks der
Wert des entsprechenden Arguments zugewiesen. Die Argumente müssen
dieselbe Anzahl und Art wie die zugehörigen Parameter aufweisen.
Net.Data verarbeitet den FUNCTION-Block, MACRO_FUNCTION-Block oder
integrierte Funktionen, die einem Funktionsaufruf zugeordnet sind, in der
folgenden Reihenfolge:
- Net.Data verarbeitet die Variablenverweise und Funktionsaufrufe im
Abschnitt mit den ausführbaren Anweisungen des FUNCTION-Blocks.
Net.Data ersetzt alle Variablenverweise durch die aktuellen Werte der
Variablen, führt alle Funktionsaufrufe aus und ersetzt sie durch den
Rückkehrwert des jeweiligen Funktionsaufrufs. Die Variablenverweise und
Funktionsaufrufe werden in der Reihenfolge verarbeitet, in der sie angegeben
sind. Net.Data verarbeitet während dieses Schritts keine
integrierten Funktionen oder MACRO_FUNCTION-Blöcke.
- Der native Sprachprozessor verarbeitet den Abschnitt mit den ausführbaren
Anweisungen. Bei FUNCTION-Blöcken entspricht der Prozessor der für den
FUNCTION-Block definierten Sprachumgebung wie zum Beispiel SQL, REXX oder
Perl. Bei MACRO_FUNCTION-Blöcken fungiert Net.Data als
Sprachprozessor und führt die ausführbaren Anweisungen aus. Integrierte
Funktionen enthalten keine ausführbaren Anweisungen. Net.Data
verarbeitet die integrierten Funktionen nach Funktionsnamen.
Net.Data übergibt die Parameter der Funktion an den nativen
Sprachprozessor. Net.Data übergibt nur für IN- und
INOUT-Parameter Werte an den nativen Sprachprozessor und akzeptiert vom
nativen Sprachprozessor zurückgegebene Werte nur für OUT- und
INOUT-Parameter.
- Net.Data setzt die impliziten Variablen RETURN_CODE und
DTW_DEFAULT_MESSAGE entsprechend dem Rückkehrcode und der zurückgegebenen
Nachricht des Sprachprozessors. Für MACRO_FUNCTION-Blöcke setzt
Net.Data diese Variablen nicht.
- Wenn der FUNCTION-Block bzw. MACRO_FUNCTION-Block einen oder
mehrere REPORT-Blöcke enthält oder angibt, daß Standardberichte generiert
werden sollen, verarbeitet Net.Data den Bericht bzw. die
Berichte unter Verwendung der neuen Werte aller angegebenen
Ausgabeparameter. Für integrierte Funktionen generiert Net.Data
keine Berichte.
- Wenn der FUNCTION-Block einen lokalen MESSAGE-Block enthält, verarbeitet
Net.Data den MESSAGE-Block. Net.Data verarbeitet den
globalen MESSAGE-Block, wenn eine der folgenden Bedingungen zutrifft:
- Ein globaler MESSAGE-Block ist angegeben, und der Rückkehrcode wird nicht
von einem lokalen MESSAGE-Block bearbeitet.
- Eine integrierte Funktion wird aufgerufen.
Net.Data verarbeitet keine
MESSAGE-Blöcke für
MACRO_FUNCTION-Blöcke.
- Net.Data ersetzt den Funktionsaufruf durch den zurückgegebenen Wert
der Funktion. Bei FUNCTION-Blöcken ist dieser Wert einer der
folgenden:
- RETURNS-Parameterwert
- Ersetzt den FUNCTION-Block mit einem Schlüsselwort RETURNS.
- Leere Zeichenfolge ("")
- Ersetzt den FUNCTION-Block ohne Schlüsselwort RETURNS, wenn der Wert für
RETURN_CODE gleich Null ist.
- RETURN_CODE
- Ersetzt den FUNCTION-Block ohne Schlüsselwort RETURNS, wenn der Wert für
RETURN_CODE ungleich Null ist.
Bei MACRO_FUNCTION-Blöcken ersetzen die Ergebnisse der Verarbeitung des
Abschnitts mit den ausführbaren Anweisungen den Funktionsaufruf.
Bei integrierten Funktionen hängt der Wert vom Format der integrierten
Funktion ab.
[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]