%act Benutzerdefinierte Action-Codes
%act Es wird die durch den Mnemo-Code act definierte benutzereigene Verarbeitung für das angekreuzte Datenobjekt ausgeführt.
%nact Die mit dem Mnemo-Code act definierte benutzereigene Verarbeitung wird in der Connection n ausgeführt.
% | %? Es wird eine Übersicht aller in der primären und sekundären USERACT-Datei definierten Mnemo-Codes ausgegeben. Die in der sekundären (zentralen) USERACT-Datei enthaltenen Mnemo-Codes sind hierbei durch das Zeichen '*' gekennzeichnet. Für weitere Informationen siehe unten: "Hierarchie der USERACT-Dateien".
Die Zuordnung der Mnemo-Codes %act zu den gewünschten benutzereigenen Verarbeitungen erfolgt über die Datei CFS.USERACT. Der formelle Aufbau dieser Datei wird im folgenden beschrieben.
Datei CFS.USERACT für benutzereigene Action-Codes
Mit der Datei CFS.USERACT wird dem CFS-Administrator und jedem einzelnen CFS-Benutzer die Möglichkeit geboten, alphanumerischen Mnemo-Codes (%act) individuelle Arbeitsabläufe zuzuordnen. Jeder %-Action-Code kann mit einer BS2000 DO-Prozedur, einer CFS-Prozedur oder einem beliebigen anderen CFS-Kommando verknüpft werden.
Die Datei CFS.USERACT ist eine gewöhnliche mit EDT erstellbare SAM-Datei, die 3 verschiedene Arten von Sätzen kennt:
- Kommentarsätze können an beliebiger Stelle eingestreut werden und beginnen in Spalte 1 mit einem Stern ('*').
- Header-Sätze beginnen in Spalte 1 mit '$'. Ab Spalte 2 folgt
der String '%', gefolgt von einem beliebigen CFS-Kommando. Es kann z.B. ein E-Kommando zum Starten einer DO-Prozedur im Enter über das Job Report-System angegeben werden. Dem Kommando können über Kurzbezeichnungen (siehe unten) die Namen der zu bearbeitenden Datenobjekte mitgegeben werden.
Das anzugebende CFS-Kommando kann in einer oder mehreren Fortsetzungszeilen weitergeführt werden. Hierzu ist am Ende der fortzusetzenden Zeile das Zeichen '-' anzugeben. Die Fortsetzungszeile beginnt mit '$', einem oder mehreren Blanks und dem fortzusetzenden Text. Ein Beispiel hierfür ist weiter unten aufgeführt.
Die Namen der zu bearbeitenden Datenobjekte können über die folgenden Kurzbezeichnungen in das Kommando eingefügt werden:
!NAME | !FILE Name der Datei/Jobvariablen
!ELEMENT Bezeichnung des Bibliothekselements ohne Typ und Version
!LIBRARY Name der Bibliothek, in der das Element enthalten ist
!TYP Typ des Bibliothekselements bzw. Fcbtyp bei Dateien
!VERS Version des Bibliothekselements
!CFN Bei Dateien und JV's: Name des Datenobjekts mit der Benutzerkennung (auch der eigenen)
Bei Bibliothekselementen: bib-name(t/element/vers)
!RFN Bei Dateien und JV's: Name ohne Cat-Id und User-Id.
Hinweise:
Ein Header-Satz kann bis zu 2048 Bytes lang sein. Falls die USERACT-Datei mit EDT bearbeitbar sein soll, ist die maximale Satzlänge auf 256 Bytes begrenzt.
Falls in einem Header-Satz das Kommando E do-proc angegeben ist (z.B. $%E CFS.S.LMSLIB(ASSEMB) ), wird jedes der mit dem Action-Code %act (z.B. %ASS) markierten Datenobjekte unter Überwachung des Job-Report Systems in einem eigenen Enter-Auftrag bearbeitet. Durch %act? wird die Ausgabe der DO-Parameter Maske für die Prozedur erzwungen. Falls in CFS bereits eine Connection mit der Nummer n zu $DIALOG eröffnet ist (z.B. OC1/LOGON ...), kann durch Angabe des Action-Codes %nact die Verarbeitung in der angegebenen Connection im Dialog erfolgen (z.B. %1ASS).
Falls in einem Header-Satz das Kommando FT ohne eine Kurzbezeichnung für Datei- oder Elementnamen wie !NAME, !ELEMENT, usw. angegeben ist (z.B. $%FT ,,,HOST22,TEST2,A001,,,,*BS2000,TO,NO), so wird bei der Ausführung des Kommandos der Name des mit FT zu übertragenden Datenobjekts ergänzt. Die gleiche Funktionalität ist auch über den Action-Code PD (siehe CFS.PDFILE) realisiert. Im Unterschied zu %act sind bei PDmn jedoch nur ein- bis zweistellige Mnemo-Codes mn möglich.
Auf einen Header-Satz folgen ein oder mehrere Mnemo-Code Sätze (%act).
- Mnemo-Code Sätze beginnen in Spalte 1 mit einem alphabetischen Zeichen. Die Felder haben folgendes Format (siehe auch Beispiel weiter unten):
Spalte 1-4 Variabler Teil act des Action-Codes %act (act: alphanumerisch, linksbündig, erstes Zeichen ein Buchstabe).
Spalte 11-80 beliebiger Text (Beschreibung des mit dem Action-Code %act ausgeführten Kommandos bzw. Blank. Die gesamte Liste aller Beschreibungen wird durch Angabe des Action-Codes % bzw. %? am Bildschirm angezeigt.
Zuordnungsalgorithmus: %act <--> erzeugtes Kommando:
Es wird der Mnemo-Code act in der primären USERACT-Datei gesucht. Bezüglich der Suchreihenfolge bei der Ermittlung der primären USERACT-Datei siehe "Hierarchie der USERACT-Dateien", Punkt 1) bis 3) weiter unten.
Wird der Mnemo-Code act in der primären USERACT-Datei nicht gefunden, so wird in der sekundären USERACT-Datei $user-id.CFS.USERACT (siehe unten, Punkt 4) ) weiter gesucht.
Falls act mit einer Ziffer beginnt, wird diese als Connection-Nummer und der Rest als Mnemo-Code interpretiert. Das dem Mnemo-Code zugeordnete Kommando wird in der angegebenen Connection zur Ausführung gebracht.
Falls ein Satz mit der angegebenen Bezeichnung gefunden wurde, wird der vorausgegangene Header-Satz ($...) zur Ermittlung des auszuführenden Kommandos gesucht. Die im Kommando des Header-Satzes enthaltenen Kurzbezeichnungen !NAME, !ELEMENT, !LIBRARY, !TYP, !VERS (siehe oben) werden durch die entsprechenden Namensbestandteile des angekreuzten Datenobjekts ersetzt.
Durch den Action-Code % (bzw. %?) erhält der Benutzer eine Liste aller definierten Mnemo-Codes und deren Zuordnung zu den entsprechenden Kommandos.
Hierarchie der USERACT-Dateien
Die von CFS verwendete USERACT-Datei wird nach der folgenden Hierarchie bestimmt:
1) Existiert ein File-Kommando mit LINK=USERACT (/FILE ...,LINK=USERACT) ?
2) Existiert kein TFT-Eintrag mit dem Namen USERACT, so wird der im LOGON-Kommando angegebene Job-Name (/.jobname LOGON ...) an das Prefix 'CFS.USERACT.' angehängt. Die Datei CFS.USERACT.jobname wird zuerst in der eigenen Benutzerkennung und falls dort nicht vorhanden, in der CFS-Installationskennung (siehe 4) ) gesucht.
3) Wurde beim LOGON-Kommando kein Jobname angegeben oder existiert die Datei CFS.USERACT.name nicht, so wird eine Datei CFS.USERACT unter der eigenen Benutzerkennung gesucht.
4) Existiert keine der oben genannten Dateien, so sucht CFS als letztes nach einer Datei $user-id.CFS.USERACT. $user-id ist die Benutzerkennung, unter der das Programm CFS gespeichert ist (CFS-Installationskennung).
Beispiel für eine Datei CFS.USERACT:
$%E !LIBRARY(ASS),!ELEMENT                                                          
ASS       Übersetzen eines Bibliothekselements mit der Prozedur ASS in gleicher Bibl
$%E $RZ.SYSPROC(COB85),!NAME                                                        
COB       Compilieren einer Datei mit der DO-Prozedur COB85 in $RZ.SYSPROC          
$%FT ,,,HOST11,TEST2,A001,,,,*BS2000,TO,NO                                          
F11       Übertragung per File-Transfer auf V11-Host                                
$%/PRINT !FILE,FORM=L,DEVICE=DR01,-                                                 
$        SPOOL-OUT-OPTIONS=*PAR(..................................................) 
PR        Langes Print-Kommando mit Spool-Options in Fortsetzungszeile              
$%FT ,,,HOST11,TEST2,A001,,,,*BS2000,TO,NO                                          
F11       Übertragung per File-Transfer auf V11-Host                                
$%EDOR,!NAME                                                                        
EDOR      Bearbeiten der Datei mit CFS-Kommando EDOR                                
$%DO PROC1,!NAME                                                                    
P1                                                                                  
1234     <11 ____________________________________________________________________ 2048>
|             |
|             [__ Beliebiger Kommentar. Dieser wird bei Eingabe der Action-Codes % / %? 
|                 bei dem entsprechenden Mnemo-Code angezeigt.
|                 Falls zu einem Mnemo-Code kein Kommentar eingetragen ist, wird in der
|                 Übersichtsmaske das zu dem Mnemo-Code gehörige Kommando (Inhalt
|                 des Header-Satzes) angezeigt.
|                 
|                 
[________________ maximal 4 Stellen Mnemo-Bezeichnung des Action-Codes %act
Ein weiteres Beispiel einer USERACT-Datei ist in der Bibliothek CFS.S.LMSLIB enthalten.