Mit der Funktion IEDTGET können spezifische Einstellungen einer Arbeitsdatei gelesen werden. Im Feld EAMFILE im Kontrollblock EDTAMCB muss einer der folgenden Werte abgelegt werden:
L0..L22 (Arbeitsdatei 0..22)
Die Werte müssen linksbündig stehen und mit Leerzeichen aufgefüllt sein.
Die Länge des Kontrollblocks EDTPARL muss nicht mehr im Feld EAMPREC (EDTAMCB) eeingetragen werden, da die Länge der Ausgabe durch die Version des EDTPARL eindeutig bestimmt ist. Ebenso wird bei Rückkehr EAMLREC nicht mehr versorgt.
Die Informationen werden vom EDT im Kontrollblock EDTPARL abgelegt (siehe Abschnitt „EDTPARL - Arbeitsdateispezifische Einstellungen“).
Aufruf
Folgende Angaben sind notwendig (siehe Übersichtstabelle):
Versorgen der benötigten Felder in den Kontrollblöcken
EDTGLCBundEDTAMCBAngabe des initialisierten Kontrollblocks
EDTPARLals AusgabebereichAufruf der Einsprungadresse
IEDTGETmit der Parameterliste
Übersichtstabelle
(Kontrollblöcke siehe Abschnitt „Generierung und Aufbau der Kontrollblöcke“).
Einsprungadresse |
Parameterliste
|
Für die Puffer EDTKEY1 und EDTKEY können beliebige Werte angegeben werden, sie werden nicht ausgewertet.
Aufrufparameter | Rückkehrparameter | ||
EDTGLCB: | EGLUNIT EGLVERS | EDTGLCB: | EGLRETC EGLRMSG |
EDTAMCB: | EAMUNIT EAMVERS EAMFILE | EDTPARL | |
| EPLUNIT EPLVERS |
| |
Returncodes bei der Statusabfrage
EGLMRET | EGLSR1 |
|
|
Nach erfolgreichem Aufruf (Returncode ist EAMRETOK/EAMOK00) sind die Informationen im Kontrollblock EDTPARL abgelegt.
Bedeutung der Returncodes siehe Abschnitt Abschnitt „EDTGLCB - Globaler EDT -Kontrollblock“ (EDTGLCB - Globaler EDT - Kontrollblock ).
War der Aufruf nicht erfolgreich, bleibt der Kontrollblock EDTPARL unverändert.
Aufruf im C-Programm
Benötigte Include-Dateien:
#include <stdio.h>
#include <iedtgle.h>
Der Kontrollblock EDTAMCB wird folgendermaßen deklariert und initialisiert:
iedamcb amcb = IEDAMCB_INIT; iedparl parl = IEDPARL_INIT; strncpy(amcb.filename,"L1 ",8);
Im C-Programm wird die Funktion IEDTGET zum Lesen der arbeitsspezifischen Einstellungen folgendermaßen aufgerufen:
IEDTGET(&glcb,&amcb,NULL,NULL,&parl);