Mit diesem Format der @PROC-Anweisung kann man sich die Nummer der aktuellen Arbeitsdatei, die Nummern aller freien Arbeitsdateien bzw. die Nummern aller belegten Arbeitsdateien ausgeben lassen. Eine Arbeitsdatei (ungleich 0) gilt als belegt, wenn sie einmal aktuelle Arbeitsdatei war oder ist und nicht zwischenzeitlich mit @DROP oder @DELETE (Format 2) freigegeben worden ist. Eine belegte Arbeitsdatei muss nicht unbedingt Datensätze enthalten.
Operation | Operanden | L-Modus |
@PROC | [ {FREE | USED} ] |
FREE | Es sollen die Nummern jener Arbeitsdateien (1-22) ausgegeben werden, Ist keine Arbeitsdatei außer der Arbeitsdatei |
USED | Es sollen die Nummern jener Arbeitsdateien (1-22) ausgegeben werden, Ist keine Arbeitsdatei außer der Arbeitsdatei |
Wird kein Operand angegeben, dann wird die Nummer der aktuellen Arbeitsdatei am Bildschirm angezeigt.
Hinweis
Im Kompatibilitäts-Modus gilt eine Arbeitsdatei erst dann als belegt, wenn sie einmal aktuelle Arbeitsdatei war, mit einer @END-Anweisung, einer @PROC-Anweisung, einer @SETF-Anweisung bzw. im F-Modus über eine der Anweisungen 0..22
verlassen wurde und sie nicht zwischenzeitlich mit @DROP freigegeben worden ist. Dort gilt also die z.B. mit @PROC eingestellte aktuelle Arbeitsdatei nicht als belegt, selbst wenn sie Daten enthält.
Beispiel 1
1. @PROC --------------------------------------------------------- (1) <00> 1. @PROC 15 ------------------------------------------------------ (2) 1. @PROC --------------------------------------------------------- (3) <15> 1. @END ---------------------------------------------------------- (4) 1. @PROC --------------------------------------------------------- (5) <00>
(1) | Die Abfrage nach der aktuellen Arbeitsdatei bringt die Nummer <00>. |
(2) | Es wird in die Arbeitsdatei 15 umgeschaltet. |
(3) | Bei Abfrage der Nummer der Arbeitsdatei wird dann <15 > ausgegeben. |
(4) | Es wird in die Arbeitsdatei 0 zurückgekehrt. |
(5) | Man befindet sich jetzt wieder in der Arbeitsdatei 0. |
Beispiel 2
1. @DROP ALL ----------------------------------------------------- (1) 1. @PROC USED ---------------------------------------------------- (2) % EDT0907 NO WORK FILES USED 1. @PROC 13 1. A 2. @END 1. @PROC USED ---------------------------------------------------- (3) <13> 1.0000 TO 1.0000
(1) | Alle Arbeitsdateien werden freigegeben. |
(2) | Es wird gefragt, welche Arbeitsdateien belegt sind. |
(3) | Nach Anlegen der Arbeitsdatei 13 wird wieder gefragt, welche Arbeitsdateien belegt sind. |
Beispiel 3
1. @DROP ALL ----------------------------------------------------- (1) 1. @PROC FREE ---------------------------------------------------- (2) % EDT0907 NO WORK FILES USED 1. @PROC 13 1. A 2. @END 1. @PROC FREE ---------------------------------------------------- (3) 01 02 03 04 05 06 07 08 09 10 11 12 14 15 16 17 18 19 20 21 22
(1) | Alle Arbeitsdateien werden freigegeben. |
(2) | Es wird gefragt, welche Arbeitsdateien nicht belegt sind. |
(3) | Nach Anlegen der Arbeitsdatei 13 wird wieder gefragt, welche Arbeitsdateien nicht belegt sind. |