Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

IEDTDEL - Löschen eines Satzbereiches oder des Kopierpuffers

&pagelevel(4)&pagelevel

Durch diese Zugriffsfunktion wird der angegebene Satzbereich einer bestehenden Arbeitsdatei oder der Kopierpuffer gelöscht.

Das Löschen eines Satzbereichs entspricht der Anweisung @DELETE (Format 1).

Das Löschen des Kopierpuffers entspricht der Kurzanweisung * im F-Modus.

Löschen eines Satzbereichs

Der Satzbereich wird durch zwei Zeilennummern angegeben:

EDTKEY1:       Zeilennummer des ersten Satzes des Bereiches

EDTKEY2:       Zeilennummer des letzten Satzes des Bereiches

Wird in EDTKEY1 der Wert X'0000000000000000' und in EDTKEY2 der Wert
X'FFFFFFFFFFFFFFFF' angegeben, werden alle Sätze der Arbeitsdatei gelöscht. Dies entspricht der Anweisung @DELETE % - . $ (nicht der Anweisung @DEL ohne Operanden, die alle Werte der Arbeitsdatei zurücksetzt).

Löschen des Kopierpuffers

Im Kontrollblock EDTAMCB im Feld EAMFILE muss der Wert C abgelegt werden.

Der Wert muss linksbündig stehen und mit Leerzeichen aufgefüllt sein.

Die Puffer EDTKEY1 und EDTKEY2 müssen beim Löschen des Kopierpuffers nicht angegeben werden.

Aufruf

Folgende Angaben sind notwendig (siehe Übersichtstabelle):

  • Versorgen der benötigten Felder in den Kontrollblöcken EDTGLCB und EDTAMCB

  • Versorgen des Puffers EDTKEY1

  • Versorgen des Puffers EDTKEY2

  • Aufruf der Einsprungadresse IEDTDEL mit der Parameterliste

Übersichtstabelle

(Kontrollblöcke siehe Abschnitt „Generierung und Aufbau der Kontrollblöcke“).

Einsprungadresse    :     IEDTDEL

Parameterliste      :     A (EDTGLCB, EDTAMCB, EDTKEY1, EDTKEY2)

Aufrufparameter

Rückkehrparameter

EDTAMCB:EAMFILE
EAMLKEY1
EAMLKEY2
EDTGLCB:EGLRETC
EGLRMSG

EDTKEY1
EDTKEY2


 


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[] = "08000001";
char key2[] = "99999999";
amcb.length_key1 = amcb.length_key2 = 8;

Wenn beispielsweise die Sätze von der Zeilennummer 800.0001 bis zum Ende der Arbeitsdatei 1 gelöscht werden sollen:

strncpy(amcb.filename,"$1 ",8);

Im C-Programm wird die Funktion IEDTDEL folgendermaßen aufgerufen:

IEDTDEL(&glcb,&tamcb,key1,key2);