Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

IEDTPTM - Markieren eines Satzes

&pagelevel(4)&pagelevel

Mit dieser Zugriffsfunktion kann ein Satz in einer Arbeitsdatei markiert werden oder seine Markierung gelöscht werden.

In einer Arbeitsdatei, in der eine Datei real durch @OPEN (Format 2) geöffnet ist, können keine Sätze markiert werden.

Mögliche Satzmarkierungen

  • Die Satzmarkierungen 1 bis 9 (EAMMK01 bis EAMMK09 in EDTAMCB) stehen dem Anwender frei zur Verfügung. Er kann diese Markierungen mit den Funktionen
    IEDTPUT (Schreiben Satz und Markierungen) und IEDTPTM (Schreiben Satzmarkierung) verändern.
    Diese Markierungen können auch durch (Kurz-)Anweisungen gesetzt oder gelöscht werden.

  • Die Satzmarkierung 13 (EAMMK13 in EDTAMCB) hat die Sonderfunktion eines Ignorier-Indikators. Derart markierte Sätze werden

    • bei der Rückkehr aus dem (mit @DIALOG bzw. @EDIT ONLY eingeleiteten) Benutzerdialog (siehe Abschnitt „IEDTCMD - Ausführen von EDT-Anweisungen“) automatisch gelöscht

    • beim Schreiben in eine Datei bzw. ein Bibliothekselement nicht übernommen

    • beim Kopieren von Zeilen nicht kopiert

    • durch die Satzzugriffsfunktionen IEDTGET und IEDTPTM nur dann berücksichtigt, wenn im Kontrollblock EDTAMCB im Feld EAMFLAG das Kennzeichen EAMIGN13 gesetzt ist

  • Die Satzmarkierung 14 (EAMMK14 in EDTAMCB) hat die Sonderfunktion eines Update-Indikators. Derart markierte Sätze sind im F-Modus überschreibbar, auch wenn dies nicht explizit durch den Dialog-Anwender verlangt wird.

  • Die Satzmarkierung 15 (EAMMK15 in EDTAMCB) hat die Sonderfunktion eines Schreibschutzindikators. Sätze mit Satzmarkierung 15 sind schreibgeschützt. Sie können mit der Kurzanweisung X oder [F2]im F-Modus-Bildschirmdialog nicht auf überschreibbar gestellt werden.

Voraussetzung für die Auswertung der Satzmarkierungen 14 und 15 durch den EDT ist die Einstellung von PROTECTION=ON mit der @PAR-Anweisung.

Die Satzmarkierungen 13, 14 und 15 können nur durch die Satzzugriffsfunktionen IEDTPUT und IEDTPTM, nicht aber durch EDT-Anweisungen verändert werden.
Durch Ändern des Satzes im Dialog (d.h. Eingabe von Daten im Datenfenster) werden die Satzmarkierungen 13, 14 und 15 gelöscht.

Die Zeilennummer des zu markierenden Satzes muss im Feld EDTKEY angegeben werden.

Das Setzen der Markierung wird als logisches ODER realisiert. Sind alle Bits (auch die undefinierten) in EAMMMARK gleich Null, wird die Markierung gelöscht.

Existiert kein Satz mit der angegebenen Satznummer, wird der Aufruf mit Returncode abgewiesen.

Aufruf

Folgende Angaben sind notwendig (siehe Übersichtstabelle):

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

  • Versorgen des Puffers EDTKEY

  • Aufruf der Einsprungadresse IEDTPTM mit der Parameterliste

Übersichtstabelle

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

Einsprungadresse    :     IEDTPTM

Parameterliste      :     A (EDTGLCB, EDTAMCB, EDTKEY)

Aufrufparameter

Rückkehrparameter

EDTGLCB:EGLUNIT
EGLVERS
EDTGLCB:EGLRETC
EGLRMSG
EDTAMCB:EAMUNIT
EAMVERS
EAMFLAG
EAMFILE
EAMMARK
EAMLKEY


EDTKEY


 


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 key[8];
IEDAMCB_SET_NO_MARKS(amcb);
amcb.length_key = 8;

Wenn beispielsweise ein Satz mit der Zeilennummer 123.4 in der Arbeitsdatei 1 im F-Modus überschreibbar dargestellt werden soll (Satzmarkierung 14):

strncpy(amcb.filename,"$1     ",8); 
strncpy(key,"01234000",8);
MARK_14(amcb) = 1; 

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

IEDTPTM(&glcb,&amcb,key);