Allgemeine Syntax von DEFINE DATA CONTEXT
:
DEFINE DATA |
||||||||
CONTEXT |
USING |
|||||||
context-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.
Gehört zur Funktionsgruppe: Natural Remote Procedure Call
Das DEFINE DATA CONTEXT
-Statement wird im Zusammenhang
mit dem Natural RPC (Remote Procedure
Call) verwendet. Es dient dort zur Definition von als
Kontextvariablen bekannten Variablen, die für mehrere entfernte (remote)
Subprogramme innerhalb einer Konversation zur Verfügung stehen sollen, ohne
dass die Variablen explizit als Parameter mit den entsprechenden
CALLNAT
-Statements
übergeben werden müssen.
Eine Kontextvariable wird über ihren Namen referenziert. Ihr Inhalt wird von allen in einer Konversation ausgeführten Natural-Objekten, diesen Namen referenzieren, geteilt (gemeinsam genutzt). Die Variable wird vom ersten ausgeführten Natural-Objekt zugeordnet, das die Definition der Variablen enthält, und wird freigegeben, wenn die Konversation beendet ist.
Eine Kontextvariable wird nicht mit Subprogrammen geteilt, die innerhalb der Konversation aufegrufen werden. Wenn ein solches Unterprogramm oder einer seiner Aufrufer eine Kontextvariable referenziert, wird für diese Variable ein getrennter Speicherbereich zugeordnet.
Kontextvariablen können auch in einem nicht-konversationellen
CALLNAT
benutzt werden. In diesem Fall existieren die
Kontextvariablen nur während eines einzelenen Aufrufs dieses
CALLNAT
. Die Variable wird zugeordnet, wenn das entfernte (remote)
Subprogramm gestartet wird, und die Zuordnung wird aufgehoben, wenn es endet.
Der Inhalt wird von allen Programmierobjekten (jedoch nicht von Subprogrammen)
gemeinsam verwendet, die von diesem nicht-konversationellen
CALLNAT
ausgeführt werden.
Die optionale INIT
-Klausel wird bei jedem
ausgeführten Programmierobjekt ausgewertet, das diese Klausel enthält (nicht
nur im Natural-Objekt, das die Variable zuordnet). Bei globalen Variablen
funktioniert INIT
dagegen anders.
Weitere Informationen siehe Einen Konversationskontext definieren in der Natural RPC (Remote Procedure Call)-Dokumentation.
Eine Kontextvariable muss auf Level 01 definiert werden. Andere Levels werden nur bei einer Redefinition benutzt.
Syntax-Element-Beschreibung:
Syntax-Element | Beschreibung |
---|---|
USING
local-data-area |
LDA-Name:
Eine Local Data Area (LDA) enthält Datenelemente, die in
einem einzelnen Natural-Modul benutzt werden sollen. Sie können mehr als eine
Data Area referenzieren; in diesem Fall müssen Sie die reservierten Wörter
DEFINE DATA CONTEXT USING DATX_L CONTEXT USING DATX_P ... END-DEFINE ; Weitere Informationen siehe Felder in einer separaten Data Area definieren im Leitfaden zur Programmierung. |
USING
parameter-data-area |
PDA-Name:
Eine Parameter Data Area enthält Datenelemente, die als Parameter in einem Subprogramm, einer externen Subroutine oder in einem Dialog benutzt werden. |
context-data-definition |
Kontextdaten-Definition
Kontextdaten können auch direkt innerhalb eines Programms oder einer Routine definiert werden. Bei einer Kontextdaten-Definition gilt die weiter unten gezeigte Syntax. |
END-DEFINE |
Ende des DEFINE DATA-Statements:
Das für Natural reservierte Wort |
Kontextdaten können direkt innerhalb eines Programms oder einer Routine definiert werden. Bei einer direkten Datendefinition gilt die folgende Syntax:
level | variable-definition | ||
redefinition |
Weitere Informationen siehe Felddefinitionen im DEFINE DATA-Statement im Leitfaden zur Programmierung.
Syntax-Element | Beschreibung |
---|---|
level |
Level-Nummer:
Eine anwendungsunabhängige Variable muss auf Stufe (Level) 01 definiert werden. Andere Levels werden nur bei einer Redefinition benutzt. |
variable-definition |
Definition einer Variablen:
Eine Variablendefinition wird zur Definition eines einzelnen Feldes oder einer einzelnen Variablen benutzt, die einen Wert (Skalar) oder mehrere Werte (Array) haben kann. Siehe Definition von Variablen. Anmerkung: |
redefinition |
Redefinition:
Mit einer Redefinition redefinieren Sie eine Gruppe, eine View (Datenbanksicht), ein DDM-Feld oder ein einzelnes Feld oder eine einzelne Variable (d.h. ein Skalar oder ein Array). Siehe Redefinition. |
Anmerkung:
Die sich aus einer Redefinition ergebenden Felder werden nicht
als eine Kontext-Variable angesehen. Diese Felder werden als lokale Variablen
behandelt.