EDT-Anweisungen und Datensätze können als @INPUT-Prozeduren in eine SAM-, ISAM- bzw. POSIX-Datei oder in ein Bibliothekselement zulässigen Typs (siehe Abschnitt „Dateibearbeitung“ geschrieben werden.
Die Vorteile einer @INPUT-Prozedur (permanente Verfügbarkeit, sprechende Namen der Prozedur) lassen sich mit den Vorteilen der @DO-Prozedur (Schachtelung, Sprünge und Schleifen, Parametrisierung) dadurch kombinieren, dass innerhalb der @INPUT-Prozedur eine oder mehrere @DO-Prozeduren dynamisch aufgebaut und zum Ablauf gebracht werden. Dabei wird die Möglichkeit der L-Modus-Eingabe mit verdoppeltem EDT-Anweisungssymbol genutzt.
Aufbau einer @DO-Prozedur innerhalb einer @INPUT-Prozedur
@DELETE | aktuelle Arbeitsdatei löschen | | | ||
@... | EDT-Anweisungen | | | | | | ||
@PROC | Zur Arbeitsdatei | | | ||
@DELETE | Inhalt von | | | ||
@@... | | | | | ||
. | | > | | @DO-Prozedur: | > | | | @INPUT-Prozedur |
@@... | | | | | ||
@END | Arbeitsdatei | | | ||
@DO procnr | @DO-Prozedur | | | ||
@... | EDT-Anweisungen | | | | |
Beispiel
Die Prozedur wird im F-Modus in der Arbeitsdatei 0
erstellt und als SAM-Datei unter dem Namen SICHERUNGSKOPIE.INPUT
gespeichert.
Die @DO-Prozedur besteht aus allen Anweisungen mit zwei aufeinander folgenden, nur durch Leerzeichen getrennten Anweisungssymbolen (@ @
- siehe weiter unten).
Durch @INPUT wird die Prozedur aufgerufen. Die Anweisungen der SAM-Datei SICHERUNGSKOPIE.INPUT
werden abgearbeitet. Dabei wird die geschachtelte @DO-Prozedur (Zeilen 6.00
bis 16.00
, EDT-Anweisungen mit mehr als einem Anweisungssymbol @) in der Arbeitsdatei 22
abgelegt (siehe weiter unten) und gleich ausgeführt. Anschließend wird in die Arbeitsdatei 22
gewechselt.
Bei Abarbeitung der Anweisung @CREATE ... READ wird die Eingabeaufforderung ausgegeben. Nach Eingabe des Dateinamens TESTDATEI
wird eine Sicherungskopie mit dem Namen TESTDATEI.jjmmtt.hhmmss
erstellt.
Die Anweisungen der @INPUT-Prozedur mit mehr als einem Anweisungssymbol wurden in der Arbeitsdatei 22
als @DO-Prozedur abgelegt, dabei wurde der Inhalt vor dem zweiten Anweisungssymbol gelöscht.