RUN [REPEAT] operand1 [
operand2
[(parameter)]] |
Dieser Abschnitt behandelt folgende Themen:
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
Gehört zur Funktionsgruppe: Aufrufen von Programmen und Subprogrammen
Das RUN-Statement dient dazu, ein Natural-Source-Programm aus der
Natural-Systemdatei zu lesen und es dann auszuführen.
Für Natural RPC: Siehe Notes on Natural Statements on the Server (in der Natural RPC (Remote Procedure Call)-Dokumentation).
Operanden-Definitionstabelle:
| Operand | Mögliche Struktur | Mögliche Formate | Referenzierung erlaubt | Dynam. Definition | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| operand1 | C | S | A | ja | nein | |||||||||||||||
| operand2 | C | S | A | G | A | U | N | P | I | F | B | D | T | L | G | ja | nein | |||
Syntax-Element-Beschreibung:
| Syntax-Element | Beschreibung |
|---|---|
REPEAT
|
Mit Diese Option kann eingesetzt werden, wenn ein Programm mehrere Schirme mit Informationen ausgibt, bei denen es nicht erforderlich ist, dass der Benutzer auf jeden ausgegebenen Schirm reagiert. |
operand1
|
Programmname:
Der Name des auszuführenden Programms (operand1) kann als alphanumerische Konstante oder als Inhalt einer alphanumerischen Variablen angegeben werden. Wird eine Variable verwendet, so muss sie 8 Stellen lang sein. Das Programm kann entweder in der aktuellen Library oder in einer Steplib
(Standard-Steplib ist Das ausgeführte Programm wird in den Arbeitsbereich des Programm-Editors gelesen und überschreibt dabei den vorherigen Inhalt des Arbeitsbereichs. |
operand2
|
Parameter:
Mit dem Die Parameter können mit beliebigem Format definiert werden; sie werden
automatisch in Formate umgesetzt, die zu den entsprechenden
Werden mehr Parameter übergeben als Anmerkung |
parameter
|
Wenn operand2 eine Datumsvariable ist, können Sie
den Session- Parameter DF als parameter
für diese Variable angeben.
|
Das RUN-Statement kann dazu verwendet werden, ein Programm dynamisch zu
kompilieren und auszuführen, dessen Source ganz oder teilweise dynamisch erstellt wird.
Dynamische Quellcode-Generierung erfolgt, indem man Sourcetext in globalen Variablen unterbringt, und diese Variablen dadurch referenziert, dass man im Quellcode als erstes Zeichen im Variablennamen ein Pluszeichen (+) jeweils durch ein Und-Zeichen (&) ersetzt.
Wird das Programm mit RUN aufgerufen, so wird der Inhalt der globalen
Variablen als Quellcode interpretiert. Eine globale Variable mit Index darf nicht in einem
mit RUN ausgeführten Programm verwendet werden.
Eine globale Variable darf keinen Kommentar und kein INCLUDE-Statement enthalten.
** Example 'RUNEX1': RUN (with dynamic source program creation)
************************************************************************
DEFINE DATA
GLOBAL
USING RUNEXGDA
LOCAL
1 #NAME (A20)
1 #CITY (A20)
END-DEFINE
*
INPUT 'Please specify the search values:' //
'Name:' #NAME /
'City:' #CITY
*
RESET +CRITERIA /* defined in GDA 'RUNEXGDA'
*
IF #NAME = ' ' AND #CITY = ' '
REINPUT 'Enter at least 1 value'
END-IF
*
IF #NAME NE ' '
COMPRESS 'NAME' ' =''' #NAME '''' INTO +CRITERIA LEAVING NO
END-IF
IF #CITY NE ' '
IF +CRITERIA NE ' '
COMPRESS +CRITERIA 'AND' INTO +CRITERIA
END-IF
COMPRESS +CRITERIA ' CITY =''' #CITY '''' INTO +CRITERIA LEAVING NO
END-IF
*
RUN 'RUNEXFND'
*
END
RUNEXFND, das per RUN-Statement
ausgeführt wird:
** Example 'RUNEXFND': RUN (program executed with RUN in RUNEX1)
************************************************************************
DEFINE DATA
GLOBAL
USING RUNEXGDA
LOCAL
1 EMPLOY-VIEW VIEW OF EMPLOYEES
2 NAME
2 CITY
END-DEFINE
*
* &CRITERIA filled with "NAME = 'xxxxx' AND CITY = 'xxxx'"
*
FIND NUMBER EMPLOY-VIEW WITH &CRITERIA
RETAIN AS 'EMP-SET'
DISPLAY *NUMBER
*
END
Global RUNEXGDA Library SYSEXSYN DBID 10 FNR 32
Command > +
I T L Name F Length Miscellaneous
All -- -------------------------------- - ---------- ------------------------->
1 +CRITERIA A 80