Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Übernahme von Voreinstellungen

&pagelevel(4)&pagelevel

Wenn für einen Eingabeparameter eine Voreinstellung (= Default-Wert) definiert ist, braucht der Parameter im Funktionsaufruf nicht angegeben zu werden, wenn die Voreinstellung übernommen werden soll (der Wert der Voreinstellungen ist in den Syntaxdarstellungen der Funktionen immer unterstrichen).

Für Funktionen mit nur einem Eingabeparameter, z. B. DATE( ), bedeutet dies, dass die Klammern als Kennzeichen des Funktionsaufrufs ausreichen. Sie können sogar entfallen, wenn keine gleichnamigen Variablen definiert sind.

Beispiel

Die folgenden Funktionsaufrufe der Funktion DATE( ) sind gleichwertig, vorausgesetzt, es gibt keine Variable mit dem Namen DATE:

/D = DATE(FORMAT=*ISO)
/D = DATE(*ISO)
/D = DATE( )
/D = DATE 
/SHOW-VARIABLE D
D = 1996-05-20141

Regeln für Funktionen mit mehreren Eingabeparametern:

  • Wenn alle Eingabeparameter als Schlüsselwortparameter angegeben werden, können die Eingabeparameter, deren Voreinstellungen übernommen werden sollen, ohne Ersatz entfallen.

  • Wenn alle Eingabeparameter als Stellungsparameter angegeben werden, muss die Reihenfolge der Eingabeparameter beachtet werden. Die Eingabeparameter, deren Voreinstellung übernommen werden soll, müssen durch ein Komma ersetzt werden (Ausnahme: sie stehen am Ende der Parameterliste).

  • Werden Stellungs- und Schlüsselwortparameter gemischt, müssen zuerst die Stellungsparameter angegeben werden, dann die Schlüsselwortparameter. In der Liste der Stellungsparameter müssen Eingabeparameter, deren Voreinstellungen übernommen werden sollen, durch Kommas ersetzt werden.

Beispiele

Am Beispiel der Funktion FILL( ) sollen die Regeln für die Übernahme von Voreinstellungen gezeigt werden. Für die Eingabeparameter von FILL( ) gilt folgende Syntax:

FILL

STRING = string_ausdruck

,LENGTH = zahl

,SIDE = *RIGHT / *LEFT

,FILL-BYTE = C' ' / zeichen

Für die beiden Eingabeparameter SIDE und FILL-BYTE sind demnach Voreinstellungen definiert:

  • *RIGHT bewirkt Auffüllen nach rechts

  • C'' bewirkt Auffüllen mit Leerzeichen (nicht mit „leerer Zeichenfolge“ verwechseln (C'')!)

Wenn Sie jetzt beide Voreinstellungen übernehmen und für STRING den Inhalt der Variablen ADRESSE sowie für LENGTH die Zahl 18 einsetzen wollen, sind folgende Funktionsaufrufe gleichwertig:

FILL(STRING=ADRESSE, LENGTH=18, SIDE=*RIGHT, FILL-BYTE=C' ')
FILL(STRING=ADRESSE, LENGTH=18,,)
FILL(STRING=ADRESSE, LENGTH=18)
FILL(ADRESSE,18)

Wenn Sie die Parameternamen angeben, können Sie auch die Reihenfolge der Eingabeparameter ändern:

FILL(LENGTH=18, STRING=ADRESSE)

Wenn nur die Voreinstellung für SIDE übernommen und eigene Füllzeichen definiert werden sollen (z. B. Punkte), sind folgende Funktionsaufrufe gleichwertig:

FILL(STRING=ADRESSE, LENGTH=18, SIDE=*RIGHT, FILL-BYTE=C'.')
FILL(STRING=ADRESSE, LENGTH=18, FILL-BYTE=C'.')
FILL(ADRESSE, 18, SIDE=*RIGHT, FILL-BYTE=C'.')
FILL(ADRESSE, 18, ,C'.')

Wie bei allen Abkürzungsmöglichkeiten ist immer darauf zu achten, dass einem „Nachfolger“ das Einarbeiten in die Prozeduren nicht unnötig erschwert wird. Funktionsaufrufe sollten daher nur so weit gekürzt werden, dass sie noch übersichtlich und leicht verständlich bleiben.