FETCH
|
|
|
|
|
operand1 [operand2
[(parameter)]]
|
Dieses Dokument behandelt folgende Themen:
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
Verwandte Statements: CALL | CALL FILE |
CALL LOOP |
CALLNAT |
DEFINE SUBROUTINE |
ESCAPE |
FETCH |
PERFORM
Gehört zur Funktionsgruppe: Aufrufen von Programmen und Unterprogrammen
Das Statement FETCH dient dazu, ein Natural-Objektprogramm
auszuführen, welches als Hauptprogramm geschrieben wurde. Das zu ladende
Programm muss vorher mit einem STOW- oder
CATALOG-Kommando
in der Natural-Systemdatei in Objektform gespeichert worden sein. Ein im
Arbeitsbereich des Editors befindliches Sourceprogramm wird durch die
Ausführung eines FETCH-Statements nicht überschrieben.
Für Natural RPC: Siehe Notes on Natural Statements on the Server in der Natural RPC (Remote Procedure Call)-Dokumentation.
Zusätzlich zu den explizit mit dem FETCH-Statement
übergebenen Parametern hat das aufgerufene Programm Zugang zu der Global Data
Area des aufrufenden Programms.
Je nachdem, wie Ihr Natural-Administrator den Natural-Profilparameter
OPRB
(Datenbank-Open/Close-Befehlsverarbeitung) gesetzt hat, kann
es sein, dass das FETCH-Statement die Ausführung eines internen
END
TRANSACTION-Statements auslöst. Soll eine logische
Transaktion mehrere Programme einschließen, so wenden Sie sich bitte vorher an
Ihren Natural-Administrator, um sicherzustellen, dass der
OPRB-Parameter entsprechend gesetzt ist.
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 | ja | |||
Syntax-Element-Beschreibung:
| Syntax-Element | Beschreibung |
|---|---|
REPEAT
|
Wegfall der Notwendigkeit einer Benutzerinteraktion:
|
RETURN
|
Aufrufen und Ausführen eines Objekts des Typs Programm
als Routine:
Wird Geben Sie |
operand1
|
Programm-Name:
Der Name des aufgerufenen Programms (maximal 8 Zeichen lang) kann entweder als alphanumerische Konstante oder als Inhalt einer alphanumerischen Variablen der Länge 1 bis 8 angegeben werden. Die Groß-/Kleinschreibung des Namens wird nicht verändert. Natural sucht das Programm zunächst in der zum Zeitpunkt der
Ausführung des Der Name des Programms darf ein Und-Zeichen (&) enthalten; zur
Laufzeit wird dieses Zeichen durch den aus einem Zeichen bestehenden Code
ersetzt, der dem aktuellen Wert der Systemvariablen
|
operand2
|
Zu übergebende Parameter-Felder:
Mit dem Das aufgerufene Programm liest die übergebenen Parameterfelder über
ein Werden mehr Parameter übergeben als vom Anmerkung: |
parameter
|
Datumsformat für Datumsvariable:
Wenn operand2 eine Datumsvariable ist,
können Sie den Session-Parameter |
** Example 'FETEX1': FETCH (with parameter)
************************************************************************
DEFINE DATA LOCAL
1 #PNUM (N8)
1 #FNC (A1)
END-DEFINE
*
INPUT 10X 'SELECTION MENU FOR EMPLOYEES SYSTEM' /
10X '-' (35) //
10X 'ADD (A)' /
10X 'UPDATE (U)' /
10X 'DELETE (D)' /
10X 'STOP (.)' //
10X 'PLEASE ENTER FUNCTION: ' #FNC ///
10X 'PERSONNEL NUMBER:' #PNUM
*
DECIDE ON EVERY VALUE OF #FNC
VALUE 'A', 'U', 'D'
IF #PNUM = 0
REINPUT 'PLEASE ENTER A VALID NUMBER' MARK *#PNUM
END-IF
VALUE 'A'
FETCH 'FETEXAD' #PNUM
VALUE 'U'
FETCH 'FETEXUP' #PNUM
VALUE 'D'
FETCH 'FETEXDE' #PNUM
VALUE '.'
STOP
NONE
REINPUT 'PLEASE ENTER A VALID FUNCTION' MARK *#FNC
END-DECIDE
*
END
** Example 'FETEXAD': FETCH (called by FETEX1) ************************************************************************ DEFINE DATA LOCAL 1 #PERS-NR (N8) END-DEFINE * INPUT #PERS-NR * WRITE *PROGRAM 'Record added with personnel number:' #PERS-NR * END
** Example 'FETEXUP': FETCH (called by FETEX1) ************************************************************************ DEFINE DATA LOCAL 1 #PERS-NR (N8) END-DEFINE * INPUT #PERS-NR * WRITE *PROGRAM 'Record updated with personnel number:' #PERS-NR * END
** Example 'FETEXDE': FETCH (called by FETEX1) ************************************************************************ DEFINE DATA LOCAL 1 #PERS-NR (N8) END-DEFINE * INPUT #PERS-NR * WRITE *PROGRAM 'Record deleted with personnel number:' #PERS-NR * END
Ausgabe des Programms FETEX1:
SELECTION MENU FOR EMPLOYEES SYSTEM
-----------------------------------
ADD (A)
UPDATE (U)
DELETE (D)
STOP (.)
PLEASE ENTER FUNCTION: D
PERSONNEL NUMBER: 1150304
Nach Eingabe und Bestätigung der Funktion und Personalnummer:
Page 1 05-01-13 11:58:46
FETEXDE Record deleted with personnel number: 1150304