Mit dieser Zugriffsfunktion wird die Zeilennummer eines Satzes in einer Arbeitsdatei geändert.
EDTKEY1: Zeilennummer, die geändert werden soll
EDTKEY2: neue Zeilennummer
Existiert bereits ein Satz mit der neuen Zeilennummer oder enthält die Arbeitsdatei zwischen der alten und der neuen Zeilennummer weitere Sätze, wird die Funktion nicht ausgeführt.
Aufruf
Folgende Angaben sind notwendig (siehe Übersichtstabelle):
Versorgen der benötigten Felder in den Kontrollblöcken
EDTGLCBundEDTAMCBVersorgen des Puffers
EDTKEY1Versorgen des Puffers
EDTKEY2Aufruf der Einsprungadresse
IEDTRENmit der Parameterliste
Übersichtstabelle
(Kontrollblöcke siehe Abschnitt „Generierung und Aufbau der Kontrollblöcke“).
Einsprungadresse |
Parameterliste |
Aufrufparameter | Rückkehrparameter | ||
EDTGLCB: | EGLUNIT EGLVERS | EDTGLCB: | EGLRETC EGLRMSG |
EDTAMCB: | EAMUNIT EAMVERS EAMFILE EAMLKEY1 EAMLKEY2 | ||
|
| ||
Mögliche Returncodes siehe Abschnitt „Logische Satzzugriffsfunktionen“.
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; char key1[] = "01234000"; char key2[] = "00000100"; amcb.length_key1 = amcb.length_key2 = 8;
Wenn beispielsweise der Satz mit der Zeilennummer 123.4 der 1. Satz in der Arbeitsdatei 1 ist und die Zeilennummer 0.01 erhalten soll::
strncpy(amcb.filename,"$1 ",8);
Im C-Programm wird die Funktion IEDTREN folgendermaßen aufgerufen:
IEDTREN(&glcb,&amcb,key1,key2);