DO Dateien/Bibl.Elemente mit DO-Prozedur bearbeiten
ONXDO [n] ['str1'= ...] { datei | bibliothek(element) | %name } [, do-params | ?]
Die angekreuzten Datenobjekte werden mit einer DO-Prozedur bearbeitet. Dies geschieht in der Weise, daß der Name des angekreuzten Datenobjekts als erster Stellungsparameter an die DO-Prozedur übergeben wird. Es wird eine Hauptprozedur mit CALL-Aufrufen auf die Verarbeitungsprozedur erstellt. Anschließend wird in die Connection n verzweigt und ein DO-Aufruf für die Hauptprozedur abgesetzt.
n Nummer der Connection, in der die erzeugte Prozedur ablaufen soll. Die Connection mit der angegebenen Nummer muß bereits eröffnet sein und zwar unter der gleichen Kennung wie der CFS-Grundprozeß. Wurde keine Connection-Nummer angegeben, so wird die DO-Prozedur erzeugt, aber nicht ausgeführt.
'str1'= ... Namenstransformationsregeln. Näheres siehe Seite 5-.
'str1'='str2' | 'str1'=DP[n][I] | 'str1'=DS[n][I]
Der an die Verarbeitungsprozedur übergebene Name wird in der Weise gebildet, daß 'str1' im Originalnamen durch 'str2' ersetzt wird bzw. die davor oder dahinterliegenden Zeichen gelöscht werden. Enthält der Originalname die Zeichenfolge 'str1' nicht, so wird dieser Name unverändert an die Prozedur übergeben.
Ohne Angabe von 'str1'= ... wird der Verarbeitungsprozedur der Name des zu bearbeitenden Datenobjekts in folgender Form übergeben:
- Dateien/Jobvariablen/FMS-Bibliothekselemente:
vollständiger, bis zu 44 Byte langer Name des Datenobjekts
- PLAM-Bibliothekselemente:
Name ohne Typ- und Versionsbezeichnung
- Elemente einer LMS-ISAM Bibliothek:
die ersten acht Stellen des Namens
Beispiele:
...'CFS.S.'=''... Das Prefix 'CFS.S.' wird aus dem Namen entfernt
...''='CFS.S.'... Dem Namen wird das Prefix 'CFS.S.' vorangestellt
...'.SRC '=''...   Das Suffix '.SRC' wird aus dem Namen entfernt
...' '='.SRC'...   Dem Namen wird das Suffix '.SRC' angehängt
datei Name der DO-Prozedur zur Verarbeitung der angekreuzten Datenobjekte.
bibl(element)   Die DO-Prozedur ist in dem angegebenen Bibliothekselement gespeichert. Bei PLAM-Bibliotheken muß das Element unter dem Typ J gespeichert sein.
%name Name des Parameter-Sets in der JRSAVE-Datei. Die mit dem Kommando SP %name gesicherte Parameter-Maske wird dem Benutzer erneut angeboten. Mit %name wird ein Bezug hergestellt sowohl auf eine bestimmte DO-Prozedur, als auch auf eine vordefinierte Belegung der DO-Parameter.
do-params zusätzliche Parameter zum Starten der DO-Prozedur. DO-Parameter können nicht zusammen mit %name angegeben werden.
? Es wird die Maske mit den Prozedurparametern angezeigt. Standardmäßig wird die Maske nur angezeigt, falls beim Aufruf der Prozedur außer dem ersten Stellungsparameter (Dateiname) noch weitere Parameter unbefriedigt sind.
Hinweise:
Die bei ONXDO angegebene DO-Prozedur muß mindestens einen Stellungsparameter besitzen. In diesem ersten Stellungsparameter wird von CFS beim Aufruf der Name des zu bearbeitenden Datenobjekts übergeben.
Werden Elemente einer Bibliothek mit ONXDO bearbeitet, so sollte die DO-Prozedur neben dem Namen des Elements noch einen weiteren Parameter für den Bibliotheksnamen enthalten. Dieser ist bei der Definition der Variablen Action in der Parameter-Maske für die DO-Prozedur anzugeben.
Durch die Variable Action ONXDO wird eine DO-Prozedur erzeugt, die die CALL-Aufrufe für die Verarbeitungsprozedur mit den angekreuzten Dateien als ersten Stellungsparameter enthält. Die DO-Prozedur erhält den Namen CFS.DO.tsn.hhmmss. tsn ist die TSN des Grundprozesses von CFS und hhmmss die aktuelle Uhrzeit. Der Benutzer ist selbst für das Löschen der Prozedur verantwortlich.
Im Zusammenhang mit der Variablen Action ONXDO sei auch auf die Variable Action ONXENTER auf Seite 5- hingewiesen.
Beispiel:
ONXDO1 CFS.DO.UMSETZEN
Die Prozedur CFS.DO.UMSETZEN besitzt folgende PROC-Anweisung:
/PROC C,(&DATEI),SUBDTA=&



Angenommen, der Benutzer hat Dateien seiner eigenen Benutzerkennung selektiert und durch OC1/ einen Nebenprozeß unter der eigenen Benutzerkennung eröffnet. Durch die oben angegebene Variable Action werden alle mit X in der Dateienliste markierten Dateien durch die DO-Prozedur CFS.DO.UMSETZEN bearbeitet. Dabei wird zunächst eine Hilfsprozedur mit dem Namen CFS.DO.4711. 161411 (161411 = Uhrzeit) und folgendem Inhalt erzeugt:


/PROC C
/CALL CFS.DO.UMSETZEN,(name-1,)
/STEP
/CALL CFS.DO.UMSETZEN,(name-2,)
/STEP
.....

/ENDP



Nach Erstellung der Prozedur verzweigt CFS in die bei ONXDO angegebene Connection, in unserem Beispiel in die Connection 1 und setzt dort das BS2000-Kommando /DO CFS.DO.4711.161411 ab. Nach Beendigung muß der Benutzer die Prozedur löschen.