Syntax
function ( [ [ [ parameter = ] wert ], ...] ) |
function
Name der Funktion.
parameter
Name eines Eingabeparameter kann weggelassen werden.
wert
Wert des Eingabeparameters
Schlüsselwort oder Ausdruck, der einem in SDF-P gültigen Datentyp entspricht (STRING, INTEGER, BOOLEAN; zu Ausdruck: siehe Kapitel „Ausdrücke“).
Ein Schlüsselwort muss immer mit „*“ beginnen (zur Unterscheidung von Variablennamen).
Beispiele
Schlüsselwort als Parameterwert:
DATE(FORMAT=*ISO)
Ausdruck als Parameterwert:
/ADRESSE = 'hallo' /U = UPPER-CASE(STRING=ADRESSE)
oder:
/A = 3 /STR = STRING(190+A)
Funktionen können mehrere Eingabeparameter haben, die dann alle dieser Syntax genügen. Entsprechend den Regeln für strukturierte Programmierung und für eine leichte Wartbarkeit von Programmen sollten Parameternamen möglichst angegeben werden, zumindest in Funktionsaufrufen mit mehreren Eingabeparametern.
Schlüsselwort-/Stellungsparameter
Bei Funktionen mit mehreren Eingabeparametern ist zu unterscheiden, ob die Parameter als Schlüsselwort- oder als Stellungsparameter eingesetzt werden.
Schlüsselwortparameter bedeutet, dass der Parametername als Schlüsselwort die Zuweisung identifiziert. Die Reihenfolge der Zuweisungen parameter = wert ist dann beliebig.
Stellungsparameter bedeutet, dass Parametername und Gleichheitszeichen bei der Zuweisung weggelassen werden; es wird nur der Parameterwert angegeben. Die Zuweisung ist dann nur durch ihre Stellung innerhalb der Zuweisungsfolge identifizierbar.
Wenn Parameternamen im Funktionsaufruf nicht angegeben werden, muss die Reihenfolge der Eingabeparameter in den Funktionsbeschreibungen im Kapitel „VordefinierteFunktionen“ (Vordefinierte Funktionen ), beachtet werden. Wenn keine Parameternamen angegeben sind, wertet SDF-P die Parameterwerte im Funktionsaufruf in genau dieser Reihenfolge aus.
Die Regeln für Stellungs- und Schlüsselwortparameter in SDF-P-Funktionen entsprechen den allgemeinen Regeln für Stellungs- und Schlüsselwortparameter bei SDF-Kommandos. Wichtig ist: Stellungsparameter sind nur vor Schlüsselwortparametern zulässig.
Beispiel
In der Syntaxdarstellung der Funktion FILL sind die Eingabeparameter in folgender Reihenfolge aufgeführt: STRING, LENGTH, SIDE, FILL-BYTE. Der Wert des Eingabeparameters SIDE wird über ein Schlüsselwort angegeben (*RIGHT oder *LEFT), die Werte der übrigen Eingabeparameter sind Ausdrücke, die über Variablen oder direkt als einzelnes Zeichen (bei FILL-BYTE), als Zeichenfolge (bei STRING) oder als Zahl (bei LENGTH) angegeben werden können. Die folgenden Funktionsaufrufe sind dabei gleichwertig:
/ADRESSE = 'ABCDE' /B = FILL(STRING=ADRESSE, LENGTH=18, SIDE=*LEFT, FILL-BYTE=C' ') /B = FILL('ABCDE', 18, *LEFT, C' ') /B = FILL(LENGTH=18, FILL-BYTE=C' ',STRING=ADRESSE, SIDE=*LEFT)
Eingabeparameter können in einem Funktionsaufruf auch mehrfach angegeben werden. Es gilt dann jeweils die letzte Angabe.
Beispiel
/D = DATE(FORMAT=*ISO, FORMAT=*GERMAN)
Das Datum wird im Format *GERMAN geliefert.