13.  Datei-Informationssystem
Mit dem Dateiinformationssystem von CFS kann zu jeder Datei, Jobvariablen und zu jedem Element einer Bibliothek ein beliebiger Text gespeichert werden. Dadurch ist es z.B. möglich, über die Verwendung jeder einzelnen Datei Buch zu führen. Diese einmal erfaßten Dokumentationen können am Bildschirm jederzeit abgefragt und aktualisiert werden. Die Dokumentationen zu den Datenobjekten werden in von CFS angelegten und verwalteten Datenkatalogen gespeichert.
Zur Aufnahme der Dokumentationstexte für Dateien einer Benutzerkennung, sowie für die Aufnahme der Dokumentationen der Elemente einer Bibliothek, wird jeweils ein eigener Datenkatalog angelegt. Der Datenkatalog wird bei der ersten Eingabe einer Dokumentation angelegt (Action-Code IM).
Falls der Benutzer kein explizites File-Kommando angegeben hat, so wird der Name des CFS-Datenkatalogs folgendermaßen gebildet:
CFS.INF Datenkatalog für Dateien der eigenen Benutzerkennung.
CFS.INF.JV Datenkatalog für Jobvariable der eigenen Benutzerkennung.
bibl.INF Datenkatalog für Elemente einer Bibliothek bibl.
Für Dateien und Jobvariablen kann unter jeder Benutzerkennung je ein Datenkatalog existieren. Ebenso kann für jede Bibliothek ein Datenkatalog existieren.
Mit einem FILE-Kommando (LINK=INFO) kann der Name des Datenkatalogs vom Benutzer auch fest vorgegeben werden.
Die Eingabe der Dokumentationen erfolgt normalerweise formatfrei, d.h. der Benutzer bekommt einen leeren Bildschirm angeboten, in den er seine Dokumentationstexte einträgt.
Die Dokumentationen können auch formatgesteuert über Bildschirmmasken eingegeben werden. Diese INF-Masken müssen in einem zentralen INF-Formatkatalog (ISAM-Datei) vorliegen und können über ein- bis dreistellige Formatnamen angesprochen werden. Der INF-Formatkatalog hat per Voreinstellung den Namen $TSOS.CFS.INF.FORMAT. Per File-Kommando kann der Benutzer jedoch seinen eigenen Formatkatalog zuweisen: /FILE datei,LINK=IFORMAT.
Die Neuerfassung von Dokumentationstexten über ein Format geschieht durch Anhängen des ein- bis dreistelligen Formatnamens f an den Action-Code IM/IA (Information Modify/ Information Add). Der Systemverwalter kann die Voreinstellung von CFS dahingehend ändern, daß die Neuerfassung von Dokumentationen mit einem fest vorgegebenen Standardformat ( x ) verknüpft ist (implizites IMx).
Action-Codes zum Erstellen/Abfragen des CFS-Datenkatalogs
I Inform. Anzeigen der zu dem Datenobjekt (Datei/Jobvariable/Bibliothekselement) eingegebenen Dokumentation.
IM [f] Information Modify. Neuerfassung/Ändern eines Dokumentationstextes.
f Nur bei Neuerfassung eines Dokumentationstextes: 1- bis 3-stelliger mnemotechnischer Name eines Formats für die Erfassung des Dokumentationstextes. Die Maskenformate für die Erfassung von Dokumentationstexten und die Mnemo-Codes, über die diese Masken angesprochen werden, sind vom Systemverwalter in einem zentralen Katalog CFS.INF.FORMAT einzutragen.
IA [f] Information Add. Anfügen einer zusätzlichen Seite von Dokumentationstext.
f 1- bis 3-stelliger Name eines Formats für die Erfassung der Dokumentation.
Falls für das betreffende Datenobjekt noch keine Dokumentation gespeichert ist, so wirkt der Action-Code IA wie IM (Neuerfassung).
II [f] Information Insert. Einfügen einer zusätzlichen Seite von Dokumentationstext. Die neue Seite an Informationstext wird hinter der letzten, mit dem gleichen Format erfaßten Informationsseite eingefügt.
f 1- bis 3-stelliger Name eines Formats für die Erfassung der Dokumentation.
Hinweis: Falls für das betreffende Datenobjekt noch keine Dokumentation gespeichert ist, so wirkt der Action-Code II wie IM (Neuerfassung). Falls das im II Action-Code angegebene Format im bestehenden Informationstext nicht vorkommt, so wird die neue Seite an Informationstext am Ende der Beschreibung eingefügt (gleiche Wirkung wie IA: Information Add).
IE Information Erase. Löschen der zu einem Datenobjekt gespeicherten Dokumentationen.
IEQ Information Erase with Query. Die einzelnen Seiten des Informationstextes werden wie beim Action-Code I (Inform) angezeigt. Die angezeigte Informationsseite wird durch Drücken der ENTER-Taste gelöscht. Die Löschung der angezeigten Informationsseite wird durch Betätigung der K3-Taste unterbunden. In beiden Fällen (ENTER/K3) wird dem benutzer die nächste Informationsseite angeboten. Durch Drücken der K1-Taste kann der Vorgang abgebrochen werden. Die zuletzt angezeigte Informationsseite wird in diesem Fall nicht gelöscht.
IC Information Copy. Kopieren des gesamten Informationstextes. Es wird die Eingabe des Namens eines bereits dokumentierten Datenobjekts verlangt. Die von diesem Datenobjekt kopierte Dokumentation kann anschließend modifiziert werden (implizites IM).
Hinweise:
Falls der Benutzer im Action-Code IM/IA den Namen eines nicht existierenden Formats angegeben hat, so geht CFS nach Ausgabe einer entsprechenden Fehlermeldung in den formatfreien Erfassungsmodus.
Falls vom Systemverwalter ein Standardformat zum Erfassen von Dokumentationen vorgegeben ist, der Benutzer aber explizit seinen Text ohne Format erfassen möchte, so kann dies durch Angabe eines nicht existierenden Formatnamens f im Action-Code IM/IA erreicht werden.
Mit den Kommando CAP/LOW kann die Umsetzung von Kleinbuchstaben beim Erfassen/Ändern der Dokumentationstexte (IM) beeinflußt werden.
Standard: CAP, d.h. eingegebene Kleinbuchstaben werden in Großbuchstaben umgewandelt.
Mit dem Kommando I FORM=f kann ein benutzerindividuelles Format definiert werden, welches standardmäßig bei Neuerfassung von Dokumentationen verwendet wird (Action-Codes IM/IA ohne explizite Formatangabe).
Mit der User Option INF lassen sich alle Datenobjekte auffinden, für die Dokumentationen existieren/nicht existieren.
Selektionsmaske, Feld USER OPTION:
INF Zeigt an, ob für die Datei/Jobvariable bzw. für das Bibliothekselement eine Beschreibung im CFS-Informationskatalog vorliegt. Ggf. wird auch der Name des für die Erfassung verwendeten Formats angezeigt.
Selektionsparameter: [Y | N | S] [, FORM=xxx] [, 'string']
| N Inf-Text vorhanden ? Yes/No
S Wie Y. Zusätzlich werden die ersten 15 Byte des Informationstextes in der Dateienliste angezeigt.
FORM=xxx Auswahl bzgl. des bei der Erfassung verwendeten Formats
'string' Auswahl aller Datenobjekte, die in ihrem Dokumentationstext den angegebenen Suchstring enthalten.
Bei der Angabe des Parameters FORM= bzw. bei der Auswahl nach einem Suchbegriff wird der Selektionsparameter 'Y' intern ergänzt und muß daher vom Benutzer nicht angegeben werden. Es kann mehr als ein Selektionsparameter angegeben werden. In diesem Fall sind die einzelnen Parameter durch Kommas zu trennen.
Formate in zentralen INF-Formatkatalog einbringen
Es ist die Aufgabe des Systemverwalters, die zur Erfassung von Dokumentationstexten benötigten Formate in den INF-Formatkatalog von CFS (ISAM-Datei) zu übertragen. Um dies zu erreichen, wird folgende Vorgehensweise vorgeschlagen:
1) Erstellen der gewünschten Formate mit IFG/FORMPLAG.
2) Eröffnen eines CFS-Nebenprozeßes und Einschalten des Loggings nur für die Ausgaben: LOG datei,O
3) Aufruf des IFG und Auswahl der Funktion 02: 'Format anzeigen' (Unterfunktion: 'Format wie bei seinem Einsatz') bzw. Aufruf des FORMPLAG. ETH und Aufruf der Testfunktion: .T (Maske anzeigen).
4) Beenden des IFG bzw. FORMPLAG.ETH und Ausschalten des Loggings: NLOG.
5) Anzeige der erzeugten LOG-Datei im CFS-Display: I datei,D. Einschalten des Modify-Modus durch Kommando M.
6) Löschen aller Datensätze in der LOG-Datei mit Ausnahme des protokollierten IFG-/FORMPLAG-Formats. Das Löschen der Datensätze erfolgt durch Überschreiben der ersten Stelle des ISAM-Schlüssels mit dem Zeichen 'E' (Eliminate Record).
7) Übertragen des einzigen, in der LOG-Datei verbliebenen Datensatzes in den zentralen Formatkatalog. Hierzu existiert in CFS ein eigenes Kommando:
(ADDFORM) datei [, f] [, format-kat]
datei Name der LOG-Datei, in der das gewünschte Ausgabeformat protokolliert wurde. Die Datei darf nur einen Datensatz enthalten.
f ein- bis dreistelliger Formatname, unter dem die Maske im Formatkatalog gespeichert werden soll.
format-kat Name des Katalogs, in den das aktuelle Format eingebracht werden soll. Falls der Name des Formatkatalogs nicht angegeben wurde, so wird der in CFS enthaltene Name des zentralen Formatkatalogs ($TSOS.CFS.INF.FORMAT) verwendet. Der Name des zentralen Formatkatalogs kann im Modul CFSMAIN an die aktuellen Gegebenheiten des RZs angepaßt werden.
INF-Katalog in EDT-Datei schreiben (Export)
FC2 EXP: katalog , datei
Der INF-Katalog mit den zu den Datenobjekten gespeicherten Dokumentationen kann nur von CFS verarbeitet werden, da die darin enthaltenen Datensätze eine Länge von bis zu 2048 Bytes haben. Die Schlüssel der ISAM-Datei sind 44 Stellen lang.
Mit dem Kommando FC2 EXP:... kann der Benutzer den gesamten Inhalt des Datenkatalogs in eine normale EDT-Datei exportieren. Diese Datei kann z.B. im EDT mit @ON&C'...'T'...' nach bestimmten Regeln bearbeitet werden.
Die exportierte EDT-Datei kann aber auch einfach ausgedruckt werden.
katalog Name des zu exportierenden CFS-Datenkatalogs (CFS.INF bzw. bibliothek. INF).
datei Name der SAM-Datei (EDT-Format), in die der Datenkatalog exportiert werden soll.
INF-Katalog aus EDT-Datei erzeugen (Import)
FC2 IMP: datei , katalog [, MERGE]
Das Kommando FC2 IMP:... bildet das Gegenstück zum oben beschriebenen Export-Kommando. Exportierte und im EDT bearbeitete INF-Kataloge können so wieder in das CFS-interne Format umgewandelt werden.
datei Name der SAM-Datei mit den Informationstexten für den CFS-Datenkatalog.
katalog Name des zu erzeugenden Datenkatalogs. (CFS.INF bzw. bibliothek.INF).
MERGE Die in der SAM-Datei enthaltenen Daten werden in einen bereits bestehenden Datenkatalog eingemischt.
Standard: Der Datenkatalog wird neu erstellt.
Hinweise:
Der Benutzer kann einen exportierten INF-Katalog im EDT bearbeiten und anschließend wieder importieren. Beim Importieren werden alle Informationen des alten INF-Katalogs überschrieben. Beim Editieren des exportierten Katalogs (SAM-Datei) sind folgende Regeln zu beachten:
Soll im Editor eine zusätzliche Dokumentation eingefügt werden, z.B. zur Beschreibung der Datei ABC.XYZ, so sind die folgenden zwei Datensätze einzufügen:
$NAME = ABC.XYZ
$
Es folgen die Datensätze, in denen die Dokumentationen abgelegt sind. Erstrecken sich die Dokumentationssätze über mehr als 22 Zeilen, so kann zwischen dem zweiten bis 22. Satz ein Maskenwechsel für die Action-Codes I/IM programmiert werden. Dazu ist vor dem Dokumentationssatz, der auf einer neuen Bildschirmseite erscheinen soll, ein Steuerungssatz der Form
'$$' einzufügen.
Konvertieren INF-Katalog <---> PLAM-Bibliothek
FC2 CON: datei1 [, datei2] [, P]
Konvertierung ISAM --> PLAM
datei1 CFS-Informationskatalog (ISAM-Datei).
datei2 PLAM-Bibliothek (Ausgabe).
Falls datei2 nicht angegeben wurde, so wird eine temporäre Bibliothek erzeugt, die am Ende den Informationskatalog datei1 überschreibt.
Der Inhalt des Informationskatalogs wird in eine bereits existierende oder neu anzulegende PLAM-Bibliothek datei2 übertragen. Für jeweils eine Dateibeschreibung wird ein Element in der Bibliothek datei2 erzeugt: S/xxxx. Falls sich die Dateibeschreibung über mehrere Bildschirmseiten erstreckt (mehrere ISAM-Datensätze), so werden die entsprechenden Daten im erzeugten Bibliothekselement durch Sätze mit dem Inhalt $NEW PAGE getrennt.
Konvertierung PLAM --> ISAM
datei1 PLAM-Bibliothek.
datei2 CFS-Informationskatalog (Ausgabe). Falls datei2 nicht angegeben wurde, so wird ein temporärer Informationskatalog erzeugt, der am Ende die PLAM-Bibliothek datei1 überschreibt.
Der Inhalt der Elemente der PLAM-Bibliothek datei1 wird in einen bestehenden bzw. neu anzulegenden Informationskatalog datei2 übertragen. Zu einem Bibliothekselement t/xxxxx werden ein oder mehrere ISAM-Sätze mit Key xxxxx im Informationskatalog datei2 erzeugt. Mehrere Sätze werden geschrieben, falls in den Daten des PLAM-Elements die Trennsätze $NEW PAGE enthalten sind.
P Dieser optionale Zusatz ist nur bei Konvertierung von PLAM nach ISAM von Bedeutung. Die Typbezeichnungen der Elemente in der PLAM-Bibliothek werden in die ISAM-Keys der Sätze des Informationskatalogs mit übernommen. Der so erzeugte INF-Katalog kann ausschließlich als Dokumentation für Elemente einer PLAM-Bibliothek verwendet werden.
Ausdrucken eines INF-Katalogs
Ein Informationskatalog kann als exportierte SAM-Datei mit einem Print-Kommando (ohne SPACE=E) ausgedruckt werden.
Eine andere Möglichkeit, die in einem INF-Katalog enthaltenen Informationen auszugeben, bietet die folgende Vorgehensweise:
1) Selektion aller Datenobjekte, für die Informationen im Katalog vorliegen, über die USER OPTION : INF Y.
2) Erzeugen einer Dokumentationsdatei der selektierten Datenobjekte, in die die vollständigen Informationstexte eingemischt werden. Dies ist möglich mit dem Kommando DOC datei,INF,ALL;A
Die mit DOC erzeugte Datei kann mit SPACE=E ausgedruckt werden.
INF-Katalog reorganisieren
ONXICOPY cat1, cat2 [,UPD]
Für die mit X angekreuzten Datenobjekte werden die Dokumentationen aus dem Katalog cat1 in den Katalog cat2 kopiert.
UPD cat2 wird mit OPEN=INOUT statt mit OPEN=OUTPUT (Standardfall) eröffnet.
Die Variable Action ONXICOPY ... eignet sich zum Reorganisieren von INF-Katalogen. Oft sind in den INF-Katalogen noch Dokumentationen für schon gelöschte Datenobjekte enthalten. Die aktuellen Datenobjekte, für die im INF-Katalog Dokumentationstexte existieren, werden mit der User Option INF gezielt ausgewählt (INF=Y). Auf die so ermittelten Datenobjekte wird die Variable Action ON&ICOPY cat1,cat2 angewendet. Die Dokumentationen für alle noch aktuellen (existierenden) Datenobjekte werden damit in einen neuen INF-Katalog übertragen. Der alte Katalog (z.B. CFS. INF) kann anschließend mit dem neuen Katalog überschrieben werden.
Auffangen der Dokumentationen für gelöschte Datenobjekte
Der ursprüngliche, noch nicht reorganisierte INF-Katalog wird mit dem Kommando FC2 EXP:katalog,datei-a in eine SAM-Datei exportiert. Anschließend wird der alte Katalog reorganisiert (Vorgehensweise siehe oben). Der reorganisierte Katalog wird danach ebenfalls exportiert (FC2 EXP:katalog, datei-n). Die zwei Export-Dateien werden nun in CFS mit dem Kommando COMP datei-a, datei-n verglichen. Das Differenzprotokoll enthält die Dokumentationstexte zu allen nicht mehr existierenden Datenobjekten.