17 CFS-Benutzerschnittstellen
Unter CFS können externe Routinen aufgerufen werden als:
a) User Options zur Auswertung der Katalogeinträge nach speziellen Merkmalen.
b) Variable Actions zur Realisierung besonderer Verarbeitungsarten für Dateien /Bibliothekselemente/Jobvariablen.
c) Action-Codes zur Realisierung besonderer Verarbeitungsarten für Dateien/ Bibliothekselemente/Jobvariablen über eigene Action-Codes.
d) Kommandos zur Realisierung besonderer Verarbeitungsarten für Dateien/ Bibliothekselemente/Jobvariablen.
Der CFS-Anwender kann eine externe User Option bzw. Kommandoroutine in folgender Form aufrufen:
(modul [, bibl]) [ params]
Der Aufruf einer externen Routine für eine Variable Action erfolgt in der Form:
ONX(modul [, bibl]) [ params] | ON&(modul [, bibl]) [ params]
modul Name der aufzurufenden Routine (Modul-/CSECT-Name).
bibl Bibliothek, aus der die Benutzerroutine nachzuladen ist.
Standard: CFSLIB
params wahlweise Parameter, die der Benutzerroutine beim Aufruf mitgegeben werden und die deren Ausführung steuern.
Der Aufruf einer externen Action-Code Routine geschieht durch Angabe des betreffenden Action-Codes in der Action-Spalte.
Damit CFS diesen Action-Code richtig verarbeitet, muß er vom Systemverwalter in eine CFS-interne Action-Code Tabelle eingetragen werden. Genaueres hierzu finden Sie im Quellprogramm CFSMAIN in der CFS.S.LMSLIB.
Aufrufkonventionen für externe Routinen:
R1 Adresse der Parameterliste
R13 Adresse einer 72 Byte langen Save-Area
R14 Returnadresse in CFS
R15 Ansprungadresse der Benutzerroutine
Die Registersicherstellung sollte nach den Standardkonventionen erfolgen:
STM 14,12,12(13) (Ansprung)
 ...
LM 14,12,12(13) (Rückkehr)
In der ausgelieferten LMS-Bibliothek CFS.S.LMSLIB befinden sich Quellprogramme als Beispiele zu den einzelnen Arten von externen Routinen:
a) FREE als Beispiel einer Routine zur Realisierung eine benutzereigenen User Option (Free Space).
b) CONV als Beispiel einer Routine für eine benutzereigene Variable Action.
c) PREMOTE als Beispiel einer Routine für einen benutzereigenen Action-Code (PD).
d) VSNSP als Beispiel einer Routine für ein benutzereigenes CFS-Kommando.
VSNSP gibt für die spezifizierte Datei (siehe unten) alle VSNs, auf denen die Datei Speicherplatz belegt hat, sowie für jede VSN die Anzahl der auf ihr belegten PAM-Seiten. Die Aufrufsyntax lautet: (VSNSP) datei.
Hinweise:
Die beim Aufruf der externen Routinen benutzten Eingabeparameterleisten sind in den oben erwähnten Beispielprogrammen intern dokumentiert.
Benutzerdefinierte Action-Codes müssen, um als solche erkannt zu werden, dem CFS-System bekannt gemacht werden. Hierzu existiert eine besondere Action-Code Tabelle. Die Struktur des Tabellenelements für den Action-Code PD ist im Quellprogramm CFSMAIN in der CFS.S.LMSLIB beschrieben.
Auch im Connection-Handler besteht die Möglichkeit einer eigenen Nachrichtenbehandlung. Für nähere Informationen hierzu kontaktieren Sie bitte die OPG Online-Programmierung.