Als Variable Actions bezeichnen wir Verarbeitungsoptionen für Datenobjekte (Dateien/Jobvariablen/ Bibliothekselemente), für die eine mehr oder weniger umfangreiche Parametrisierung notwendig ist. Variable Actions sind Verarbeitungen, zu deren Steuerung neben dem Namen des Datenobjekts noch eine Reihe weiterer Angaben (Parameter) erforderlich sind. Ein einfaches Beispiel ist das Übertragen von Dateien von einer Magnetplatte auf eine andere. Hierbei ist neben dem Dateinamen noch die Angabe der Volume-Serial-Nummer (VSN) sowie des Device-Typs der Magnetplatte notwendig.
Die Variablen Actions sind besonders nützlich, wenn für eine größere Menge von Datenobjekten eine komplexe Verarbeitungsoption auszuführen ist. Für Batch-Anwendungen von CFS eignen sich die in der Form ON& ... definierten Variablen Actions.
Das Gegenstück zu den Variablen Actions sind die mit einem festen Action-Code versehenen Verarbeitungsoptionen, die durch Angabe eines 1- bis 5-stelligen sog. Action-Codes bei dem Namen der gewünschten Datei aktiviert werden. Z.B.: P (= Print), PSE (= Print ,Space=E,Erase), E (= Erase), ED (= Erase, Destroy), usw.
Für diese Verarbeitungsoptionen ist außer dem Namen des zu bearbeitenden Datenobjekts keine weitere Parametrisierung notwendig. Alle verfügbaren Parameter können hier als Buchstabenzusätze an den Action-Code angehängt werden.
Bei Aktionen, die nur auf wenige Datenobjekte angewendet werden, sind die Action-Codes einfacher zu handhaben. Zudem werden Action-Codes normalerweise sofort nach Absenden der Bildschirm-Maske ausgeführt. Variable Actions werden zuerst gesammelt und zu einem späteren Zeitpunkt ausgeführt. Außerdem fällt der Schritt des Definierens der Variablen Action weg.
Alle Variablen Actions beginnen in der Form: ONX... oder ON&...
ONX... Die Variable Action wird nur auf diejenigen Datenobjekte angewendet, die der Benutzer explizit mit dem Action-Code X bzw. XE/Xt (siehe Seite 6-) angekreuzt hat.
ON&... Die Variable Action wird automatisch auf alle in der Dateienliste aufgeführten Datenobjekte angewendet, ohne daß der Action-Code X angegeben werden muß.
Aus Gründen der übersichtlichen Darstellung werden die Variablen Actions nur in der Form ONX... beschrieben.
Einige der im folgenden aufgeführten Variablen Actions stehen in der zweiten CFS-Maske (Dateienliste) auch als Einzelkommandos bzw. in Form eigener Action-Codes zur Verfügung.
Die Variablen Actions können auch im Kommandofeld der zweiten CFS-Maske eingegeben werden.
Variable Actions und Parameter Sets
Alle Variablen Actions werden in der Form ONX varact [params] oder ON& varact [params] definiert. varact ist hierbei der Name der variablen Action. params sind optionale Parameter der variablen Action.
Beispiele:
ONX/MOD-FILE-ATTR PROTECT=*PAR(ACCESS=*READ)
ON&FT HOST21,TSOS,ADMINSTR,C'....',DO.SUCCESS,*,DO.FAIL,*
Anstelle von ONX varact [params] kann die Variable Action auch in der Form ONX %name [,jrsave] angegeben werden. %name ist hierbei der Name eines Parameter Sets, unter dem die Variable Action zuvor gesichert wurde. Siehe hierzu Kommando SP VAR%name [,jrsave] in der Dateienliste von CFS. jrsave ist der Name einer von der Standard JRSAVE-Datei abweichenden Datei.
Durch ONX %name [,jrsave] ,? wird der Inhalt der in dem Parameter Set gespeicherten Variablen Action angezeigt.
Durch ONX %? werden alle Parameter Sets angezeigt, in denen Variable Actions gespeichert sind.
Die Definition einer Variablen Action über einen Parameter Set ist besonders nützlich bei umfangreichen SDF-Kommandos, die mit Hilfe des geführten SDF-Dialogs erstellt wurden.
Beispiel:
ON&/MOD-FILE-ATTR?
geführter SDF-Dialog. Es können die Parameterstrukturen des Kommandos ergänzt werden.
SP VAR%MFA,CFS.JRSAVE.TEST
Das im geführten SDF-Dialog ergänzte SDF-Kommando mit Parametern wird mit Hilfe des CFS-Kommandos in einem Parameterset mit Namen %MFA in der Datei CFS.JRSAVE.TEST gespeichert.
Bei einem späteren CFS-Lauf kann das vollständige SDF-Kommando wieder aktiviert werden durch Eingabe der Variablen Action: ONX%MFA,CFS.JRSAVE.TEST
Mit ONX%MFA,CFS.JRSAVE.TEST,? wird ein SDF-Fragebogen aufgeklappt, in dem das in dem Parameter Set gesicherte Kommando zusammen mit den eingegebenen Parametern angezeigt wird.
Namenstransformationsregeln 'str1'='str2' | 'str1'=DS[n][I] | 'str1'=DP[n][I]
Alle Variablen Actions der Form ONX...'str1'='str2', die aus name-1 eines Datenobjekts name-2 bilden, gehen nach einer der folgenden Regeln vor:
'str1'='str2' In name-1 wird das erste Vorkommen der Zeichenfolge 'str1' gesucht und durch 'str2' ersetzt. Das Ergebnis ist name-2.
'str1'=DP[n][I] Delete Prefix: In name-1 wird das erste Vorkommen der Zeichenfolge 'str1' gesucht. Alle (=DP) bzw. die nächsten n links von 'str1' stehenden Zeichen (=DPn) werden gelöscht. Aufgrund des Zusatzes I wird auch das Suchitem 'str1' gelöscht. Das Ergebnis wird in name-2 übertragen.
'str1'=DS[n][I] Delete Suffix: In name-1 wird das erste Vorkommen der Zeichenfolge 'str1' gesucht. Alle (=DS) bzw. die nächsten n rechts von 'str1' stehenden Zeichen (=DSn) werden gelöscht. Aufgrund des Zusatzes I wird auch das Suchitem 'str1' gelöscht. Das Ergebnis wird in name-2 übertragen.
Enthält name-1 die Zeichenfolge 'str1' nicht, so wird die Variable Action für das entsprechende Datenobjekt nicht durchgeführt.
Definitionsgemäß wird der String '_' (Hochkomma Leerzeichen Hochkomma) am Ende eines jeden Namens gefunden. Somit kann durch '_'='.xxx' wird einem Namen ein Suffix '.xxx' angehängt werden. Durch '_'=DP5 werden vom Namensende ausgehend z.B. die letzten fünf Stellen entfernt.
Der Nullstring '' wird nach Definition am Anfang eines jeden Namens gefunden. Somit kann durch ''='xxx.' einem Namen ein Prefix 'xxx.' vorangestellt werden.