Allgemeine Syntax von DEFINE DATA PARAMETER
:
DEFINE
DATA |
||||||
PARAMETER |
USING
parameter-data-area |
|||||
parameter-data-definition | ||||||
END-DEFINE |
Dieses Dokument behandelt folgende Themen:
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
Das DEFINE DATA PARAMETER
-Statement wird benutzt, um
die Datenelemente zu definieren, die als Eingabeparameter in einem
Natural-Subprogramm, einer externen Subroutine oder Helproutine verwendet
werden sollen. Diese Parameter können innerhalb des Statements selbst definiert
werden (siehe Parameter-Daten-Definition
weiter unten); oder sie können außerhalb des Programms in einer
Parameter Data Area (PDA) definiert werden,
wobei dann das Statement diese Data Area referenziert.
Parameter-Datenelementen dürfen keine Ausgangswerte oder auch Konstanten-Werte zugewiesen werden, und sie dürfen keine Editiermasken-Definitionen (EM), Kopfzeilen-Definitionen (HD) oder Druckmodus-Definitionen (PM) haben (siehe auch EM-, HD-, PM-Parameter für Feld/Variable).
Die Parameter Data Area und die sie referenzierenden Objekte müssen in derselben Library (oder in einer Steplib) enthalten sein.
Syntax-Element-Beschreibung:
Syntax-Element | Beschreibung |
---|---|
USING
parameter-data-area |
PDA-Name:
Der Name der
|
parameter-data-definition |
Parameterdatendefinition:
Anstatt eine Parameter Data Area zu definieren, können Parameter auch direkt definiert werden; siehe Definition von Parameterdaten weiter unten. |
END-DEFINE |
Ende des DEFINE DATA-Statements:
Das für Natural reservierte Wort |
Für die Parameter-Daten-Definition gilt die folgende Syntax:
level | group-name [(array-definition)] | ||||||||||||||
redefinition | |||||||||||||||
variable-name | (format-length[/array-definition]) | [BY VALUE [RESULT ]]
[OPTIONAL ]
|
|||||||||||||
( | [/array-definition]) | DYNAMIC |
|||||||||||||
[(array-definition)]
HANDLE OF
OBJECT |
Syntax-Element-Beschreibung:
Syntax-Element | Beschreibung | |
---|---|---|
level |
Level-Nummer:
Dies ist eine ein- oder zweistellige Zahl im Bereich von 01 bis 99 (die vorangestellte 0 ist nicht erforderlich), die in Verbindung mit der Gruppierung von Feldern verwendet wird. Felder mit einer Level-Nummer von 02 an aufwärts werden als Teil einer unmittelbar vorangehenden Gruppe mit einer jeweils nächst-niedrigeren Level-Nummer betrachtet. Durch die Definition einer Gruppe (die auch nur aus
einem Feld bestehen kann) ist es möglich, durch Angabe lediglich des
Gruppennamens eine ganze Reihe von aufeinanderfolgenden Feldern gleichzeitig zu
referenzieren. Bei manchen Statements ( Eine Gruppe kann aus weiteren Gruppen bestehen. Bei der Vergabe von Level-Nummern für eine Gruppe darf kein Level ausgelassen werden. |
|
group-name |
Gruppenname:
Der Name einer Gruppe. Der Name muss den Regeln zur Definition eines Natural-Variablennamens entsprechen. Siehe auch die folgenden Abschnitte:
|
|
array-definition |
Definition von
Array-Dimensionen:
Mit array-definition definieren Sie die untere und obere Grenze einer Dimension in einer Array-Definition. Siehe Definition von Array-Dimensionen und Variable Arrays in einer Parameter Data Area. |
|
redefinition |
Redefinition:
Mit redefinition können Sie eine Gruppe oder ein einzelnes Feld oder eine einzelne Variable (d.h. Skalar oder Array) redefinieren. Siehe Redefinition. Anmerkung: |
|
variable-name |
Name der Variablen:
Der der Variablen zuzuweisende Name. Es gelten die Regeln für Natural- Variablennamen. Informationen zu Namenskonventionen für Benutzervariablen, siehe Namen von Benutzervariablen in der Dokumentation Natural benutzen. |
|
format-length |
Format/Länge:
Das Format und die Länge des Feldes. Informationen zu Format und Länge für Benutzervariablen siehe Format und Länge von Benutzervariablen im Leitfaden zur Programmierung. |
|
HANDLE OF OBJECT |
Handle of Object:
Wird im Zusammenhang mit NaturalX benutzt. Ein Handle kennzeichnet ein Dialogelement im Code und wird in Handle-Variablen gespeichert. Weitere Informationen siehe NaturalX im Leitfaden zur Programmierung. |
|
A, U or
B |
Datentyp:
Alphanumerisch (A), Unicode (U) oder Binär (B) für dynamische Variable. |
|
DYNAMIC |
DYNAMIC-Option:
Ein Parameter kann als Weitere Informationen zur Verarbeitung von dynamischen Variablen, siehe Dynamische Variablen im Leitfaden zur Programmierung. |
|
Call-Modus:
Je nachdem, ob der Call-By-Reference- oder Call-By-Value-Modus benutzt wird, gilt die betreffende Übertragungsart. Weitere Informationen siehe |
||
(without BY VALUE) |
Call-By-Reference-Modus:
Ohne |
|
BY
VALUE |
Call-By-Value-Modus:
Mit Mit |
|
Beispiel für BY
VALUE :
|
||
* Program DEFINE DATA LOCAL 1 #FIELDA (P5) ... END-DEFINE ... CALLNAT 'SUBR01' #FIELDA ... |
* Subroutine SUBR01 DEFINE DATA PARAMETER 1 #FIELDB (P9) BY VALUE END-DEFINE ... |
|
BY VALUE RESULT |
Call-By-Value-Result-Modus:
Während Wenn Sie |
|
OPTIONAL |
Optionale Parameter:
Bei einem ohne Bei einem mit Bei der
|
Siehe auch Übereinstimmende Formatangaben bei Array-Dimensionen im Leitfaden zur Programmierung.