Dieser SPOOL-Exit ermöglicht es der Systembetreuung, eine Anwenderroutine zu erstellen, die zwei Funktionen innerhalb einer Client-Server-Umgebung bei Einsatz des Produkts „Distributed Print Services“ erfüllen soll.
Konvertierung von Client-Ressourcen auf Server-Ressourcen (Funktion F0)
Diese Funktion modifiziert die Werte einiger Felder des SCB (z.B. FORM, DIA).
Die Eingabe besteht aus dem Standardheader, der Adresse des SCB und dem Funktionscode X'F0' oder C'0' im Feld E94INFOR.
Die Ausgabe besteht aus dem Returncode im Standardheader und dem modifizierten SCB.
Konvertierung von Server-Ressourcen auf Client-Ressourcen (Funktion F1)
Diese Funktion stellt die Originalwerte der Felder des SCB (z.B. FORM, DIA) wieder her. Die Eingabe besteht aus dem Standardheader, der Adresse des SCB und dem Funktionscode X'F1' oder C'1' im Feld E94INFOR.
Die Ausgabe besteht aus dem Returncode im Standardheader und dem modifizierten SCB.
Der Exit 094 muss auf dem Client- und dem Server-Rechner gestartet werden. Anderenfalls wird der SPOOLOUT-Auftrag abgewiesen mit der Meldung % SCP1089 EXIT#094 FUER TSN '(&00)' OBLIGATORISCH. KOMMANDO ABGEWIESEN
Der Einsatz der Exit-Routine mit dem Funktionscode F1 zur Wiederherstellung des Originalnamens im SCB ist optional. Lediglich der Returncode muss gesetzt werden. Die vom Server durchgeführte Übersetzung ist jedoch auch in diesem Fall transparent für den Anwender am Client-Rechner. Bei allen SHOW-PRINT-JOB-Kommandos ist die Ausgabe entsprechend modifiziert. In jedem Fall werden dem Cluster-Verwalter die übersetzten Werte angezeigt.
Als Voreinstellung wird das Schlussblatt mit den Werten des Servers ausgedruckt. Will der Anwender sein Schlussblatt mit den Werten des Clients ausdrucken, muss er einen entsprechenden Trailer-Exit mit Aufruf des Exits 094 erstellen.
Tritt während der Verarbeitung des Funktionsaufrufs F0 ein Fehler auf (Returncode ungleich 0 im Standardheader), wird der SPOOLOUT-Auftrag mit der Fehlermeldung SCP1090 abgewiesen.
Tritt während der Verarbeitung des Funktionsaufrufs F1 ein Fehler auf (Returncode ungleich 0 im Standardheader), wird eine Fehlermeldung an der Bedienstation ausgegeben, der SPOOLOUT-Auftrag jedoch fortgesetzt.
Folgende Informationen werden an die Exit-Routine übergeben: R1 = A (EX094-Parameterbereich)
Die Returncodes werden im Standardheader eingetragen:
| |||
dd | cc | bb | aa |
Über die Ausführung von EX094 wird im Standardheader ein Returncode übergeben:
aa=Maincode1
bb=Maincode2
cc=Subcode1
dd=Subcode2
X'aa' | Erläuterung |
00 | Exit fehlerfrei ausgeführt |
01 | Exit nicht fehlerfrei ausgeführt |
DSECT
Eine DSECT/CSECT für den Parameterbereich kann mit dem Makro EX094 erzeugt werden, wobei „prefix“ max. 3 Zeichen lang sein darf.
EX094 D CLREXPL DSECT , RENAMING OF CLIENT RESOURCE EXIT P/L E94EXBEG DS 0H FHDR MF=(C,E94),EQUATES=NO DS 0A E94FHE DS 0XL8 0 GENERAL PARAMETER AREA HEADER * E94IFID DS 0A 0 INTERFACE IDENTIFIER E94FCTU DS AL2 0 FUNCTION UNIT NUMBER * BIT 15 HEADER FLAG BIT, * MUST BE RESET UNTIL FURTHER NOTICE * BIT 14-12 UNUSED, MUST BE RESET * BIT 11-0 REAL FUNCTION UNIT NUMBER E94FCT DS AL1 2 FUNCTION NUMBER E94FCTV DS AL1 3 FUNCTION INTERFACE VERSION NUMBER * E94RET DS 0A 4 GENERAL RETURN CODE E94SRET DS 0AL2 4 SUB RETURN CODE E94SR2 DS AL1 4 SUB RETURN CODE 2 E94SR1 DS AL1 5 SUB RETURN CODE 1 E94MRET DS 0AL2 6 MAIN RETURN CODE E94MR2 DS AL1 6 MAIN RETURN CODE 2 E94MR1 DS AL1 7 MAIN RETURN CODE 1 E94FHL EQU 8 8 GENERAL OPERAND LIST HEADER LENGTH * * * EQUATES FOR EXIT RETURN INFORMATION IN &P.RET * E94EXNOK EQU 1 EXIT NOK E94EXOK EQU 0 EXIT OK E94INFOR DC X'00' INFORMATION GIVEN TO EXIT E94CLTSV EQU C'0' TRANS. CLIENT RESSOURCE TO SERV E94SVTCL EQU C'1' TRANS. SERVER RESSOURCE TO CLI. E94CALCL EQU C'2' TRANS. CALL ON CLIENT E94UNUS DC XL3'00' **** UNUSED **** E94SCBAD DC A(0) ADDRESS OF SCB DS CL20 RESERVED FOR EXTENTION E94PLLEN EQU *-E94EXBEG LENGTH OF THE PARAMETER LIST