/FILE CFS.STARTUP.BEISPIEL,LINK=CFSCMD
Die CFS-Startup-Datei stellt eine spezielle CFS-Prozedur dar, deren Anweisungen beim Aufruf des Programms automatisch abgearbeitet werden. In der Startup-Datei steht der volle Funktionsumfang von CFS zur Verfügung.
Die ausgelieferte Datei soll einige Standardanwendungsfälle aufzeigen. Die Datei kann durch Anpassung der Parameteranweisungen jederzeit auf die eigenen Bedürfnisse angepaßt werden.
Sollte die Datei CFS.STARTUP.BEISPIEL in der CFS-Installationskennung nicht existieren, so ist diese auch als Element S/CFS.STARTUP.BEISPIEL in der Bibliothek CFS.USERLIB. BEISPIEL enthalten und kann aus dieser Bibliothek selektiert werden.
Beispiele für Standardaktionen in einer Startup-Datei:
- P-Tasten laden
- CFS-Parametereinstellungen verändern (UO, ERT, CP, CSO, ...)
- CFS-Kommandogedächtnis laden
- Benutzerumgebung herstellen (USERLIB, USERACT, ITEM-File, MENUE-File, ...)
- Connections eröffnen
- Termine prüfen
- Umschalten auf die Tastatur bis zum normalen Ende von CFS
- Kommandogedächtnis sicherstellen
- Eröffnete Connections automatisch schließen
Die ausgelieferte Startup-Datei stellt folgende Dateizuordnungen als Voraussetzung zum Testen der in dieser Beschreibung vorgestellten Kommandoprozeduren her:
CFS.USERLIB.BEISPIEL User-Library für CFS-Kommandoprozeduren
CFS.USERACT.BEISPIEL Definitionsdatei für benutzereigene Action Codes
CFS.USERACT.BEISPIEL
Mit den benutzereigenen Action Codes wird dem Administrator und jedem einzelnen Benutzer die Möglichkeit geboten, sich individuelle Arbeitsabläufe über %act, zusätzlich zu den standardmäßig angebotenen Action Codes, bereitzustellen. Jeder dieser benutzereigenen Action Codes kann mit einem CFS-Kommando, einer CFS-Kommandoprozedur oder einer BS2000-Prozedur verknüpft werden. Die nachfolgend beschriebenen Action-Codes werden in der Datei CFS.USERACT.BEISPIEL definiert.
Sollte die Datei CFS.USERACT.BEISPIEL in der CFS-Installationskennung nicht existieren, so ist diese auch als Element S/CFS.USERACT.BEISPIEL in der Bibliothek CFS.USERLIB. BEISPIEL enthalten und kann aus dieser Bibliothek selektiert werden.
Die Datei CFS.USERACT.BEISPIEL muß zum Testen der nachfolgend beschriebenen Action Codes mit LINK=USERACT und die Bibliothek CFS.USERLIB.BEISPIEL als aktuelle USERLIB zugewiesen sein (wird in CFS.STARTUP.BEISPIEL durchgeführt). Ist dies der Fall, so stehen folgende Action Codes zur Verfügung:
Aufruf von CFS-Kommandos
%VSN Anzeige des Allocated Space mit Größe der Extents über alle VSN's
%FC Umsetzung einer Datei mit dem CFS-Kommando FC
%REO Reorganisieren einer Datei/Bibliothek mit Ausweichplatte und Defragment
%FT Filetransfer mit FT-BS2000 und vordefinierten Berechtigungen
%EDR Datei mit EDOR bearbeiten
%PRL Auswahl aller TSN's in TAS, die einen Print-Lock auf die markierte Datei halten
Aufruf von BS2000-Kommandos
%MFA Katalogattribute mit SDF-Kommando /MOD-FILE-ATT auf bestimmte Werte setzen
%CAT Katalogattribute mit ISP-Kommando /CAT auf bestimmte Werte setzen
%SEC Datei mit /SECURE-RESOURCE-ALLOC exclusiv reservieren
%PR Datei mit bestimmten Print-Parametern ausdrucken
%CI Sekundärschlüssel für NK-ISAM Datei erzeugen (mit SDF-Dialog)
Starten von BS2000-DO-Prozeduren mit Parametern im Enter
%ASS Assembler-Übersetzung mit Überwachung im Enter starten (Job-Report)
%COB Cobol-Übersetzung mit Überwachung im Enter starten (Job-Report)
Kombinierte Verwendung von Kommandos und Action Codes durch Aufruf von CFS-Prozeduren
%P0 Katalogattribute ändern mit aktualisieren des Tabelleneintrags
%P1 Katalogattribute ändern mit aktualisieren des Tabelleneintrags
%U FSTAT VTOC=YES und aktualisieren des Tabelleneintrags
%DUPK Prüfen, ob in einer ISAM-Datei doppelte Keys vorhanden sind
%P0, %P1 -> DO CFS.USERLIB.BEISPIEL(PROTECT):
BS2000-Kommando absetzten, auf entsprechenden Eintrag positionieren, Action Code U eintragen, auf ursprünglichen Eintrag zurückpositionieren.
%U -> DO CFS.USERLIB.BEISPIEL(UPDATE-VTOC):
BS2000-Kommando FSTAT ...,VTOC=YES für Datei absetzen, auf entsprechenden Eintrag positionieren, Action Code U eintragen, auf ursprünglichen Eintrag in der Dateienliste zurück-positionieren.
%DUPK -> DO CFS.USERLIB.BEISPIEL(DUPKEY):
Datei mit User Options KEYPOS, KEYLEN, RECFORM auswählen, verzweigen in CFS-Editor, satzweises Vergleichen der ISAM-Keys über Wegschreiben in Prozedurvariablen.
Verzweigen in den CFS-Editor über CFS-Kommandoprozeduren
%DF Entkomprimierte Anzeige von mit FLAM komprimierten Dateien im Display.
%DP Anzeige von mit SHARUPD eröffneten NK-ISAM Dateien.
%DF -> DO CFS.USERLIB.BEISPIEL(DISPLAY-FLAM):
auf markierten Eintrag positionieren, Action Code D eintragen, DA (Data Access) FLAM aktivieren, umschalten auf Tastatur bis CFS-Editor beendet wird, danach auf ursprünglichen Eintrag in der Dateienliste zurückpositionieren.
%DP -> DO CFS.USERLIB.BEISPIEL(DISPLAY-NKISAM):
auf entsprechenden Eintrag positionieren, Action Code D eintragen, falls notwendig SR-Modus (Shared Update) aktivieren, falls mit NKISAM-POOL gearbeitet wird: POOL-Namen aus OPEN-List oder über Prompting anfordern, Kommando /CREATE-ISAM-POOL und /ADD-ISAM-POOL-LINK absetzen, umschalten auf Tastatur bis CFS-Editor beendet wird, danach auf ursprünglichen Eintrag in der Dateienliste zurückpositionieren.
Bearbeiten der Access-Control-List (SECOS) über CFS-Kommandoprozeduren
%A ACL anzeigen
%AC ACL kopieren von einer Datei, die zuvor mit Action-Code * markiert wurde
%AE ACL löschen
%AEU ACL User-Id entfernen
%AEG ACL Group-Id entfernen
%AU User-Id in ACL aufnehmen
%AG Group-Id in ACL aufnehmen
%AX mehrere User-Ids/Group-Ids in ACL aufnehmen
%AM ACL modifizieren
%AMU Rechte für User-Id modifizieren
%AMG Rechte für Group-Id modifizieren
%AMO Rechte für Others modifizieren
-> DO CFS.USERLIB.BEISPIEL(ADD-ACL / MOD-ACL / REM-ACL):
Zum Anzeigen und Verändern der Access-Control-List stehen diese beiden Kommandoprozeduren zur Verfügung. In den Prozeduren werden die notwendigen BS2000-Kommandos in der Form abgesetzt, daß die wichtigsten Parameter schon vorbelegt sind und die fehlenden Informationen im SDF-Dialog vervollständigt werden müssen. Am Ende der Prozeduren wird der jeweilige Eintrag in der Dateienliste aktualisiert.
DO LIB
Die CFS-Prozedur bietet die Möglichkeit, über Kurzcodes, die als Parameter beim Prozeduraufruf mitgegeben werden, häufig benötigte Standardselektionen auszuführen. Je nach Parameter wird das Inhalts-verzeichnis einer Bibliothek angezeigt. Über Stellungsparameter kann ein Kurzcode für die Bibliothek, eine Suchbedingung bezüglich des Elementnamens, eine Typbezeichnung und eine Altersangabe als Auswahlparameter übergeben werden.
Die CFS-Prozedur kann durch Anpassung der Kurzcodes und Bibliotheksnamen auf die eigene Arbeitsumgebung angepaßt werden.
Aufruf:
DO LIB [, code] [, suchanw] [, typ] [, age]
Ohne Angabe von Parametern werden alle Elemente aus einer in der Prozedur definierten Standardbibliothek ausgewählt.
code Es werden alle Elemente der durch code definierten Bibliothek ausgewählt (evtl. auch nur Elemente eines bestimmten Typs).
Wurde ein ungültiger Kurzcode angegeben, so wird als Bibliothek die Standardbibliothek angenommen und die Stellungsparameter logisch um eine Position nach links verschoben. code wird in diesem Fall als Such-anweisung bezüglich des Elementnamens interpretiert.
suchanw Es werden alle Elemente der durch code definierten Bibliothek ausgewählt, in deren Elementnamen der String suchanw vorkommt.
typ Es werden alle Elemente vom Elementtyp typ aus der entsprechenden Bibliothek ausgewählt.
age Es werden alle Elemente mit AGE=age aus der entsprechenden Bibliothek ausgewählt.
Beispiele:
DO LIB Alle Elemente aus der Standardbibliothek (CFS.S.LMSLIB)
DO LIB,U Alle Elemente der Bibliothek CFS.USERLIB.BEISPIEL
DO LIB,C Alle Elemente der Bibliothek CFSLIB
DO LIB,U,CONN Alle Elemente der Bibliothek CFS.USERLIB.BEISPIEL, in deren Elementnamen der String 'CONN' enthalten ist
DO LIB,S,,J Alle Elemente der Bibliothek CFS.S.LMSLIB vom Elementtyp J
DO COMP-LIB
Die CFS-Prozedur bietet die Möglichkeit, die Inhaltsverzeichnisse zweier Bibliotheken darauf hin zu überprüfen, welche Elemente gemeinsam vorhanden, exclusiv vorhanden und neueren Datums sind. Über ein Auswahlmenü können die gewünschten Elemente ausgewählt werden.
Aufruf:
DO COMP-LIB [, LIB1=library] [, LIB2=library] [, TMPIND=tmp]
Ohne Angabe von Parametern wird eine Maske ausgegeben, in der die Bibliotheksnamen und der Tempfile-Indikator angefordert werden.
LIB1=library Name der ersten Bibliothek
LIB2=library Name der zweiten Bibliothek
TMPIND=tmp Einleitungszeichen für temporäre Dateien (STD: #)
DO COMP-PVS
Die CFS-Prozedur bietet die Möglichkeit, die katalogisierten Dateien zweier Pubsets oder User-Ids darauf hin zu überprüfen, welche Dateien gemeinsam vorhanden, exclusiv vorhanden und neueren Datums sind. Über ein Auswahlmenü können die gewünschten Dateien ausgewählt werden.
Aufruf:
DO COMP-PVS [, PVS1=pvs1] [, UID1=user-id1] [, PVS2=pvs2] [, UID2=user-id2] [, TMPIND=tmp]
Ohne Angabe von Parametern wird eine Maske ausgegeben, in der die Werte für die PVS-Id, User-Id und der Tempfile-Indikator angefordert werden.
PVS1=pvs1 Public-Volume-Set der ersten Benutzerkennung
UID1=user-id1 Name der ersten Benutzerkennung
PVS2=pvs2 Public-Volume-Set der zweiten Benutzerkennung
UID2=user-id2 Name der zweiten Benutzerkennung
TMPIND=tmp Einleitungszeichen für temporäre Dateien (STD: #)
DO DUPKEY
Die CFS-Prozedur prüft, ob in einer vorgegebenen ISAM-Datei doppelte Schlüssel enthalten sind und gibt diese am Bildschirm aus. Am Ende wird die Gesamtzahl der gefundenen doppelten ISAM-Schlüssel am Bildschirm ausgegeben. Die für die Verarbeitung notwendigen Informationen KEYPOS, KEYLEN und RECFORM werden in der Prozedur ermittelt.
Aufruf:
DO DUPKEY [, datei] [, OUT=N]
Ohne Angabe von Parametern wird der Dateiname und der Indikator, ob doppelte Schlüssel am Bildschirm ausgegeben werden sollen, in einer Maske angefordert.
datei Es wird für die angegebene Datei geprüft, ob doppelte Schlüssel vorhanden sind. Die Ausgabe der Parametermaske entfällt.
OUT=N Die Anzeige der doppelten Schlüssel wird unterdrückt.
DO WRITE-MN
Die CFS-Prozedur schreibt bestimmte Datensätze der aktuell angezeigten Display-Datei in eine zweite Datei. Über Parameter kann eine CFS-Suchbedingung für die Treffersätze übergeben werden. Außerdem ist es möglich auch Datensätze im Umfeld der Treffersätze mit wegzuschreiben ( m Sätze vor und n Sätze nach dem Treffer ).
Aufruf:
DO WRITE-MN [, ITEM=such] [, WFILE=datei] [, M=m] [, N=n]
Ohne Angabe von Parametern wird eine Maske ausgegeben, in der die Suchanweisung, der Name der Ausgabedatei und die Anzahl Datensätze vor und nach dem Treffer angefordert werden.
ITEM=such Datensätze, in denen die durch such spezifizierte CFS-Suchbedingung erfüllt ist, werden als Treffersätze behandelt und weggeschrieben.
WFILE=datei Die gewünschten Datensätze werden in die Ausgabedatei geschrieben.
M=m Zusätzlich zum Treffersatz werden die letzten m Sätze vor dem Treffer in die Ausgabedatei geschrieben (Standard: 0).
N=n Zusätzlich zum Treffersatz werden n Sätze nach dem Treffer in die Ausgabedatei geschrieben (Standard: 0).
DO WRITE-BIS-TREFFER
Die CFS-Prozedur schreibt alle Sätze ab der aktuellen Anzeigeposition in der Display-Datei bis zu einem vorgegebenen Treffer in eine zweite Datei. Über Parameter kann die Suchbedingung für den Treffer angegeben werden.
Aufruf:
DO WRITE-BIS-TREFFER [, ITEM=such] [, WFILE=datei]
Ohne Angabe von Parametern wird eine Maske ausgegeben, in der die CFS-Suchanweisung und der Name der Ausgabedatei angefordert werden.
ITEM=such Der erste Datensatz, bei dem die durch such spezifizierte Suchbedingung erfüllt ist, wird als Treffersatz behandelt. Das Übertragen von Sätzen in die Ausgabedatei wird bei diesem satz beendet.
WFILE=datei Die Datensätze bis zum Treffer werden in die Ausgabedatei geschrieben.
DO WRITE-PART
Die CFS-Prozedur sucht in der aktuell angezeigten Display-Datei nach einem vorgegebenen String und schreibt ab dem Suchstring n Bytes als Recform=V Sätze in eine Datei.
Aufruf:
DO WRITE-PART [, ITEM=string] [, WFILE=datei] [, LEN=n]
Ohne Angabe von Parametern wird eine Maske ausgegeben, in der der Suchstring, der Name der Ausgabedatei und die Länge der zu erzeugenden Datensätze angefordert werden.
ITEM=string Ab dem Suchstring string wird jeweils ein eigener Datensatz in der vorgegebenen Länge geschrieben.
WFILE=datei Die gewünschten Teile der Datensätze werden in die Datei datei geschrieben.
LEN=n Ab dem Suchbegriff werden n Bytes als Datensatz weggeschrieben.
DO DEL-STRING
Die CFS-Prozedur entfernt abhängig von einem vorgegebenen Suchbegriff bestimmte Teile aus den Datensätzen. Über Parameter kann der Suchbegriff, der Offset zum Suchbegriff, ab dem gelöscht werden soll und die Länge des zu löschenden Teils übergeben werden.
Die CFS-Prozedur setzt voraus, daß die zu bearbeitende Datei entweder eine ISAM-Datei ist oder mittels des Kommandos IS bereits im ISAM-Modus angezeigt wird.
Durch modifizieren der Verarbeitungsanweisung (S1,'...'='',C) kann die Prozedur auch zum Einfügen bzw. Ersetzen von Strings verwendet werden.
Aufruf:
DO DEL-STRING [, ITEM=string] [, OFFSET=offs] [, LEN=n]
Ohne Angabe von Parametern wird eine Maske ausgegeben, in der der Suchstring, der Offset zum Suchbegriff und die Länge des zu löschenden Teils angefordert werden.
ITEM=string Suchstring string in dessen Umfeld vorgegebene Datenbytes entfernt werden sollen.
OFFSET=offs Distanz offs zum Anfang des Suchstrings, ab dem in der gewünschten Länge gelöscht werden soll (Standard: 0).
LEN=n Ab dem vorgegebenen Suchbegriff und Offset werden n Datenbytes aus den Datensätzen entfernt.
DO INS-HEADER
Diese Prozedur soll zeigen, daß neben dem Löschen, Einfügen oder Ersetzen von Strings auch die Möglichkeit besteht, in bestimmten Situationen auch Datensätze in eine bestehende Datei einzufügen. In einer Testdatei werden bestimmte Satzinhalte dahingehend geprüft, daß bei einem Wechsel der Prüffelder neue Datensätze eingefügt werden (z.B. Gruppenwechsel, Überschriften, ...).
DO OC
Die CFS-Prozedur eröffnet je nach Parameterübergabe Connections zu bestimmten vordefinierten Anwendungen bzw. bei $DIALOG, in bestimmte Benutzerkennungen. Die Prozedur stellt eine flexible Alternative zum CFS-Menüsystem für Connections (automatisierter Aufbau über vordefinierte Verbindungen) dar. Die Prozedur kann beliebig erweitert werden und muß an die individuelle Umgebung angepaßt werden (User-Id, Account, Passwort, UCON-Berechtigung, KDCSIGN, ...).
Aufruf:
DO OC [, id] Es wird eine Connection in die gleiche Benutzerkennung (gleiche Abrechnungs-nummer, gleicher Host) eröffnet, unter der der CFS-Grundtask läuft. Ein vorhandenes Logon-Passwort wird über BS2000-Prompting angefordert.
id Über den Stellungsparameter id kann eine bestimmte vordefinierte Verbindung aufgebaut werden. Der übergebene String id wird als Label interpretiert und es werden die in der Prozedur an dieser Stelle hinterlegten OC-Anweisungen zur Ausführung gebracht.
Beispiele:
DO OC,TSOS Anwendung $DIALOG, Kennung $TSOS, gleicher HOST
DO OC,TSOS11 Anwendung $DIALOG, Kennung $TSOS, Rechner HOST11
DO OC,KURS Anwendung $DIALOG, Kennung $KURS, gleicher HOST
DO OC,UTMTEST Anwendung UTMTEST mit automatischer Anmeldung
DO OC,CONS Anwendung $CONSOLE, gleicher HOST
DO OC,CONS11 Anwendung $CONSOLE, Rechner HOST11
DO UTM-OC
Die CFS-Prozedur stellt Ihnen eine Verbindung zur UTM-Anwendung TEST zur Verfügung. Falls schon eine Connection zu dieser Anwendung existiert, wird in diese Verbindung verzweigt. Ansonsten ermittelt die Prozedur die nächste freie Connection, baut die Verbindung auf und setzt die hinterlegten Eingaben (z.B. KDCSIGN, RES datei, ...) automatisch ab.
Die gleiche Funktionalität steht auch in der Prozedur OC zur Verfügung ( DO OC,UTMTEST ).
Die nachfolgenden Prozeduren stellen eine Verbindung zu $CONSOLE zur Verfügung. Falls schon eine Connection zu $CONSOLE besteht, wird in diese Connection verzweigt (Continue in Connection). Existiert die Konsolverbindung noch nicht, so wird diese aus der Prozedur, gemäß den hinterlegten Berechtigungen, aufgebaut und anschließend die Kontrolle an die Tastatur übergeben. Sobald der Benutzer die Konsolverbindung verläßt, wird diese automatisch abgebaut.
DO CONSOLE-OC
Die CFS-Prozedur stellt eine Konsolverbindung über eine generierte Nebenkonsole mit allen Eingabemöglichkeiten zur Verfügung.
Vor Aufruf der Prozedur muß die UCON-Userid und das Passwort angepaßt werden.
DO CONSOLE-OC-DYN
Die CFS-Prozedur stellt eine dynamische, nicht vorgenerierte Konsolverbindung zur Verfügung, für die eine hinterlegte Operator-Role zugewiesen wird. Diese Variante des Verbindungsaufbaus steht ab BS2000 OSD/V1.0 zur Verfügung.
Vor Aufruf der Prozedur muß die User-Id, das Passwort und die Operator-Role angepaßt werden.
DO CONSOLE-OHNE-INPUT
Die CFS-Prozedur stellt eine Verbindung zu $CONSOLE zur Verfügung, wobei die Meldungen am Bildschirm ausgegeben werden, der Benutzer jedoch keine Eingabemöglichkeit erhält.
Die Prozedur kann durch zweimaliges Betätigen der K2-Taste beendet werden.
Vor Aufruf der Prozedur muß die UCON-Userid und das Passwort angepaßt werden.
DO VMCONS-OC
Die CFS-Prozedur baut eine Verbindung zu $VMCONS (Virtuelle Maschine VM2000) auf, wobei ein VM-Dialog gemäß den hinterlegten Eingaben zur Verfügung gestellt wird.
Sobald der Benutzer die VM-Konsole verläßt, wird diese automatisch wieder abgebaut.
Vor Aufruf der Prozedur muß eventuell das für $VMCONS definierte Passwort angepaßt werden.
/ENTER CFS.USERLIB.BEISPIEL(AUTOMATIC-CONSOLE)
In dieser BS2000-Prozedur wird CFS aufgerufen und eine Verbindung zu $CONSOLE eröffnet. Auf bestimmte Meldungen, die in dieser Konsolverbindung ausgegeben werden, können beliebige Reaktionen festgelegt werden.
- ausstehende Anfragen können automatisch beantwortet werden.
- von Benutzern unter bestimmten Kennungen können über TYPE Kommandos übergeben werden, die an der Konsole ausgeführt werden.
Vor Start der Prozedur muß die UCON-Userid und das Passwort angepaßt werden. Außerdem sollten, um den Aufwand möglichst gering zu halten, nicht benötigte Meldungsschlüssel mit /ASR für die UCON-Berechtigung entfernt werden.
Im Bibliothekselement CFS.USERLIB.BEISPIEL(D/KONSOLMELDUNGEN) sind die Meldungen hinterlegt, auf die die Prozedur reagieren soll.
Beispiel:
'NKVT012 PREMOUNT TAPE'+:1-20:'?' .MOUNT
'SYSTEMDUMP DESIRED'+:1-20:'?' .SYSDUMP
'CFSCON:' .CFSCONSOLE
'TERMINATE CONSOLE' .EXIT
Jeder Datensatz dieses Bibliothekselements besteht aus einer CFS-Suchanweisung bezüglich des Inhalts der Konsolmeldung und einem SKIP-Label.
Ist eine Suchanweisung erfüllt, d.h. eine Treffermeldung wurde ausgegeben, so wird das hinterlegte SKIP-Label (.label) in eine CFS-interne Variable mit dem Namen &SLABEL eingetragen und in der Prozedur zur Verarbeitung an die entsprechende Stelle verzweigt.
DO PROCESS-LIST
Die CFS-Prozedur stellt einen Rahmen für die Bearbeitung aller in der aktuellen Dateienliste sichtbaren Einträge dar (mit Action Code - ausgeblendete Datenobjekte werden nicht bearbeitet). Als Verarbeitung stehen alle CFS-Funktionen (Kommandos, Action-Codes, Variable Actions) zur Verfügung.
Zur Demonstration wurde als Verarbeitung das Austauschen von Strings gleicher Länge in den Dateiinhalten gewählt (ohne mit FIND-REWR zu arbeiten).
Die CFS-Prozedur kann durch modifizieren der Verarbeitungsanweisungen für individuelle Anwendungsfälle angepaßt werden.
Aufruf:
DO PROCESS-LIST [, OLD=str1 , NEW=str2]
Ohne Angabe von Parametern werden der Such- und der Ersetzstring in einer Maske ange-fordert.
OLD=str1 , NEW=str2
Es wird in allen Sätzen der in der Liste sichtbaren Datenobjekte nach dem String str1 gesucht und dieser durch den String str2 ersetzt. Wichtig ist, daß Such- und Ersetzstring die gleiche Länge haben, da CFS standardmäßig nicht mit Ein-/Ausfügen arbeitet (nur möglich im ISAM-Modus!).
Falls die Bearbeitung für ein Datenobjekt fehlerhaft ist, wird eine entsprechende Fehlermeldung mit dem DMS-Errorcode ausgegeben und die Verarbeitung mit dem nächsten Datenobjekt fortgesetzt.
DO TERMIN
Die CFS-Prozedur bietet die Möglichkeit, über das CFS-Terminverwaltungssystem auf eine vorgegebene Termindatei zuzugreifen. Als Aktionen stehen die Anzeige aller offenen Termine, aller bzw. ausgewählter Termine und die Neuaufnahme von Terminen zu einem beliebigen Datum zur Verfügung.
Die Prozedur verwendet standardmäßig die Termindatei CFS.ITEM.jobname.
Über Parameter können die Aktion (Anzeige, Neuaufnahme), der Zugriff auf offene/alle Termine, ein Suchstring für den Termintext sowie Datum und Uhrzeit für die Neuaufnahme beeinflußt werden.
Aufruf:
DO TERMIN Es werden alle offenen Termine aus der zugewiesenen Termindatei angezeigt.
DO TERMIN , datum [, ...]
datum Es werden alle offenen Termine aus der zugewiesenen Termindatei für den Tag datum angezeigt. Für datum kann auch +n (alle Termine von heute bis heute+n Tage) angegeben werden.
TEXT=string Es werden alle offenen Termine aus der zugewiesenen Termindatei angezeigt, die im Termintext den String string enthalten. string steht für eine einfache oder mehrfache Suchanweisung.
ALL=Y
Es werden alle (inklusive der bereits erledigten STATE=OK) Termine aus der zugewiesenen Termindatei angezeigt.
DO TERMIN , ADD [, ...]
ADD Es wird eine Maske zur Neuaufnahme eines Termins für den aktuellen Tag mit der aktuellen Uhrzeit ausgegeben. (z.B. Aufnahme von Kurzinfos).
datum [, uhrzeit] Es wird eine Maske zur Neuaufnahme eines Termins für den durch datum festgelegten Tag und der durch uhrzeit festgelegten Zeit ausgegeben.
DO LIST
Die CFS-Prozedur bietet die Möglichkeit, sich die Datensätze von bestimmten Datenobjekten druckaufbereitet in eine Datei ausgeben zu lassen. Am Anfang der Ausgabedatei wird ein Inhaltsverzeichnis erzeugt.
In der Prozedur wird eine Variable Action (ONXLIST) definiert. Der Benutzer wird aufgefordert, die zu bearbeitenden Datenobjekte mit dem Action Code X zu markieren. Sobald der Benutzer das Ende der Dateienliste einmal quittiert hat bzw. die Ausführung der Variablen Action durch das Kommando A forciert hat, wird die Ausgabedatei erzeugt, die Terminierungsabfrage durch die Prozedur beantwortet und anschließend die Ausgabedatei mit dem Action Code PD auf einem vordefinierten Drucker ausgegeben.
Aufruf:
DO LIST [, datei] Es werden alle mit X markierten Datenobjekte in einer Ausgabedatei (Standard: #LIST.TOC) aufgelistet und anschließend ausgedruckt.
datei Name der Ausgabedatei.
DO RUN-DATE
Die CFS-Prozedur ist eine Demonstration für die Funktionalität des RUN-Moduls DATE, das in CFS-Prozeduren allgemeine Prüfungen und Berechnungen in Verbindung mit einem bestimmten Datum zur Verfügung stellt.
Die *RUN (DATE) Anweisung greift zur Analyse und Berechnung von Datumsangaben automatisch auch auf eine eventuell vorhandene Datei CFS.IFREE zu, in der zusätzliche arbeitsfreie Tage, regionale Feiertage usw. hinterlegt werden können (siehe Terminverwaltung).
Die angebotenen Datumsfunktionen können zur Plausibilitätsprüfung von Datumseingaben und zur terminabhängigen Verarbeitung in Jobs verwendet werden. So ist es zum Beispiel sehr einfach möglich, am Anfang eines Jobs (z.B. eines täglichen Repeat-Jobs) festzustellen, ob heute der erste Arbeitstag im Monat, der erste Arbeitstag der Woche, oder ein Feiertag ist. Abhängig vom Returncode kann ein Benutzerschalter oder eine Jobvariable verändert werden, aufgrund dessen im Job entsprechend verzweigt wird (z.B. Verarbeitung oder sofortiges Abmelden mit LOGOFF).
Es stehen eine Vielzahl von Funktionsaufrufen zur Verfügung:
VALID gültiges Datum ?
FREE Feiertag ?
DDD laufender Tag des Jahres
WW Kalenderwoche
WD Arbeitstag ?
DW Wochentag codiert in der Form: Mo=1, Die=2, ...
DW-G Wochentag in deutsch
DW-E Wochentag in englisch
+n Datum plus n Tage
-n Datum minus n Tage
WDN nächster Arbeitstag
WDP vorheriger Arbeitstag
WDF erster Arbeitstag für das angegebene Monat
WDL letzter Arbeitstag für das angegebene Monat
WW1 Datum des Montags für die angegebene Kalenderwoche
DO RUN-DATE-CAL
Die CFS-Prozedur erstellt für ein vorgegebenes Jahr über die *RUN (DATE) Funktionen eine Kalenderdatei mit den Informationen Datum, Wochentag, Feiertag, Arbeitstag, Kalenderwoche und laufender Tag des Jahres.
Der Name der Kalenderdatei, sowie das gewünschte Jahr wird bei Prozeduraufruf über eine Parametermaske angefordert.
DO INFO
Die CFS-Prozedur bietet die Möglichkeit, in einer vorgegebenen Datei (z.B. Telefonliste, Namensliste, Firmenliste, usw.) nach beliebigen Strings zu suchen und sich alle Treffersätze am Bildschirm ausgeben zu lassen. Falls nur ein Treffersatz vorhanden ist, wird dieser in der Systemzeile ausgegeben. Wurden mehrere Treffersätze gefunden, so werden diese mit WROUT am Bildschirm angezeigt und die Prozedur mit PLEASE ACKNOWLEDGE bis zur Quittierung angehalten. Am Ende der Prozedur wird in die ursprüngliche Dateienliste zurückgekehrt.
In der Prozedur wird die vorgegebene Datei selektiert, mit dem Action Code D in den CFS-Editor verzweigt, Inhalte der Treffersätze in Prozedurvariablen geschrieben, die Inhalte der Prozedurvariablen am Bildschirm ausgegeben und am Ende mit RL wieder in die ursprüngliche Dateienliste zurückgekehrt.
Die Prozedur verwendet standardmäßig eine Testdatei aus der CFS.USERLIB.BEISPIEL als Datenbasis und kann durch Änderung des Dateinamens auf die eigene Arbeitsumgebung angepaßt werden.
Aufruf:
DO INFO [, string] Ohne Angabe des Parameters string werden von allen Datensätzen der Datenbasis jeweils die ersten 80 Bytes angezeigt.
string Es werden nur Datensätze der aktuellen Datenbasis angezeigt, die den String string enthalten.
DO INFO-MASK
Die CFS-Prozedur bietet dieselben Möglichkeiten, wie in der vorher beschriebenen Prozedur INFO, jedoch werden die Treffersätze aufbereitet in einer FHS-Maske (mit *RDMASK) am Bildschirm angezeigt.
Vor Aufruf der Prozedur muß der Name der FHS-Bibliothek MFHSROUT eventuell im Prozedurkopf angepaßt werden (Standard: $FHS.MFHSROUT).
Aufruf:
DO INFO-MASK [, string] Ohne Angabe des Parameters string werden alle Datensätze aufbereitet angezeigt. Die Prozedur kann durch Betätigung der K1-Taste abgebrochen werden.
string Es werden nur Datensätze aufbereitet angezeigt, die den String string enthalten.
E CFS.USERLIB.BEISPIEL(MOVE-FILES)
Diese BS2000-ENTER-Prozedur bietet die Möglichkeit, eine vorgegebene Gruppe von Datenobjekten auf eine bestimmte Privatplatte oder ein bestimmtes Pubset zu legen (ON&MOVE).
In der Prozedur wird CFS im Basismodus aufgerufen (SETSW ON=11, *001). Im Basismodus steht nur ein Teil des Funktionsumfangs von CFS zur Verfügung (Selektion, Variable Actions, Documentation).
E CFS.USERLIB.BEISPIEL(FIND-REWR)
Diese BS2000-DO-Prozedur bietet die Möglichkeit, in einer vorgegebenen Gruppe von Datenobjekten (mehrere Bibliotheken, SAM-, ISAM- und PAM-Dateien) nach Treffersätzen mit ganz bestimmten Strings (CFS-Suchanweisung) zu suchen, diese in eine Trefferdatei zu schreiben, die Trefferdatei zu editieren (EDT oder CFS-Display) und die geänderten Datensätze wieder in die Ursprungsdatenobjekte zurückzuschreiben.
In der Prozedur wird CFS im erweiterten Prozedurmodus aufgerufen (SETSW ON=1, *002). In diesem steht der volle Funktionsumfang von CFS ohne Einschränkungen zur Verfügung.
Die Prozedur verwendet standardmäßig eine Testdatei aus der CFS.USERLIB.BEISPIEL als Datenbasis und kann durch Änderung des Dateinamens auf die eigene Arbeitsumgebung angepaßt werden.
DO FT-PAR
Die CFS-Prozedur bietet die Möglichkeit, für verschiedene Rechner individuelle Filetransferberechtigungen zu hinterlegen, die automatisch in der Filetransfermaske von CFS eingetragen werden. Die so eingetragenen Werte gelten fortan als Standard für alle FT-Aktionen, bis sie manuell oder prozedural geändert werden.
Die CFS-Prozedur kann durch Anpassung der Labels und der FT-Kommandos auf die eigene Arbeitsumgebung angepaßt werden.
Aufruf:
DO FT-PAR [, host] [, direction]
Ohne Angabe des Parameters host wird der in der Prozedur als Standard definierte Rechner und die dazugehörige Transferadmission (User-id, Account, Password bzw. FTAC-Transferadmission) in der FT-Maske eingetragen.
host Es wird die für den Partnerrechner host hinterlegte Transferadmission (User-id, Account, Password bzw. FTAC-Transferadmission) in der FT-Maske einge-tragen. Wurde ein ungültiger Host angegeben, so wird eine Fehlermeldung ausgegeben.
direction Über den zweiten Stellungsparameter direction kann die Übertragungsrichtung (TO/FROM) beeinflußt werden (Standard: TO).
Neben der prozeduralen Versorgung der FT-Maske stehen noch weitere Möglichkeiten des vordefinierten Filetransfers zur Verfügung:
- Abspeichern der Eintragungen in der FT-Maske mit dem Kommando SPFT %name als Parameterset. Damit stehen die Eintragungen für die spätere Verwendung im FT-Kommando bzw. der Variablen Action zur Verfügung: z.B. ONXFT %HOST10
- Verwendung eines benutzereigenen Action Codes, hinter dem sich ein FT-Kommando mit Parametern für die markierte Datei verbirgt z.B. %FT aus CFS.USERACT.BEISPIEL
E CFS.USERLIB.BEISPIEL(FT-INHALT)
Die BS2000-DO-Prozedur bietet die Möglichkeit, über eine Inhaltsdatei (FSTAT-Liste, CFS-DOC-Datei, ...) mehrere Dateien von einem Partnerrechner mit FT-BS2000 abzuholen. Es wird zuerst die Inhaltsverzeichnisdatei abgeholt und anschließend über OLDLIST mit der Variablen Action ON&FT bearbeitet. Dadurch werden alle in der Inhaltsdatei aufgeführten Dateien (asynchron) zum eigenen Host übertragen.
In der Parametermaske des Job-Report muß der Name der Inhaltsdatei, der Name des Partner-rechners und die Transferadmission versorgt werden.
DO JR-PARMASK
Die CFS-Prozedur soll die verschiedenen Varianten der Parameteranforderung für CFS-Kommandoprozeduren, für BS2000-DO- bzw. S-Prozeduren über die Job-Report Parametermaske von CFS aufzeigen.
Über Texte in Doppelhochkommas können anstelle der Parameternamen beliebige Kommentare eingeblendet werden (z.B. gültige Eingabewerte für den Parameter).
Zusätzlich besteht die Möglichkeit, die Parameter dunkelgesteuert anzufordern (":D..." Secret Prompt) bzw. für lange Parametereingaben zusätzliche Eingabezeilen zur Verfügung zu stellen (":#1..." eine Zeile zusätzlich).
DO APPL
Die CFS-Prozedur verzweigt in die Komponente TAS (Task Services) und gibt den Status aller Anwendungen bzw. einer bestimmten Anwendung am Bildschirm aus. Die angezeigten Informationen umfassen die Applikationsnamen, Anzahl logischer Verbindungen, Anzahl Ein- und Ausgabenachrichten, Bytes-IN und Bytes-OUT.
Aufruf:
DO APPL [, appl [, CON] ] Ohne Angabe von Parametern wird eine Liste aller Anwendungen angezeigt.
appl Es wird nur die Anwendung appl angezeigt. Alle anderen Anwendungen werden mit dem Action Code '-' ausgeblendet.
CON Es werden die aktuell bestehenden logischen Verbindungen zur Anwendung appl angezeigt.
ACTION-Codes in der APPLICATION-Liste:
CON Liste aller Partner einer Applikation anzeigen.
DO UTM
Die CFS-Prozedur verzweigt in die Komponente TAS (Task Services) und gibt eine Liste aller UTM-Anwendungen bzw. einer bestimmten UTM-Anwendung am Bildschirm aus. Die angezeigten Informationen umfassen den Anwendungsnamen (Namemanager-Eintrag), Scope und die TSN der jeweiligen UTM-Tasks.
Aufruf:
DO UTM [, anw [, CON|D] ] Ohne Angabe von Parametern wird eine Liste aller UTM-Anwendungen angezeigt.
anw Es wird nur die UTM-Anwendung anw angezeigt und alle anderen mit dem Action Code '-' ausgeblendet.
CON Es werden die aktuell bestehenden logischen Verbindungen zur UTM-Anwendung anw angezeigt.
D Es wird eine spezielle Informationsmaske für die UTM-Anwendung anw mit wichtigen UTM-Statusinformationen angezeigt. In dieser Maske können über die Kommandos KTA, KAA, ROOT, MPUTAREA, RSTAREA, FORMIO und FORMBR die verschiedenen UTM-Bereiche im Display-Format ausgegeben werden.
ACTION-Codes in der NAMEMANAGER-Liste UTM (Auszug):
CON Liste aller Partner der UTM-Anwendung anzeigen.
D UTM-Informationsmaske anzeigen.
DO DSSM
Die CFS-Prozedur verzweigt in die Komponente TAS (Task Services) und gibt den Status aller im Subsystem-Katalog generierten Subsysteme bzw. eines bestimmten Subsystems am Bildschirm aus. Die Informationen umfassen u.a. den Subsystem-Namen, Version, aktueller Zustand, Ladeadresse, Holder-Task, Speicherklasse und Anzahl Verbindungen zu dem Subsystem.
Aufruf:
DO DSSM [, ACT|subsys [, CON] ]
Ohne Angabe von Parametern wird eine Liste aller generierten Subsysteme angezeigt.
ACT Es werden nur die Subsysteme angezeigt, die sich im Zustand CREATED befinden.
subsys [, CON] Es wird nur das Subsystem subsys angezeigt.
CON Es wird eine Liste der Tasks angezeigt, die momentan mit dem Subsystem subsys verbunden sind.
ACTION-Codes in der DSSM-Liste (Auszug):
NP Auswahl aller Tasks, die mit diesem Subsystem verbunden sind
L Liste aller Module des Subsystems
CR Subsystem aktivieren
DEL Subsystem entladen
HOLD Kommando HOLD-SUBSYSTEM
RES Kommando RESUME-SUBSYSTEM
DO FT
Die CFS-Prozedur verzweigt in die Komponente TAS (Task Services) und gibt den Status aller im Netzbeschreibungsbuch von FT (File-Transfer) definierten Partnersysteme bzw. eines bestimmten Partnersystems. Die Informationen umfassen u.a. den REMSYS-Namen, SYSADR, RELADR, den aktuellen Zustand, Security-Level und Anzahl der vorhandenen Aufträge (LOC/REM).
Aufruf:
DO FT [, ACT|partner] Ohne Angabe von Parametern wird eine Liste aller vorhandenen FT-BS2000 Partnersysteme angezeigt.
ACT Es werden nur die FT-BS2000 Partnersysteme angezeigt, für die momentan Aufträge vorhanden sind.
partner Es wird der Zustand des angegebenen FT-BS2000 Partnersystem partner angezeigt.
ACTION-Codes in der FJAM-Liste:
NP Auswahl aller Filetransferaufträge mit diesem FT-BS2000 Partnersystem in CFS (NSTAT-Selektion).
DO FTAC
Die CFS-Prozedur greift im CFS-Editor direkt auf die Datei $SYSFJAM.SYSFSA zu und gibt die gewonnenen FTAC-Profil-Informationen in einer IFG-Maske am Bildschirm aus. Die Prozedur ist unter der Kennung TSOS aufzurufen.

Durch Klicken mit der Maus erhalten Sie eine Beschreibung zum gewünschten Feld.
Die angezeigten Informationen umfassen folgende Profileigenschaften:
OWNER-ID Benutzerkennung des Eigentümers des Profils
NAME Name des FTAC-Profils
INI Initiator (LOCal/REMote)
DIR Transfer-Direction (TO/FROM)
FILENAME vorgegebener Datei-/Bibliotheksname (FILE/LIBRARY/*EXP/*EXP(LIB))
SUCC lokales Success-Processing (NONE/YES/*EXP)
FAIL lokales Failure-Processing (NONE/YES/*EXP)
WRI Write-Mode (EXTend/REPlace/NEW)
IGN-LEV Ignorieren von Security-Levels (Y/N)
EXP Expiration-Date für Profil vorhanden (Y/N) (ab FTAC 2.0)
LCK Profil gesperrt (Y/N) (ab FTAC 2.0)
Aufruf:
DO FTAC [, TRANS [,suchanw] | PARTNER ] [, UID=userid] [, FILE=datei]
Ohne Angabe von Parametern wird eine Liste aller FTAC-Profile aller User-Ids mit den Standard-Informationen angezeigt.
TRANS Es wird die TRANSFER-ADMISSION in der Liste angezeigt. Als zweiter Stellungsparameter suchanw kann eine Suchbedingung bezüglich der Transferadmission angegeben werden.
PARTNER Anstelle von FAIL und WRI wird der PARTNER-Name angezeigt.
UID=userid Es werden nur die Profile der Benutzerkennung userid angezeigt.
FILE=datei Es wird eine Ausgabedatei datei mit den gewünschten Profil-Informationen erzeugt.
COMMAND-Eingaben in der FTAC-Maske (Auszug):
+ | - blättern in der Liste
/cmd BS2000-Kommandos absetzen
DOC datei Datei mit Profilinformationen erstellen
ACTION-Eingaben in der FTAC-Maske (Auszug):
D Profil anzeigen (SHOW-FT-PROFILE)
M Profil modifizieren (MOD-FT-PROFILE)
P Profil privilegieren
U Profil die Privilegierung entziehen
L Profil sperren (LOCK ab FTAC V2.0)
UL Profil entsperren (UNLOCK ab FTAC V2.0)
DO PDT
Die CFS-Prozedur verzweigt in die Komponente TAS (Task Services) und gibt den Status aller generierten Geräte bzw. den Status eines bestimmten Gerätes am Bildschirm aus. Die angezeigten Informationen umfassen Volume, Device-Mnemonic, Geräte-Typ, Geräte-Zustand (ATTACHED, DETACHED), Geräteadressen und Anzahl IO's seit Startup.
Aufruf:
DO PDT [, ATT|mn] Ohne Angabe von Parametern wird eine Liste aller generierten Geräte angezeigt.
ATT Es werden nur die Geräte angezeigt, die sich im Zustand ATTACHED befinden.
mn Es wird nur das Gerät mit dem Mnemonic mn angezeigt.
ACTION-Codes in der PDT-Liste (Auszug):
NP Auswahl aller Tasks, die momentan Dateien auf diesem Volume im Zugriff haben.
DO FEP
Die CFS-Prozedur verzweigt in die Komponente TAS (Task Services) und gibt den Status aller definierten Prozessoren bzw. eines bestimmten Prozessors am Bildschirm aus. Die angezeigten Informationen umfassen Name des Prozessors, Typ, Network-Address, IP-Address, aktueller Status (BCIN, BCACT, ...) und Typ des Protokolls.
Aufruf:
DO FEP [, ACT|proc] Ohne Angabe von Parametern wird eine Liste aller in BCAM definierten Prozessoren angezeigt.
ACT Es werden nur Prozessoren angezeigt, die sich im Zustand BCACT befinden.
proc Es wird nur der Prozessor mit dem Namen proc angezeigt.
ACTION-Codes in der FEP-Liste:
NP Auswahl aller $DIALOG Tasks, die über den ausgewählten Prozessor ange-schlossen sind.
DO POOL
Die CFS-Prozedur verzweigt in die Komponente TAS (Task Services) und gibt den Status aller existierenden bzw. eines bestimmten Memory Pools am Bildschirm aus. Die angezeigten Informationen umfassen u.a. den POOL-Namen, Scope, Ladeadresse, Fixed-Attribut, Anzahl angeforderter Speicherseiten und Write-Status.
Aufruf:
DO POOL [, EDT|pool [, PROG] ]
Ohne Angabe von Parametern wird eine Liste aller existierenden Memory Pools angezeigt.
EDT Es wird im EDT eine Liste aller existierenden Memory Pools und der jeweils verbundenen Tasks angezeigt. Dieselbe Funktionalität wird auch durch die Prozedur MEMORY-POOL-ALL realisiert.
pool [, PROG] Es wird nur der angeforderte Memory Pool pool angezeigt.
PROG Es werden alle mit dem Memory Pool pool verbundenen Tasks angezeigt. Als Taskinformation wird der Name des geladenen Programms ausgegeben.
ACTION-Codes in der POOL-Liste (Auszug):
D Inhalt des entsprechenden Pools anzeigen
NP Auswahl aller Tasks, die an diesem Pool angeschlossen sind
DO STAT-APPL-CON
Die CFS-Prozedur verzweigt in die Komponente TAS (Task Services) und ermittelt, mit welcher Anwendung ein bestimmtes Terminal verbunden ist.
Aufruf:
DO STAT-APPL-CON [, stat]
Ohne Angabe von Parametern wird der Stationsname zu Beginn der Prozedur über Prompting angefordert.
stat Es wird nach logischen Verbindungen der Station stat gesucht und der Anwendungsname, mit dem diese Station verbunden ist, ausgegeben.
DO OMSG
Die CFS-Prozedur verzweigt in die Komponente TAS (Task Services) und zeigt eine Liste aller bzw. ausgewählter offener Konsolmeldungen an. Dazu ist innerhalb von CFS eine Connection (UCON-Verbindung) zu $CONSOLE notwendig. Die UCON-Userid und das dazugehörige Passwort müssen in der Prozedur angepaßt werden.
Aufruf:
DO OMSG [, string] Ohne Angabe von Parametern werden alle offenen Konsolmeldungen angezeigt.
string Es werden nur die Konsolmeldungen angezeigt, die den Suchbegriff string enthalten.
ACTION-Codes in der OPEN-MESSAGE-Liste (Auszug):
FM Anzeige der kompletten Konsolmeldung am Bildschirm (Full Message)
. Beantwortung der Konsolmeldung mit TSN.
.input Beantwortung der Konsolmeldung mit TSN.input
Falls eine Konsolmeldung mit einer Eingabe beantwortet werden muß, die länger als 4 Byte ist, so steht auch die Variable Action ONXCONS zur Verfügung. Damit ist es möglich, Konsolmeldungen verschiedener TSN's einheitlich mit einem beliebigen String zu beantworten. Für die TSN der jeweiligen Meldung steht bei der Definition ein Platzhalter !TSN zur Verfügung (z.B. ONXCONS !TSN.eingabe).
COMMAND-Eingaben in der OPEN-MESSAGE-Liste:
ATL INT=sec Automatische freilaufende Ausgabe aller bzw. ganz bestimmter offener Meldungen in einem Intervall von sec Sekunden (Standard INT=30). Falls eine Meldung beantwortet werden soll, so ist der ATL-Modus (Automatic Task List) mit K2 unterbrechbar und kann anschließend mit ATL wieder aktiviert werden.
DO TAS
Die CFS-Prozedur verzweigt in die Komponente TAS (Task Services) und führt die beim Prozeduraufruf über einen Kurzcode angesprochene vordefinierte Taskselektion durch. Wurde beim Prozeduraufruf kein Parameter übergeben, so wird eine Übersicht aller vordefinierten Selektionen angezeigt und die gewünschte Selektion über Prompting angefordert. Nach erfolgreicher Selektion der Tasks wird automatisch in den ATL-Modus (Automatic Task List) gewechselt und die Selektion in einem Intervall von 30 Sekunden aktualisiert. Der ATL-Modus wird durch Betätigung der K2-Taste beendet.
Die Prozedur kann durch Anpassung der Kurzcodes und der TAS-Auswahlbedingungen an die eigene Arbeitsumgebung angepaßt werden.
Aufruf:
DO TAS [, code] Ohne Angabe von Parametern wird eine Übersicht der vordefinierten Auswahlmöglichkeiten angezeigt und eine entsprechende Auswahl durch den Benutzer erwartet:
-----------------------------------------------------
T A S K - S E R V I C E S Auswahl
TAS - Selektionsmaske S
TAS - beenden E
CPU Resourcen-Verbrauch CPU 1
IO Resourcen-Verbrauch IO 2
SIZE Resourcen-Verbrauch HSP 3
IDLE TSN's, die nicht mehr aktiv sind 4
TASKS1 Tasks unter $TT08,$KURS,$TSOS 5
SAP Tasks ($S43) 6
RSO RSO Prints mit Fehler 7
Auswahl:
-----------------------------------------------------
code Es wird die durch den code vordefinierte Taskselektion ausgeführt.
z.B. DO TAS,1 (Ausgabe einer Task-Hitliste bezüglich CPU-Verbrauch)
DO JES
Die CFS-Prozedur verzweigt in die Komponente JES (Join Entry Services) und führt die beim Prozeduraufruf über einen Kurzcode angesprochene vordefinierte Join-Selektion durch. Wurde beim Prozeduraufruf kein Parameter übergeben, so wird eine Übersicht der vordefinierten Selektionen angezeigt und die gewünschte Selektion über Prompting angefordert.
Die CFS-Prozedur kann durch Anpassung der Kurzcodes und der Auswahlbedingungen an die eigene Arbeitsumgebung angepaßt werden.
Aufruf:
DO JES [, pvs] [, code] Ohne Angabe des Parameters code wird eine Übersicht der vordefinierten Auswahlmöglichkeiten angezeigt und eine Auswahl durch den Benutzer erwartet:
-----------------------------------------------------
J O I N - E N T R Y - S E R V I C E S Auswahl
JES - Selektionsmaske S
aktuelle Platzbelegung auf Public 1
aktuelle Platzbelegung auf Public/Private 2
Anzahl existierender Dateien/Jobvariablen 3
Reserven bezüglich des Pubspace-Limits 4
Reserven bezüglich des Tempspace-Limits 5
Reserven bezüglich des File-Limits 6
Reserven bezüglich des Jobvariablen-Limits 7
Abrechnungsnummern mit TIME<100 8
Kennungen ohne Passwort, die nicht gesperrt sind 9
Kennungen, die nicht im HOME-PVS existieren 10
SECOS: Expiration-Date für Kennung 11
SECOS: Expiration-Date für Passwort 12
[pvs,] Auswahl :
-----------------------------------------------------
pvs , code Es wird die, durch den Kurzcode code vordefinierte Join-Selektion für das Public-Volume-Set pvs bzw. alle Pubsets durchgeführt.
Beispiele:
DO JES,G,1
Ausgabe einer Liste aller Kennungen des Pubsets G, absteigend sortiert nach Pubspace-Used.
DO JES,OPG,4
Ausgabe einer Liste aller Kennungen des Pubsets OPG, die Publicspeicherplatz belegen und das Pubspace-Limit nicht überschreiten dürfen (ENF=N). Als Information wird die Differenz zwischen Pubspace-Limit und Pubspace-Used zusätzlich angezeigt. Die Liste ist nach Pubspace-Differenz aufsteigend sortiert.
DO MESSUNG
Die CFS-Prozedur verzweigt in die Komponente TAS (Task Services) und ermittelt die aktuelle Systemauslastung und weitere wichtige Systeminformationen (u.a. CPU-Auslastung, Disk-IO's pro Sekunde, Paging-IO's pro Sekunde, prozentuale Auslastung der Paging-Area). Aufgrund vorgegebener Grenzwerte kann veranlaßt werden, daß Meßwerte, die den Maximalwert überschreiten, bei der Ausgabe hervorgehoben (hell) dargestellt werden.
Die Prozedur kann mit der K2-Taste abgebrochen werden.
Aufruf:
DO MESSUNG,? Es wird eine Parametermaske ausgegeben, in der die individuellen Grenzwerte angepaßt werden können.
Die Parameterversorgung kann auch direkt beim Aufruf über Schlüsselworte erfolgen:
CPU=proz1 proz1 legt den Grenzwert für die prozentuale Gesamt-CPU-Auslastung fest.
TPR=proz2 proz2 legt den Grenzwert für den prozentualen TPR-Anteil an der Gesamt-CPU-Auslastung fest.
SIH=proz3 proz3 legt den Grenzwert für den prozentualen SIH-Anteil an der Gesamt-CPU-Auslastung fest.
DISKIO=diskio diskio legt den Grenzwert für die Anzahl Disk-IO's pro Sekunde fest.
PAGIO=pagio pagio legt den Grenzwert für die Anzahl Paging-IO's pro Sekunde fest.
PGAREA=proz4 proz4 legt den Grenzwert für die prozentuale Auslastung der Paging-Area fest.
TSNCPU=cpu cpu legt den taskspezifischen Grenzwert für den CPU-Verbrauch im Meßintervall fest. Wird dieser Wert überschritten, so enthält die Ausgabeinformation zusätzlich die TSN's der betroffenen Tasks (max. 3).
ACTINT=sec1 Das Meßintervall für die TAS-Funktion SYSACT wird auf sec1 Sekunden gesetzt.
WAIT=sec2 Die Wartezeit zwischen zwei Meßungen wird auf sec2 Sekunden gesetzt.
INFO=Y Die Ausgabe der Meßwerte erfolgt nur, falls mindestens ein festgelegter Grenzwert überschritten wurde.
FILE=datei Zusätzlich zur Bildschirmausgabe werden die ermittelten Meßwerte auch in der Ausgabedatei datei abgelegt (SAM,Recform=V). Falls die Datei schon existiert, wird diese mit OPEN=EXTEND fortgeschrieben.
Beispiel für eine von der Prozedur MESSUNG erzeugte Protokolldatei:
--------------------------------------------------------------------------------
HOST         DATE     TIME   CPU    TU  TPR  SIH IO-DISK/S IO-PG/S PG-AREA  TSN
--------------------------------------------------------------------------------
HOST11   20.07.95 15:10:06  68.5  58.4  0.0 10.0         9       0   56%
HOST11   20.07.95 15:10:44  90.1  83.2  0.0  6.8         5       0   58%    0PV0
HOST11   20.07.95 15:11:22  91.7  85.6  0.0  6.1         7       0   59%    0PV0
HOST11   20.07.95 15:12:00  93.4  87.4  0.0  6.0         9       0   60%    0PV0
HOST11   20.07.95 15:12:35  90.5  85.6  0.0  4.9         5       0   58%    0PV0
HOST11   20.07.95 15:13:13  97.9  96.0  0.0  1.9         1       0   58%    0PV0
HOST11   20.07.95 15:13:50  86.7  83.9  0.0  2.8         5       0   56%    0PV0
HOST11   20.07.95 15:14:28  85.3  79.8  0.0  5.5         8       0   60%    0PV0
HOST11   20.07.95 15:15:06  99.0  93.8  0.0  5.2        14       0   60%    0PV0
HOST11   20.07.95 15:15:44  98.7  93.0  0.0  5.7        16       0   60%    0PV0
HOST11   20.07.95 15:16:21  97.6  94.2  0.0  3.5        14       0   60%    0PV0
HOST11   20.07.95 15:16:57  99.3  91.8  0.0  7.5        14       0   60%    0PV0
HOST11   20.07.95 15:17:34  98.9  89.5  0.0  9.4        28       0   61%    0PV0
HOST11   20.07.95 15:18:12  51.8  42.0  0.0  9.8        33       0   55%
HOST11   20.07.95 15:18:49  63.4  53.1  0.0 10.3        47       0   55%
HOST11   20.07.95 15:19:27  47.1  37.8  0.0  9.3        21       0   54%
HOST11   20.07.95 15:20:04  13.7  10.4  0.0  3.4         3       0   54%
HOST11   20.07.95 15:20:42   6.8   4.9  0.0  2.0         1       0   54%
HOST11   20.07.95 15:21:10   8.1   4.8  0.0  3.4         0       0   54%
DO FILEIO
Die CFS-Prozedur ermittelt zyklisch die Anzahl der IO's, die im vorgegebenen Meßintervall für jede bzw. eine bestimmte geöffnete Datei angefallen sind. Über Prozedurparameter können alle geöffneten Dateien aller bzw. eines bestimmten Tasks, eine bestimmte Datei und alle Dateien, die auf einer vorgegebenen Platte liegen ausgewählt werden.
Die angezeigten Informationen umfassen die Uhrzeit, den Dateinamen, Anzahl PAM-IO's im Meßintervall, Anzahl Read-IO's, Anzahl Write-IO's, TSN des zugreifenden Tasks und den Open-Modus der Datei.
Die ermittelten Informationen können zusätzlich in eine Datei geschrieben werden.
Die Prozedur kann mit der K2-Taste abgebrochen werden. Alternativ dazu kann eine vorgegebene Jobvariable vom Benutzer auf 'END' gesetzt werden. Die zuletzt genannte Methode garantiert stets eine definierte und ordnungsgemäße Beendigung der Prozedur.
Aufruf:
DO FILEIO Es werden alle Dateien angezeigt, für die in einem Meßintervall von 30 Sekunden mindestens eine Ein-/Ausgabe angefallen ist. Die Ausgabe ist absteigend nach IO's sortiert.
DO FILEIO ,? Es wird die Parametermaske zum ändern der vorbelegten Prozedur-parameter ausgegeben.
Die Parameterversorgung kann auch direkt beim Aufruf über Schlüsselworte erfolgen:
TSN=tsn Es werden nur die vom Task mit TSN tsn eröffneten Dateien berücksichtigt. Die Prozedur beendet sich automatisch, falls die angegebene TSN im System nicht mehr existiert.
FILE=datei Nur die IO's für die Datei datei berücksichtigt.
VOLUME=vsn Es werden nur Dateien berücksichtigt, die auf der Platte vsn mindestens einen Extent besitzen und eröffnet sind.
IO=n Die Ausgabe beschränkt sich auf alle Dateien, auf die im Meßintervall mehr als n IO's durchgeführt wurden.
SUMIO=TSN|SUM Die Ausgabe der IO's für die Dateien erfolgt einzeln für jede TSN (Standard) oder als Summe der IO's über alle TSN's, die auf diese Datei zugegriffen haben (SUM).
INT=sec Dauer des Meßintervalls in Sekunden (Standard: 30 sec).
JOBVAR=jv-name Name einer Jobvariablen, die zum Beenden der Messung verwendet werden kann. Die Jobvariable muß in Spalte 1 bis 3 auf den Wert 'END' gesetzt werden.
WFILE=wfile Die Informationen werden zusätzlich in die Datei wfile geschrieben.
Beispiel für eine FILEIO-Auswertung:
*******************************************************************************
* F I L E - I O 'S        DATUM: 20.07.95    HOST: HOST11 
*******************************************************************************
* P A R A M E T E R  :    TSN       = *ALL 
*                         FILENAME  = *ALL 
*                         VOLUME    = *ALL 
*                         DELTA-IO  = >0 
*                         INTERVALL = 30 
*                         SUMIO     = TSN 
*------------------------------------------------------------------------------
* TIME    FILENAME                                      D-IO  REA  WRI  TSN OPN
*------------------------------------------------------------------------------
09:06:51  :CFS:$TT08.CFS.PLAM1                            18   18    0 0PVS I
09:06:51  :O:$TSOS.SYSLNK.ASSEMBH.011.LG                  13   13    0 0PVV EX
09:06:51  :O:$TSOS.SYSSDF.ASSEMBH.011.USER                 3    3    0 0PVV EX
09:06:51  :O:$TSOS.ASSEMBH                                 3    3    0 0PVV EX
09:06:51  :CFS:$TT08.CFS.E.0PVS.090642                     3    2    1 0PVS
09:06:51  :CFS:$TT08.S.IN.CFS.PLAM1.ASS.0PVV.134253        2    2    0 0PVV EX
09:06:51  :CFS:$TT08.CFS.E.0PVS.090642                     1    1    0 0PVV EX
09:07:28  :CFS:$TT08.CFS.PLAM1                           128  128    0 0PVQ I
09:07:28  :CFS:$TT08.CFS.PLAM1                            64   64    0 0PVV
09:07:28  :MAC:$TSOS.MACROLIB.V10                         30   30    0 0PVV
09:07:28  :CFS:$TT08.S.214.0PVV.CIFLIB                    15    2   13 0PVV OI
09:07:28  :CFS:$TT08.S.214.0PVQ.ZS.WRTRD.0112              9    5    4 0PVQ
09:07:28  :O:$TSOS.SYSSDF.ASSEMBH.011.USER                 3    3    0 0PVV EX
09:08:03  :MAC:$TSOS.MACROLIB.V10                         78   78    0 0PVV
09:08:03  :CFS:$TT08.S.214.0PVV.CIFLIB                    25    0   25 0PVV OI
09:08:03  :CFS:$TT08.CFS.PLAM1                            24   24    0 0PVV
09:08:37  :CFS:$TT08.CFS.PLAM1                            50   50    0 0PVV
09:08:37  :CFS:$TT08.S.214.0PVV.CIFLIB                    38    0   38 0PVV OI
09:08:37  :MAC:$TSOS.MACROLIB.V10                         17   17    0 0PVV
09:09:09  :CFS:$TT08.CFS.PLAM1                            46   46    0 0PVV
09:09:09  :CFS:$TT08.S.214.0PVV.CIFLIB                    34    0   34 0PVV OI
09:09:09  :MAC:$TSOS.MACROLIB.V10                         22   22    0 0PVV
09:09:43  :CFS:$TT08.S.214.0PVV.CIFLIB                    61    0   61 0PVV OI
09:09:43  :MAC:$TSOS.MACROLIB.V10                         12   12    0 0PVV
09:09:43  :CFS:$TT08.CFS.PLAM1                             7    7    0 0PVV
09:10:17  :CFS:$TT08.S.214.0PVV.CIFLIB                    58    0   58 0PVV OI
09:10:17  :CFS:$TT08.CFS.PLAM1                             8    0    8 0PVV
09:10:51  NO ENTRIES FOUND 
09:11:22  :CFS:$TT08.S.214.0PVV.CIFLIB                   288  272   16 0PVV OI
09:11:22  :CFS:$TT08.CFS.PLAM1                            97   11   86 0PVV
09:11:56  :CFS:$TT08.CFS.MDCCRDX.SRC                     175    0  175 0PVV O
09:12:30  :CFS:$TT08.CFS.MDCCRDX.SRC                     377    0  377 0PVV O
09:13:04  :CFS:$TT08.CFS.MDCCRDX.SRC                     429    0  429 0PVV O
09:13:35  :CFS:$TT08.CFS.MDCCRDX.SRC                     428    0  428 0PVV O
09:14:09  :CFS:$TT08.CFS.MDCCRDX.SRC                     353    0  353 0PVV O
09:14:43  :CFS:$TT08.CFS.MDCCRDX.SRC                     255    0  255 0PVV O
09:15:17  :CFS:$TT08.CFS.MDCCRDX.SRC                     916  916    0 0PVV I
09:15:17  :CFS:$TT08.CFS.MDCCRDX.SRC.FLM                 221    0  221 0PVV O
09:15:17  :O:$FLAM.FLAM                                   20   20    0 0PVV EX
09:15:17  :CFS:$TT08.CFS.PLAM1                             2    0    2 0PVV
09:15:17  :CFS:$TT08.S.IN.CFS.PLAM1.ASS.0PVV.134253        1    1    0 0PVV EX
09:15:17  :CFS:$TT08.S.IN.CFS.LIB.XXX.DO.FLAMK.0PVV.42     1    1    0 0PVV EX
09:15:52  NO ENTRIES FOUND 
09:16:23  NO ENTRIES FOUND 
/DO CFS.USERLIB.BEISPIEL(FILESTAT),...
Die BS2000-DO Prozedur vermißt eine einzelne TSN, eine Task mit einem vorgegebenen Jobnamen oder alle Tasks einer Benutzerkennung. Die Prozedur ermittelt zyklisch die Anzahl der IO's, die im vorgegebenen Meßintervall für jede bzw. ausgewählte geöffnete Dateien angefallen sind. Darüber hinaus werden die CPU-Verbrauchswerte und weitere Informationen der betroffenen Tasks ausgegeben. Die ermittelten Informationen werden in eine Datei geschrieben. Bei Überwachung eines bestimmten Jobnamens oder einer Benutzerkennung wartet die Prozedur mit der Messung, bis der erste zu vermessende Task gestartet wurde. Die Prozedur beendet sich automatisch, sobald keine zu vermessende Task mehr existiert. Die Messung kann auch vorzeitig beendet werden, indem eine vorgegebene Jobvariable vom Benutzer auf 'END' gesetzt wird.
Aufruf:
/DO $user-id.CFS.USERLIB.BEISPIEL(FILESTAT), ...
JOBNAME=*NONE | jobnam
Mit diesem Parameter kann ein Task mit einem vorgegebenen Jobnamen (z.B. TEST01) überwacht werden. Falls noch kein Task mit diesem Jobnamen existiert, wartet die Prozedur mit der Messung, bis der erste Task mit diesem Namen gestartet ist. Die Messung wird automatisch beendet, sobald der Task mit dem vorgegebenen Jobnamen auf LOGOFF läuft.
USERID=*NONE | userid
Mit diesem Parameter werden alle Tasks vermessen, die unter einer vorgegebenen Benutzerkennung angeloggt sind (z.B. TT08). Falls noch kein Task unter dieser Kennung existiert, wartet die Prozedur mit der Messung, bis der erste Task unter der Benutzerkennung gestartet ist. Die Messung wird automatisch beendet, sobald der letzte Task unter der Benutzerkennung auf LOGOFF läuft.
TSN=*NONE | tsn
Mit diesem Parameter kann ein laufender Task mit einer vorgegebenen TSN vermessen werden. Die Messung wird automatisch beendet, sobald der Task mit der vorgegebenen Jobnamen auf LOGOFF läuft.
Nur einer der oben beschriebenen drei Parameter darf bein Aufruf der Prozedur angegeben werden. Die anderen beiden müssen den Standardwert *NONE besitzen.
FILENAME=*ALL | such
Es werden nur die IO's von Dateien ausgegeben, deren Namen der in such spezifizierten CFS-Suchbedingung genügen.
Standard: *ALL. Es erfolgt keine Beschränkung bezüglich der Dateinamen.
INT=sec Das Meßintervall wird auf sec Sekunden gesetzt (Standard: 30 sec).
CFSPHASE=$CFS.CFS
Benutzerkennung und Dateiname der Programmphase von CFS.
JOBVAR=$CFS.CFS.JV1
Name einer Jobvariablen, die zum vorzeitigen Beenden der Messung verwendet werden kann. Die Jobvariable muß in Spalte 1 bis 3 auf den Wert 'END' gesetzt werden.
WFILE=FILESTAT.PROT
Die Ergebnisse der Messung werden in die angegebene Datei geschrieben.
Beispiel für eine FILESTAT-Auswertung:
 ----------------------------------------------------
 I O  -  S T A T I S T I K   VOM   20.07.95  14:31:22   
 ----------------------------------------------------
           USER-ID      : TT08         
           INTERVALL    : 60 SEK        
           FILES        : *ALL       
 ----------------------------------------------------------------------------------------
 TIME        REA  WRI FILENAME                                     D-IO   TSN  OPN
 14:32:30      1    0 :CFS:$TT08.CFS.E.0PVS.143126                    1   0PVS
 14:32:30      1    0 :CFS:$TT08.CFS.E.0PVS.143126                    1   0PVZ EX
 14:32:30      2    0 :CFS:$TT08.S.IN.CFS.PLAM1.ASS.0PVZ.826748       2   0PVZ EX
 14:32:30     85    0 :CFS:$TT08.CFS.PLAM1                           85   0PVZ
 14:32:31    102    0 :MAC:$TSOS.MACROLIB.V10                       102   0PVZ
 14:32:31      6    0 :O:$TSOS.SYSSDF.ASSEMBH.011.USER                6   0PVZ EX
 14:32:31      3    0 :O:$TSOS.ASSEMBH                                3   0PVZ EX
 14:32:31      2   38 :CFS:$TT08.S.214.0PVZ.CIFLIB                   40   0PVZ OI
 
 TIME               TSN  USER-ID  JOBNAME                D-CPU     D-IO D-PAGING  D-OTHER
 14:32:31           0PVQ TT08     HILBERT  240 3 DIA      0.24        0        0        0
 14:32:32           0PVR TT08     HILBERT  240 3 DIA      0.00        0        0        0
 14:32:32           0PVS TT08     HILBERT  240 3 DIA      2.05        8        0        0
 14:32:32           0PVZ TT08     HILBERT  255 2 BAT     45.84      259        0        0
 14:32:32  SUM OF ALL DELTA IN INTERVALL:                48.13      267        0        0
 ----------------------------------------------------------------------------------------
 TIME        REA  WRI FILENAME                                     D-IO   TSN  OPN
 14:33:33    101    0 :CFS:$TT08.CFS.PLAM1                          101   0PVZ
 14:33:33     44    0 :MAC:$TSOS.MACROLIB.V10                        44   0PVZ
 14:33:33      0   72 :CFS:$TT08.S.214.0PVZ.CIFLIB                   72   0PVZ OI
 
 TIME               TSN  USER-ID  JOBNAME                D-CPU     D-IO D-PAGING  D-OTHER
 14:33:34           0PVQ TT08     HILBERT  240 3 DIA      0.13        0        0        0
 14:33:34           0PVR TT08     HILBERT  240 3 DIA      0.00        0        0        0
 14:33:34           0PVS TT08     HILBERT  240 3 DIA      0.00        0        0        0
 14:33:34           0PVZ TT08     HILBERT  255 2 BAT     52.31      240        0        0
 14:33:34  SUM OF ALL DELTA IN INTERVALL:                52.44      240        0        0
 ----------------------------------------------------------------------------------------
 TIME        REA  WRI FILENAME                                     D-IO   TSN  OPN
 14:34:37      7    7 :CFS:$TT08.CFS.PLAM1                           14   0PVZ
 14:34:38     15    0 :MAC:$TSOS.MACROLIB.V10                        15   0PVZ
 14:34:38      0  124 :CFS:$TT08.S.214.0PVZ.CIFLIB                  124   0PVZ OI
 
 TIME               TSN  USER-ID  JOBNAME                D-CPU     D-IO D-PAGING  D-OTHER
 14:34:38           0PVQ TT08     HILBERT  240 3 DIA      0.13        0        0        0
 14:34:38           0PVR TT08     HILBERT  240 3 DIA      0.00        0        0        0
 14:34:38           0PVS TT08     HILBERT  240 3 DIA      0.00        0        0        0
 14:34:39           0PVZ TT08     HILBERT  255 2 BAT     53.79      193        1        0
 14:34:39  SUM OF ALL DELTA IN INTERVALL:                53.92      193        1        0
 ----------------------------------------------------------------------------------------
 TIME        REA  WRI FILENAME                                     D-IO   TSN  OPN
 14:35:40     11   89 :CFS:$TT08.CFS.PLAM1                          100   0PVZ
 14:35:40    258   16 :CFS:$TT08.S.214.0PVZ.CIFLIB                  274   0PVZ OI
 
 TIME               TSN  USER-ID  JOBNAME                D-CPU     D-IO D-PAGING  D-OTHER
 14:35:41           0PVQ TT08     HILBERT  240 3 DIA      0.14        0        0        0
 14:35:41           0PVR TT08     HILBERT  240 3 DIA      0.00        0        0        0
 14:35:41           0PVS TT08     HILBERT  240 3 DIA      0.01        0        0        0
 14:35:41           0PVZ TT08     HILBERT  255 2 BAT     46.50      397        1        0
 14:35:41  SUM OF ALL DELTA IN INTERVALL:                46.65      397        1        0
 ----------------------------------------------------------------------------------------
 TIME        REA  WRI FILENAME                                     D-IO   TSN  OPN
 14:36:45      0  535 :CFS:$TT08.CFS.MDCCRDX.SRC                    535   0PVZ O
 
 TIME               TSN  USER-ID  JOBNAME                D-CPU     D-IO D-PAGING  D-OTHER
 14:36:45           0PVQ TT08     HILBERT  240 3 DIA      0.13        0        0        0
 14:36:45           0PVR TT08     HILBERT  240 3 DIA      0.00        0        0        0
 14:36:46           0PVS TT08     HILBERT  240 3 DIA      0.00        0        0        0
 14:36:46           0PVZ TT08     HILBERT  255 2 BAT     57.63      572        0        0
 14:36:46  SUM OF ALL DELTA IN INTERVALL:                57.76      572        0        0
 ----------------------------------------------------------------------------------------
 TIME        REA  WRI FILENAME                                     D-IO   TSN  OPN
 14:37:47      0  853 :CFS:$TT08.CFS.MDCCRDX.SRC                    853   0PVZ O
 
 TIME               TSN  USER-ID  JOBNAME                D-CPU     D-IO D-PAGING  D-OTHER
 14:37:48           0PVQ TT08     HILBERT  240 3 DIA      0.14        0        0        0
 14:37:48           0PVR TT08     HILBERT  240 3 DIA      0.00        0        0        0
 14:37:48           0PVS TT08     HILBERT  240 3 DIA      0.01        0        0        0
 14:37:48           0PVZ TT08     HILBERT  255 2 BAT     57.42      899        0        0
 14:37:48  SUM OF ALL DELTA IN INTERVALL:                57.57      899        0        0
 ----------------------------------------------------------------------------------------
 TIME        REA  WRI FILENAME                                     D-IO   TSN  OPN
 14:38:52      0  622 :CFS:$TT08.CFS.MDCCRDX.SRC                    622   0PVZ O
 
 TIME               TSN  USER-ID  JOBNAME                D-CPU     D-IO D-PAGING  D-OTHER
 14:38:52           0PVQ TT08     HILBERT  240 3 DIA      0.13        0        0        0
 14:38:52           0PVR TT08     HILBERT  240 3 DIA      0.00        0        0        0
 14:38:52           0PVS TT08     HILBERT  240 3 DIA      0.00        0        0        0
 14:38:53           0PVZ TT08     HILBERT  255 2 BAT     57.68      657        0        0
 14:38:53  SUM OF ALL DELTA IN INTERVALL:                57.81      657        0        0
 ----------------------------------------------------------------------------------------
 TIME        REA  WRI FILENAME                                     D-IO   TSN  OPN
 14:39:54      1    0 :CFS:$TT08.S.IN.CFS.PLAM1.ASS.0PVZ.826748       1   0PVZ EX
 14:39:54      0    2 :CFS:$TT08.CFS.PLAM1                            2   0PVZ
 14:39:54      1    0 :CFS:$TT08.S.IN.CFS.LIB.XXX.DO.FLAMK.0PVZ.08    1   0PVZ EX
 
 TIME               TSN  USER-ID  JOBNAME                D-CPU     D-IO D-PAGING  D-OTHER
 14:39:55           0PVQ TT08     HILBERT  240 3 DIA      0.13        0        0        0
 14:39:55           0PVR TT08     HILBERT  240 3 DIA      0.00        0        0        0
 14:39:55           0PVS TT08     HILBERT  240 3 DIA      0.00        0        0        0
 14:39:55           0PVZ TT08     HILBERT  255 2 BAT     33.81        4        0        0
 14:39:55  SUM OF ALL DELTA IN INTERVALL:                33.94        4        0        0
 ----------------------------------------------------------------------------------------
 TIME        REA  WRI FILENAME                                     D-IO   TSN  OPN
 14:40:56      2    0 :CFS:$TT08.CFS.JR.HILBERT.SYSOUT.0PVS.143126    2   0PVS
 
                                                           CPU       IO   PAGING    OTHER
 14:40:56  TOTAL :                                      408.22     3229        2        0
 14:40:56  ENDE DER MESSUNG
DO SPACE
Die CFS-Prozedur ermittelt für die in einer Reihe von Variablen hinterlegten Pubsets, Privatplatten oder Pools von Pubsets/Privatplatten, den aktuellen Belegungszustand und gibt die Informationen am Bildschirm aus. Für die einzelnen Pubsets, Privatplatten oder Pools können individuelle Grenzwerte vorgegeben werden. Falls diese Grenzwerte überschritten sind, werden die entsprechenden Werte bei der Ausgabe hell dargestellt.
Vor dem Start der Prozedur müssen die Pubsets, Privatplatten und Pools in der Prozedur angepaßt werden.
Die einzelnen Pubsets, Privatplatten und Platten-Pools sind innerhalb der Prozedur in Variablen &VOL1, &VOL2, &VOL3, ..., &VOLn fortlaufend zu hinterlegen. Der Inhalt der Variablen &VOL1, ... ,&VOLn wird folgendermaßen interpretiert:
*&VARn='PVSI_VOLUME_POOLNAME_PRO%_PAMPAGES_POOLRELA'
PVSI Catid eines Public-Volume-Sets
VOLUME VSN einer Privatplatte
POOLNAME Poolname, der über POOLRELA zusammengefassten Platten
PRO% Grenzwert für die Plattenbelegung in Prozent
PAMPAGES Grenzwert für die Anzahl freier PAM-Seiten
POOLRELA Poolname für die Zuordnung zu einem Plattenpool
Aufruf:
DO SPACE [, PUB|PRIV|POOL] [, FILE=datei]
Ohne Angabe von Parametern werden für alle in der Prozedur hinterlegten Pubsets, Privatplatten und Plattenpools die aktuellen Belegungszustände am Bildschirm angezeigt.
PUB Es werden nur die Informationen für die definierten Pubsets angezeigt.
PRIV Es werden nur die Informationen für die definierten Privatplatten angezeigt.
POOL Es werden nur die Informationen für die definierten Plattenpools angezeigt.
FILE=datei Die angeforderten Informationen werden in eine SAM-Datei datei geschrieben. Die Bildschirmausgabe wird unterdrückt.
/E CFS.USERLIB.BEISPIEL(ADDRESS-SPACE)
Die Enter-Prozedur bietet die Möglichkeit, den noch freien System-Adreßraum zyklisch zu überwachen. Dies ist besonders dann von Nutzen, wenn es sporadisch zu Engpässen kommt. Über Prozedurvariablen kann eine Meßwertedatei angegeben werden, in die jeweils die aktuell ermittelten Werte ausgegeben werden. Falls der vorgegebene Grenzwert unterschritten ist, wird an der Konsole eine Meldung ausgegeben und zusätzlich eine Liste der User- und System-Tasks (je 10 Tasks mit CL3, CL4, CL5, CL6) zum Zeitpunkt des Engpasses ausgegeben.
Die Prozedur kann über /INTR tsn von der Konsole aus beendet werden.
Vor Start der Prozedur sollte der Name der Meßdatei, der Grenzwert für den Systemadreßraum und die Intervallzeit an die individuelle Umgebung angepaßt werden:
wfile Name der Meßdatei, in der zyklisch die ermittelten Informationen abgelegt werden (Standard: CFS.UEB.ADDRSP).
lim Grenzwert für die Anzahl freier 4K-Seiten im Systemadreßraum (Standard: 500).
int Prüfintervall in Sekunden (Standard: 600).
DO MOD-MAXCPU
Die CFS-Prozedur ermöglicht es, für einen laufenden Task, nachträglich die maximale CPU-Zeit hochzusetzen bzw. das NTL Attribut zu vergeben.
Die Prozedur verzweigt in die Komponente TAS, wählt die entsprechende TSN aus und modifiziert über die symbolische Anzeige von Kontrollblöcken (%TCB,%JTBP) die notwendigen Felder im TCB (Task Control Block) und im JTBP (Job to be processed Block).
Aufruf:
DO MOD-MAXCPU [, tsn [, time]
Ohne Angabe von Parametern wird die TSN und die zu vergebende CPU-Zeit über Prompting angefordert.
tsn TSN des zu modifizierenden Tasks
time neu zu vergebende CPU-Zeit bzw. NTL (No Time Limit)
Die Prozedur MOD-MAXCPU sollte nicht mehr benutzt werden, das die entsprechende Funktion durch den TAS Action-Code T realisiert ist.
/E CFS.USERLIB.BEISPIEL(CAN-CONMAX)
Die Enter-Prozedur läuft unter der Kennung TSOS und überwacht die Typ 3 (Dialog) Tasks aller Benutzerkennungen außer TSOS bezüglich der seit Logon vergangenen Zeit (Connect Zeit).
Die Prozedur cancelt alle interaktiven Tasks, deren Logon-Zeitpunkt mehr als ccc Minuten zurück liegt.
Über einen zweiten Parameter www ( <= ccc ) kann die Anzahl der Minuten eingestellt werden, ab der Tasks per Message Kommando vor einem möglichen Cancel gewarnt werden.
Am Anfang der Prozedurdatei sind die vom Benutzer veränderbaren Parameter aufgeführt.
&CONMAX=720 Maximale Connect-Zeit in Minuten. Alle Dialogtasks, die länger connectiert sind, werden von der Prozedur gecancelt.
&CONWARN=600 Warnzeit in Minuten. Alle Dialogtasks, die länger connectiert sind, werden in regelmäßigen Abständen (siehe &WAIT) von der Prozedur per Message-Kommando auf ein bevorstehendes Canceln hingewiesen.
&WAIT=600 Wartezeit in Sekunden. Um den durch die Prozedur verursachten Systemoverhead gering zu halten, wird zwischen den einzelnen Durchläufen der Prozedur ein Wartezyklus von &WAIT Sekunden zwischengeschaltet.
Die Wartezeit bewirkt außerdem, daß Message-Kommandos an Tasks nur in diesen Intervallen abgesendet werden.
&USID=-TSOS Benutzerkennungen, die von der Überwachung auszuschließen sind. Mehrere auszuschließende Benutzerkennungen können angegeben werden in der Form: -user1+-user2+- ...
Es ist auch möglich, daß nur die Tasks von bestimmten angegebenen Benutzerkennungen überwacht werden sollen. Hierzu müssen die Kennungen angegeben werden in der Form: user1,user2, ...
&JOBT=3 Es werden nur Tasks des angegebenen Jobtypes überwacht.
Jobtype 3 = Dialogtasks.
In der Prozedur ist außerdem die User-Id und das Passwort für den Zugang zu der $CONSOLE-Anwendung einzutragen.
Der Enter-Prozess für diese Prozedur kann nur per Cancel-Kommando beendet werden.
/E CFS.USERLIB.BEISPIEL(CAN-CPUMAX)
Die Enter-Prozedur läuft unter der Kennung TSOS und überwacht die Typ 3 (Dialog) Tasks aller Benutzerkennungen außer TSOS bezüglich des CPU-Verbrauchs.
Die Prozedur überwacht interaktive Tasks (&JOBT=3, &PRI=>239, &USID=-TSOS), die in einem Meßintervall von &INT Sekunden (&INT=10) mehr als &CPUMAX CPU-Sekunden (&CPUMAX=8) verbraucht haben. Falls der Parameter &WARNING auf 'Y' gesetzt ist (Standard), werden die Tasks mehrmals (&WARNCNT=3) per Message vor einem drohenden Cancel gewarnt. Danach bzw. sofort, falls &WARNING='N' werden diese Tasks gecancelt.
Am Anfang der Prozedurdatei sind die vom Benutzer veränderbaren Parameter aufgeführt.
&INT=10 Meßintervall in Sekunden. Im Meßintervall wird die verbrauchte CPU-Zeit der Tasks analysiert.
&CPUMAX=8 Schwellwert für CPU-Zeit in Sekunden. Es werden alle Tasks gemerkt, die im Meßintervall mehr als die angegebene CPU-Zeit verbraucht haben.
&USID=-TSOS Benutzerkennungen, die von der Überwachung auszuschließen sind. Mehrere auszuschließende Benutzerkennungen können angegeben werden in der Form: -user1+-user2+- ...
Es ist auch möglich, daß nur die Tasks von bestimmten angegebenen Benutzerkennungen überwacht werden sollen. Hierzu müssen die Kennungen angegeben werden in der Form: user1,user2, ...
&JOBT=3 Es werden nur Tasks des angegebenen Jobtypes überwacht.
Jobtype 3 = Dialogtasks.
&PRI=>239 Es werden nur Tasks mit einer Priorität im angegebenen Bereich analysiert.
&WARNING='Y' Alle Tasks, die die erlaubte CPU-Zeit im Intervall überschritten haben, werden per Message Kommando vor einem drohenden Cancel gewarnt.
Bei &WARNING='N' wird sofort ohne Warnung gecancelt. In diesem Fall ist auch der folgende Parameter &WARNCNT ohne Bedeutung.
&WARNCNT=3 Falls die CPU-Fresser in 3 aufeinander folgenden Meßintervallen die zulässige CPU-Zeit jeweils überschritten haben erfolgt ein Cancel. Falls in einem Meßintervall die CPU-Zeit nicht überschritten wurde, wird der interne Zähler für diesen Task auf 0 zurückgesetzt.
&WAIT=60 Wartezeit in Sekunden zwischen den einzelnen Analysezyklen. Um den durch die Prozedur verursachten Systemoverhead gering zu halten, wird zwischen den einzelnen Durchläufen der Prozedur ein Wartezyklus von &WAIT Sekunden zwischengeschaltet.
Die Wartezeit bewirkt außerdem, daß die Probenentnahme für die verbrauchte CPU-Zeit und die Warnung an die Tasks per Message-Kommando nur in diesen Intervallen erfolgt.
In der Prozedur ist außerdem die User-Id und das Passwort für den Zugang zu der $CONSOLE-Anwendung einzutragen.
Der Enter-Prozess für diese Prozedur kann nur per Cancel-Kommando beendet werden.
/E CFS.USERLIB.BEISPIEL(CAN-IDLE)
Die Enter-Prozedur läuft unter der Kennung TSOS und überwacht die Typ 3 (Dialog) Tasks aller Benutzerkennungen bezüglich des Zeitpunkts des letzten CPU-Verbrauchs.
Die Prozedur cancelt alle interaktiven Tasks, die seit mehr als &IDLE Minuten keinen Zuwachs an CPU-Zeit verursacht haben.
Am Anfang der Prozedurdatei sind die vom Benutzer veränderbaren Parameter aufgeführt.
&IDLE=300 Idle-Zeit in Minuten. Alle Tasks, die seit mehr als 300 Minuten keinen CPU-Zuwachs verzeichnet haben, werden gecancelt.
Es ist zu beachten, daß bei &IDLE keine allzugroßen Werte angegeben werden sollten, da auch Idle-Tasks in größeren Zeitabständen minimale Anteile an CPU-Zeit aufnehmen.
&WAIT=60 Wartezeit in Sekunden zwischen den einzelnen Analysezyklen. Um den durch die Prozedur verursachten Systemoverhead gering zu halten, wird zwischen den einzelnen Durchläufen der Prozedur ein Wartezyklus von &WAIT Sekunden zwischengeschaltet.
Der Enter-Prozess für diese Prozedur kann nur per Cancel-Kommando beendet werden.
DO SECURE-HSMS
Die CFS-Prozedur wählt alle Dateien der eigenen Kennung aus, die sich auf HSMS Storage Level S2 befinden, die also ausgelagert sind. Es wird eine BS2000-DO-Prozedur mit einem SECURE-Kommando für alle durch den Benutzer mit X markierten Dateien erstellt. Dies hat zur Folge, daß die Dateien von HSMS wieder eingelagert werden.
Die Einlagerung mehrerer Dateien hat den Vorteil, daß alle markierten Dateien mit einem Kommando angesprochen werden, und somit auch nur ein HSMS-Task zur Einlagerung erzeugt wird.
Die erzeugte Prozedur wird über das Job-Report-System als Enterprozess mit Überwachung gestartet.