Allgemeines
Anwendungsgebiet: | Ein-/Ausgabe von Dateien und Datensätzen; siehe "Ein-/Ausgabe"; |
Makrotyp: | S-Typ, MF-Format 1: 24-Bit-Schnittstelle: Standardform/E-/L-Form; 31-Bit-Schnittstelle: Standardform/E-/L-/C-/D-Form, siehe "S-Typ-Makroaufrufe" |
Stand der Beschreibung: TIAM V13.2A
Für die 31-Bit-Schnittstelle zu beachten:
Bei Verwendung von MF=C/D werden für den Standardheader keine symbolischen Namen und Equates erzeugt. Bei dynamischer Versorgung des Datenbereichs sollten die Initialisierungswerte für den Standardheader aus einem mit MF=L erzeugten Datenbereich übernommen werden. Bei fehlerhafter Versorgung des Feldes für UNIT wird ein Userdump erzeugt.
Im Standardheader wird kein Returncode übergeben.
Der Makro CUPAB generiert eine DSECT des Datenbereichs des RDATA für das 24-Bit-Schnittstellenformat.
Makrobeschreibung
Mit RDATA kann der nächste Datensatz von SYSDTA gelesen werden.
SYSDTA kann einem Element einer PLAM-Bibliothek, einer S-Variablen, einer katalogisierten SAM- oder ISAM-Datei, insbesondere der prozessführenden Datenstation zugeordnet sein.
Der Satz (im Fall der Datenstation: die Nachricht) wird in einen Bereich des Benutzerprogramms als Satz variabler Länge übertragen.
Nach einer Eingabe mit RDATA wird für die Datensichtstationen 8160, 9749, 975x und 9763 die Tastatur gesperrt, sodass bis zur nächsten Ausgabe keine weitere Eingabe möglich ist. Lediglich Kurztelegramme sind zugelassen.
Wird während der Lese-Operation ein „BREAK“ erkannt, wird der Befehlszähler auf den Anfang der Makroauflösung zurückgesetzt, sodass nach der Behandlung der Unterbrechung der Makroaufruf wiederholt wird.
Beim Ablauf des Makros werden im Fall von Format 1 die spezifizierten Operanden in einer Operandentabelle abgespeichert und die Anfangsadresse dieser Tabelle in Register R1 geladen. Im Fall von Format 2 wird die im Anwenderprogramm spezifizierte Tabelle verwendet.
Makroaufrufformat 1 und Operandenbeschreibung
|
|
satz
symbolische Adresse des Feldes, in das der einzulesende Datensatz übertragen wird. Das Feld beginnt mit dem Satzlängenfeld. Aufbau:
Byte 0-1: Länge des Satzes + 4 Byte Satzlängenfeld
Byte 2-3: reserviert
Byte 4-n: Datensatz.
Beispiel
SATZ DS 0CL74 LÄNGE DS CL2 RESERV DS CL2 DATEN DS CL70
fehler
symbolische Adresse (Name) im Benutzerprogramm, zu der verzweigt wird:
im Fehlerfall (Einlesefehler, Dateiende, ...)
wenn der Operand A gesetzt ist.
Im Fehlerfall enthält Register R14 die Adresse des dem RDATA-Aufruf folgenden Befehls. Der Fehlercode wird im Register R15 übergeben.
31-Bit-Schnittstelle: Bei Angabe fehler = 0 (Adresse X'00..0) wird das Programm mit dem Befehl fortgesetzt, der dem RDATA-Aufruf folgt.
länge
Größe des Einlesebereichs einschließlich 4 Byte für das Satzlängenfeld. Die maximal zulässige Länge beträgt 32767 Byte. Fehlt der Operand, wird das Längenattribut des Einlesebereichs angenommen.
edit
Aufbereitungsfunktion (Edit-Options) für eine Eingabe-Nachricht von der Datenstation. Dieser Operand ist nicht erforderlich, wenn Standardfunktionen (alle Edit-Bits=0) verwendet werden, bei einer MODE-Angabe oder bei Nutzung des VTSU-Control-Blocks. Durch Direktangabe (X'xx') kann nur das 1. Edit-Byte für Eingabe auf die beim CUPAB-Makro beschriebene Bedeutung gesetzt werden.
Hinweis
Dieser Operand wird nur noch aus Kompatibilitätsgründen unterstützt.
Die Edit-Optionen sollten über MODE-Angaben (siehe Operand MODE) oder über den VTSU-Control-Block (siehe Operand VTSUCBA) gesteuert werden.
A
Das Benutzerprogramm wird von der anfänglichen Standardzuweisung und von jeder folgenden Zuweisung für SYSDTA verständigt. Diese Verständigung erfolgt über die Fehleradresse, sobald der Lesevorgang beendet ist.
Der Zuweisungsschlüssel wird wie folgt abgespeichert:
24-Bit-Schnittstelle: im linksbündigen Byte des Registers R15.
31-Bit-Schnittstelle: im Feld CURAIND des Datenbereichs.
KEYLEN=
bestimmt, ob die Länge des ISAM-Schlüssels abgespeichert werden soll oder nicht. Dieser Operand wird nur ausgewertet, wenn SYSDTA einer ISAM-Datei zugeordnet ist.
N
Die Länge des ISAM-Schlüssels wird nicht abgespeichert.
Y
Die um 1 verringerte Länge des ISAM-Schlüssels wird wie folgt abgespeichert:
24-Bit-Schnittstelle: Im rechtsbündigen Byte des Registers R0.
31-Bit-Schnittstelle: Im Feld CURKEYL der Operandenliste.
KEYOUT=
bestimmt, ob der Datensatz mit oder ohne ISAM-Schlüssel übergeben wird. Dieser Operand wird nur ausgewertet, wenn SYSDTA einer ISAM-Datei zugeordnet ist.
N
Der ISAM-Schlüssel wird nicht entfernt.
Y
Der ISAM-Schlüssel wird entfernt.
KEYPOS=
bestimmt, ob die Position des ISAM-Schlüssels abgespeichert werden soll oder nicht. Dieser Operand wird nur ausgewertet, wenn SYSDTA einer ISAM-Datei zugewiesen ist.
N
Die Position des ISAM-Schlüssels wird nicht abgespeichert.
Y
Die um 1 verringerte Position des ISAM-Schlüssels wird wie folgt abgespeichert: 24-Bit-Schnittstelle:
In den beiden mittleren Byte des Registers R0, wenn KEYLEN=Y angegeben.
In den beiden rechtsbündigen Byte des Registers R0, wenn KEYLEN=N angegeben.
31-Bit-Schnittstelle: Im Feld CURKEYP des Datenbereichs.
MF=
Zur allgemeinen Beschreibung des Operanden MF, der dazugehörenden Operandenwerte und der evtl. nachfolgenden Operanden (z.B. für einen Präfix) siehe Abschnitt „S-Typ-Makroaufrufe“. Die gültigen MF-Werte sind zu Beginn der Makrobeschreibung bei „Makrotyp“ angegeben und aus dem Aufrufformat ersichtlich.
Bei der C-Form und D-Form des Makroaufrufs kann ein Präfix (pre = 1..3 Buchstaben), wie im Aufrufformat dargestellt, angegeben werden. Voreinstellung: pre = CUR
PARMOD=
steuert die Makroauflösung. Es wird entweder die 24-Bit- oder die 31-Bit-Schnittstelle generiert.
Wenn PARMOD nicht spezifiziert wird, erfolgt die Makroauflösung entsprechend der Angabe für den Makro GPARMOD oder der Voreinstellung für den Assembler (= 24-Bit-Schnittstelle).
24
Die 24-Bit-Schnittstelle wird generiert. Datenlisten und Befehle benutzen 24-Bit-Adressen (Adressraum <= 16 MB).
31
Die 31-Bit-Schnittstelle wird generiert. Datenlisten und Befehle benutzen 31-Bit-Adressen (Adressraum <= 2 GB). Datenlisten beginnen mit dem Standardheader.
Hinweis
Dieselbe Bedeutung wie „Y“ hat auch die Angabe einer Zeichenfolge, die mit „Y“ beginnt. Jedes von „Y“ verschiedene Zeichen wird wie die Angabe von „N“ interpretiert. Jede Zeichenfolge, die nicht mit „Y“ beginnt, wirkt wie die Angabe von „N“ und verursacht eine MNOTE-Meldung.
Folgende Operanden werden nur ausgewertet, wenn SYSDTA der Datensichtstation zugeordnet ist. Die MODE-Angaben zusammen mit den Edit-Optionen werden nur noch aus Kompatibilitätsgründen unterstützt. Sie werden jetzt im VTSU-Control-Block (VTSUCB, siehe Makro VTSUCB) zusammengefasst.
MODE=COMP
Kompatibler Betriebsmodus. Vom Benutzerprogramm können über symbolische Operanden sämtliche Edit-Options entsprechend der Edit Option Tabelle (siehe Makro CUPAB) verwendet werden. Eventuell im Operanden edit gemachte Angaben werden ignoriert. Steuerzeichen im Text werden unbesehen dem Benutzerprogramm übergeben. Diese Betriebsweise ist zu früheren Versionen kompatibel (kompatibel unterstützte Datenstationen: 8103, 8110, 8150, 8152 und 8161).
Für die Geräte 3270, 8160, 8162, 9749, 975x wird dieser Modus wie MODE=LINE behandelt. Alle Edit Options außer ILCASE, IGETBS werden abgewiesen (RC: X'08').
MODE=LINE
Ist SYSDTA eine Datenstation, so wird diese als logische Zeilendatenstation behandelt. Die Nachricht kann mit logischen Steuerzeichen strukturiert sein (siehe Makro VTCSET). Der gerätespezifische Nachrichtenkopf wird nicht mitgeliefert. Die Operanden für die Nachrichtenaufbereitung werden ausgewertet.
Ist SYSDTA eine katalogisierte Datei (also keine Datenstation), so werden die Operanden zur Nachrichtenaufbereitung nicht ausgewertet. Zum Beispiel werden Kleinbuchstaben nicht in Großbuchstaben übersetzt, wenn SYSDTA eine katalogisierte Datei ist und ILCASE den Wert NO (Standardwert) hat. Logische Steuerzeichen in der Nachricht werden ebenfalls nicht ausgewertet.
ICFD=
gibt an, ob vertrauliche Daten geschützt werden sollen.
NO
Es sollen keine Vorkehrungen zum Schutz vertraulicher Daten getroffen werden.
YES
Die Eingabedaten sind vertraulich und sollen an der Datenstation unsichtbar bleiben. Dies erfolgt je nach Datenstation durch Dunkelsteuerung bzw. Löschen des Bildschirms oder durch Überschreiben der Eingabezeile bei Schreibstationen.
IGETBS=
bestimmt, ob „Underline“ (X'6D') in das Benutzerprogramm übertragen wird. Die Angabe des Operanden ist nur für 8103-Datensichtstationen sinnvoll.
NO
„Underline“ wird nicht in das Benutzerprogramm übertragen. Stattdessen wird vom System die Korrekturfunktion durchgeführt.
YES
Die Zeichen „Underline“ werden dem Benutzerprogramm übergeben. Es findet keine Auswertung durch das System statt.
IGETFC
bestimmt, ob ein Funktionstastencode übergeben wird.
NO
Es soll kein Funktionstastencode übergeben werden.
YES
Das 5. Byte des Einlesebereichs soll den normierten Funktionstastencode enthalten. Dieser identifiziert die zur Auslösung der Datenübertragung an der Datenstation betätigte Taste. Zur Tabelle der normierten Funktionstastencodes siehe "Tabelle der normierten Funktionstastencodes".
IGETIC=
legt fest, ob die Eingabequelle verändert werden soll.
NO
Die Eingabequelle soll nicht verändert werden.
YES
Die Eingabe soll vom angeschlossenen Ausweisleser erfolgen. Die Eingabedaten können nur aus der Ausweisinformation oder aus dem Kurztelegramm K14 bestehen. Diese Angabe ist nur bei den Datenstationen 8160, 9749, 975x und 3270 mit einem definierten Ausweisleser möglich (siehe auch Makro TSTAT TYPE=TCHAR). Der Operand IGETIC wird ignoriert, wenn gleichzeitig ICFD=YES angegeben wird oder wenn kein Ausweisleser angeschlossen ist.
IHDR=
gibt an, wie mit dem Nachrichtenkopf verfahren wird.
NO
Der Nachrichtenkopf wird nicht an das Benutzerprogramm übergeben.
YES
Der gesamte Nachrichtenkopf wird an das Benutzerprogramm übergeben. Bei 3270-Datenstationen besteht der Nachrichtenkopf aus dem Anwendungskennzeichen (AID-Byte) und der zwei Byte langen Schreibmarkenposition.
ILCASE=
legt fest, ob zwischen Klein- und Großschreibung unterschieden werden soll.
NO
Alle Kleinbuchstaben werden dem Benutzerprogramm als Großbuchstaben übergeben.
YES
Dem Benutzerprogramm werden auch Kleinbuchstaben übergeben.
ILINEND=
gibt an, wie mit den Wagenrücklauf-/Zeilenvorschubzeichen verfahren wird.
NO
Die Wagenrücklauf-/Zeilenvorschubzeichen werden dem Benutzerprogramm nicht übergeben.
YES
Die Zeichen Wagenrücklauf/Zeilenvorschub werden in das Benutzerprogramm übertragen.
ITRSUP=
gibt an, ob die Übersetzung von Gerätecode in EBCDIC unterdrückt werden soll.
NO
Die Übersetzung von Gerätecode in EBCDIC wird nicht unterdrückt. Das Benutzerprogramm erhält die Nachricht im EBCDI-Code.
Ausnahme
Der Nachrichtenkopf bei der Datensichtstation 8161 wird immer im Gerätecode geliefert.
YES
Die Übersetzung von Gerätecode in EBCDIC wird unterdrückt. Das Benutzerprogramm erhält also die Nachricht im Gerätecode. Die Angabe ist für die Datensichtstation 8161 unzulässig.
RC=
legt fest, wo der Returncode abgelegt wird.
Dieser Operand ist nur für eine 31-Bit-Schnittstelle zulässig.
OLD
Der Returncode wird im rechtsbündigen Byte des Register R15 abgelegt.
NEW
Der Returncode wird sowohl im Register R15 als auch im Standardheader abgelegt. Alle 4 Byte des Registers R15 sind für die Auswertung belegt. Ein 4-Byte-Returncode wird nur zurückgeliefert, wenn SYSDTA von der Datensichtstation liest. In allen anderen Fällen wird nur ein 1-Byte-Returncode zurückgeliefert, unabhängig vom Wert des Returncodes.
TIMER=wert
legt eine max. Wartezeit für die Eingabe fest. Falls innerhalb der festgelegten Wartezeit keine Eingabe erfolgt, wird ein Returncode zurückgegeben. Die Angabe dieses Operanden ist nur für die 31-Bit-Schnittstelle zulässig.
wert
Wartezeit von 10 bis 3600 Sekunden.
Standardwert ist UNLIMITED, d.h. es wird kein Timer benutzt.
VTSUCBA=adr
bestimmt die Adresse eines mit MF=L erzeugten VTSUCB.
Bei Benutzung des Operanden VTSUCBA wird der Operand MODE und die folgenden Edit-Optionen ignoriert (im Datenbereich wird ihr Wert auf X'FF' gesetzt). Das bedeutet, dass alle gewünschten Edit-Optionen im VTSUCB angegeben werden müssen.
Die Angabe dieses Operanden ist nur für die 31-Bit-Schnittstelle zulässig. Standardmäßig erfolgt keine Verwendung des VTSUCB.
adr
symbolische Adresse (Name) des VTSUCB.
Makroaufrufformat 2 und Operandenbeschreibung
|
|
(1)
Register R1 enthält die Adresse des Datenbereichs (Liste ist auf Wortgrenze auszurichten).
PARMOD=
steuert die Makroauflösung. Es wird entweder die 24-Bit- oder die 31-Bit-Schnittstelle generiert. Wenn PARMOD nicht spezifiziert wird, erfolgt die Makroauflösung entsprechend der Angabe für den Makro GPARMOD oder der Voreinstellung für den Assembler (= 24-Bit-Schnittstelle).
24
Die 24-Bit-Schnittstelle wird generiert. Datenlisten und Befehle benutzen 24-Bit-Adressen (Adressraum <= 16 MB).
31
Die 31-Bit-Schnittstelle wird generiert. Datenlisten und Befehle benutzen 31-Bit-Adressen (Adressraum <= 2 GB). Datenlisten beginnen mit dem Standardheader.
Aufbau des Datenbereichs
Schnittstelle | Byte | Inhalt |
31-Bit- | 0 - 7 | Standardheader. Aufbau siehe "Standardheader" |
8 - 11 | Adresse, zu der im Fehlerfall verzweigt wird (Operand fehler). | |
12 - 15 | Adresse des Feldes, in das der eingelesene Datensatz übertragen wird (Operand satz). | |
16 | Input Edit Byte 1 | |
17 | Input Edit Byte 2 | |
18 | Zuweisungsschlüssel für SYSDTA. | |
19 | Flag, das die Verwendung des VTSUCB und das Returncode-Verhalten anzeigt. | |
20 - 21 | max. Länge des einzulesenden Datensatzes (Operand länge). | |
22 | Flag für Aufbereitungsbyte des ISAM-Schlüssels. | |
23 | SYSDTA-Zuweisungsindikator (Bit 20 | |
24 - 25 | Position des ISAM-Schlüssels. | |
26 - 27 | Länge des ISAM-Schlüssels. | |
28 - 31 | Adresse des VTSUCB | |
32 - 33 | Werte des Timers | |
34 - 35 | reserviert (X'00000000') | |
24-Bit- | 0 | Input Edit Byte 1 |
1 - 3 | Adresse des Feldes, in das der eingelesene Datensatz übertragen | |
4 | Flag | |
5 | Input Edit Byte 2 | |
6 - 7 | max. Länge des einzulesenden Datensatzes (Operand länge). | |
8 | SYSDTA-Zuweisungsindikator (Bit 20 | |
9 - 11 | Adresse, zu der im Fehlerfall verzweigt werden soll (Operand fehler). |
Bei Verwendung der 24-Bit-Schnittstelle sind die Werte für Input Edit Byte 1/2 der beim Makro CUPAB angegebenen Tabelle zu entnehmen.
Bei Verwendung der 31-Bit-Schnittstelle sind diese Werte einer mit MF=C/D erzeugten Datenliste zu entnehmen.
Zuweisungsschlüssel für SYSDTA:
24-Bit-Schnittstelle:
Der Zuweisungsschlüssel wird im linksbündigen Byte des Registers R15 übergeben.
31-Bit-Schnittstelle:
Der Zuweisungsschlüssel wird im Feld CURAIND des RDATA-Datenbereichs übergeben.
Schlüsselwerte und ihre Bedeutung
Wert
Bedeutung
X'00'
Zuordnung für SYSDTA nicht geändert.
X'04'
SYSDTA ist einer SAM-Datei zugeordnet.
X'08'
SYSDTA ist einer ISAM-Datei zugeordnet.
X'14'
SYSDTA ist einer Datenstation zugeordnet.
X'18'
SYSDTA ist einer S-Variablen zugeordnet.
X'20'
SYSDTA ist einem Element einer PLAM-Bibliothek zugeordnet.
Flag-Byte und Bedeutung:
Bit 27 = 1/0 | entspricht der Angabe KEYOUT=Y/N. |
Bit 26 = 1/0 | entspricht der Angabe KEYPOS=Y/N. |
Bit 25 = 1/0 | entspricht der Angabe KEYLEN=Y/N. |
Rückinformation und Fehleranzeigen
Für ein Gerät oder für den Betriebsmodus MODE nicht zugelassene Edit-Options werden vom System soweit wie möglich korrigiert.
Während der Makrobearbeitung enthält Register R1 die Adresse des Datenbereichs.
bei PARMOD=24
R15:
+---------------+ | | | | | |b|b|0|0|0|0|a|a| +---------------+
Über die Ausführung des Makros RDATA wird im Register R15 ein gegliederter Returncode übergeben (aa=Maincode, bb=Zuweisungsschlüssel, wenn der Operand A in Verbindung mit der 24-Bit-Schnittstelle angegeben wurde; sonst bb = X'00').
X'aa' | Erläuterung |
X'00' | Normale Beendigung. |
X'04' | Nicht behebbarer Fehler. |
X'08' | Operandenfehler. |
X'0C' | Abschneiden des Satzes. Satzlänge > spezifizierte Länge. |
X'10' | Dateiende (EOF). |
X'14' | SYSDTA ist nicht zugewiesen |
X'18' | Fehler während des Datenträger-Zugriffs |
X'20' | Ungültiges Edit Option Byte; Fehler wurde vom System korrigiert |
X'38' | Problem im Zusammenhang mit POSIX |
bei PARMOD=31, RC=OLD
Zusätzlich zu den unter PARMOD=24 beschriebenen Returncodes kann der Returncode X'24' (Fehler im VTSUCB) auftreten, sowie die Returncodes, die durch Konvention makroübergreifend festgelegt sind (siehe Tabelle „Standard-Returncodes“ (Standardheader)).
bei PARMOD=31, RC=NEW:
Die Returncodes werden sowohl im Standardheader als auch im Register R15 eingetragen.
Standardheader:
+---------------+ | | | | | |c|c|b|b|a|a|a|a| +---------------+
Über die Ausführung des Makros RDATA wird im Standardheader folgender Returncode übergeben (cc=Subcode2, bb=Subcode1, aaaa=Maincode):
X'cc' | X'bb' | X'aaaa' | Erläuterung |
X'00' | X'00' | X'0000' | Erfolgreiche Bearbeitung der Funktion. |
X'00' | X'00' | X'0014' | Erfolgreiche Bearbeitung der Funktion, aber SYSDTA nicht zugewiesen. |
X'00' | X'00' | X'0018' | Erfolgreiche Bearbeitung der Funktion, aber Fehler beim Zugriff auf den Datenträger. |
X'00' | X'00' | X'0020' | Erfolgreiche Bearbeitung der Funktion, ein aufgetretener Operandenfehler ist durch TIAM/ VTSU korrigiert worden. |
X'00' | X'01' | X'0008' | Nicht korrigierter Operandenfehler. |
X'07' | X'01' | X'0008' | Nicht korrigierter Operandenfehler: die RESERVED-Felder sind nicht 0 |
X'08' | X'01' | X'0008' | Nicht korrigierter Operandenfehler: der Wert des Operanden TIMER ist nicht im erlaubten Intervall von 10 bis 3600 Sekunden. |
X'00' | X'20' | X'0004' | Interner Fehler. |
X'02' | X'20' | X'0004' | Interner Fehler: BCAM-Nachricht verloren. |
X'05' | X'20' | X'0004' | Interner Fehler: Eingabenachricht zu lang. |
X'06' | X'20' | X'0004' | Interner Fehler: negative Transportquittung. |
X'00' | X'40' | X'0004' | Ein-/Ausgabe abgebrochen. |
X'00' | X'40' | X'000C' | Eingabesatzlänge > spezifizierte Länge: |
X'00' | X'40' | X'0010' | Dateiende (EOF) |
X'00' | X'40' | X'0034' | Timer-Ablauf (innerhalb der festgelegten Wartezeit erfolgte keine Eingabe). |
X'01' | X'80' | X'0004' | Interner BCAM-Engpass. |
X'09' | X'80' | X'0038' | Fehler im Zusammenhang mit POSIX: |
X'0A' | X'40' | X'0038' | Fehler im Zusammenhang mit POSIX: |
X'24' | VTSU-Fehler. Außer Maincode (rechtes Byte) siehe Fehlerinformation im VTSUCB-Header. |
Hinweise zum Makroaufruf
Ein Satz wird abgeschnitten, wenn der zu übertragende Satz größer ist als im Längenoperanden angegeben. Der Satz wird nur entsprechend dem Längenoperanden in den angegebenen Einlesebereich übertragen. Der Satzrest geht verloren. Ist der Satz kürzer als der Einlesebereich, wird er in den Einlesebereich linksbündig eingetragen. Der verbleibende Rest des Einlesebereichs wird nicht mit Leerzeichen aufgefüllt. Das Programm wird ohne Fehleranzeige weiter ausgeführt.
Dateiende (EOF) kann auf folgende Weise initiiert werden:
Dialogbetrieb:
Auslösen der Funktion ESCAPE (Taste K2). Die Jobverarbeitung wechselt in den Kommandomodus. Eingabe der Kommandos EOF und (nachfolgend) RESUME-PROGRAM.Prozedur- oder Batch-Betrieb:
Die (System-) Dateien SYSDTA und SYSCMD sind einander zugeordnet, und ein Datensatz wird eingelesen, der mit einem Schrägstrich beginnt.
Ausnahmen:Das Kommando HOLD-PROGRAM wird eingegeben;
Der Schrägstrich wird durch symbolische Operanden ersetzt.
Zwei aufeinander folgende Schrägstriche am Anfang des Satzes (z.B. SDF-Anweisung).
Die (System-)Dateien SYSDTA und SYSCMD sind nicht einander zugeordnet: Am Anfang des Datensatzes (Spalte 1-4) steht das Kommando EOF.
Beispiele siehe Abschnitt „S-Typ-Makroaufrufe“.