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. | |