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
EDTGLCB
undEDTAMCB
Versorgen des Puffers
EDTKEY1
Versorgen des Puffers
EDTKEY2
Aufruf der Einsprungadresse
IEDTREN
mit 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);