Prozedurparameter deklarieren
Komponente: | SDF-P-BASYS |
Funktionsbereich: | Prozeduren |
Anwendungsbereich: | PROCEDURE |
Privilegierung: | STD-PROCESSING |
Funktionsbeschreibung
Das Kommando DECLARE-PARAMETER vereinbart Prozedurparameter in einer S-Prozedur und die Art und Weise der Übergabe der Parameterwerte an die Prozedur (Anfangswert, Prompting, ...).
Das Kommando ist Bestandteil des Prozedurkopfs. Mehrere DECLARE-PARAMETER-Kommandos müssen mit BEGIN- und END-PARAMETER-DECLARATION zu einem Kommandoblock, dem Deklarationsteil, zusammengefasst werden.
Einschränkungen
Angaben zu den Operanden TYPE und TRANSFER-TYPE, die nicht den Default-Werten entsprechen, sind nur möglich, wenn das kostenpflichtige Subsystem SDF-P geladen ist.
Format
DECLARE-PARAMETER | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Operandenbeschreibung
NAME = list-poss(2000): <structured-name 1..20>(...)
Bestimmt die Namen der verwendeten Prozedurparameters.
Prozedurparameter sind S-Variablen, die innerhalb der Prozedur bekannt sind. Für jeden Prozedurparameter werden folgende Eigenschaften vereinbart:
INITIAL-VALUE =
Legt den Anfangswert fest.
*NONE
Der Prozedurparameter wird nicht initialisiert, d.h., es wird kein Anfangswert vereinbart. Dem Prozedurparameter muss bei Aufruf der Prozedur ein Wert zugewiesen werden (siehe Kommando CALL-PROCEDURE bzw. ENTER-PROCEDURE).
INITIAL-VALUE = *PROMPT(...)
SDF-P fragt den Prozedurparameter beim ersten Auftreten ab (Prompting), wenn bei Aufruf der Prozedur kein Wert vereinbart wird.
Prompting ist nur im Dialog möglich. Wenn kein Prompting möglich ist oder im Dialog kein Wert eingegeben wurde, wird der im Operanden DEFAULT-VALUE vereinbarte Anfangswert übernommen.
PROMPT-STRING =
Definiert eine Zeichenfolge, die als Prompt-String (Eingabeaufforderung) ausgegeben wird. Der Prompt-String wird durch den bei DEFAULT-VALUE = ...
angegebenen Text ergänzt. Die Eingabeaufforderung endet immer mit einem Doppelpunkt. Als Eingabeaufforderung erscheint dann:
<prompt-string> (DEFAULT = <default-value>) :
*STD
Als Voreinstellung wird der bei NAME=...
angegebene Parametername (Variablenname) ausgegeben.
PROMPT-STRING = <text 0..1800 with-low string-expr >
Definiert die Zeichenfolge, die als Prompt-String ausgegeben wird.
DEFAULT-VALUE =
Definiert einen Anfangswert für den Fall, dass im Dialog keine Eingabe (d.h. nur [DUE]) erfolgt oder die Prozedur im Hintergrund abläuft. Der Wert wird (zur Information) als Teil der Eingabeaufforderung mit ausgegeben.
*NONE
Es wird keine (Default-)Zeichenfolge vereinbart.
DEFAULT-VALUE = <text 0..1800 with-low expr>
Ausdruck, der als Default für den Anfangswert benutzt wird. Der angegebene Ausdruck muss zum Typ des Parameters passen.
*NO
Es kann vereinbart werden, ob die Eingabe im Dialog geschützt über ein dunkelgesteuertes Feld erfolgt; die Eingabe wird in diesem Fall auch nicht protokolliert.
INITIAL-VALUE = <text 0..1800 with-low expr >
Der Prozedurparameter hat den Anfangswert, der sich aus dem angegebenen Ausdruck ergibt (zulässige Ausdrücke siehe Abschnitt „SDF-P-BASYS"). Der Anfangswert gilt, wenn bei Aufruf der Prozedur kein anderer Wert vereinbart wird.
*ANY
Legt den Variablentyp des Prozedurparameters fest.
Die Angabe eines Operandenwertes ungleich der Voreinstellung *ANY ist nur möglich, wenn das kostenpflichtige Subsystem SDF-P geladen ist.
*BY-VALUE
Legt die Art der Parameterübergabe fest.
Die Angabe eines Operandenwertes ungleich der Voreinstellung *BY-VALUE ist nur möglich, wenn das kostenpflichtige Subsystem SDF-P geladen ist.
Kommando-Returncode
Das Kommando DECLARE-PARAMETER kann nur innerhalb des Prozedurkopfes einer S-Prozedur verwendet werden. Fehler im Prozedurkopf erkennt SDF-P bei der Voranalyse und beendet den Prozeduraufruf. Die Kommando-Returncodes können nur auftreten, wenn das Kommando außerhalb des Prozedurkopfes verwendet wird.
(SC2) | SC1 | Maincode | Bedeutung |
---|---|---|---|
0 | CMD0001 | Ohne Fehler | |
1 | CMD0202 | Syntaxfehler | |
1 | SDP0118 | Kommando im falschen Kontext | |
3 | CMD2203 | Falsche Syntaxdatei | |
32 | CMD0221 | Systemfehler (interner Fehler) | |
130 | SDP0099 | Kein Adressraum mehr verfügbar |