Mit diesem System Exit kann die SPOOL-Verwaltung (TSOS bzw. PRINT-SERVICE-ADM) eine Server-Auswahl durch Kombination bestimmter Auswahl-Kriterien vornehmen. Die Server-Auswahl kann dabei einer individuellen Entscheidungstabelle angepasst sein, die beispielsweise vorsieht, dass die Aufträge von Anwender A mit dem Papierformat A auf den Server X geleitet werden sollen, die Aufträge von Anwender A mit dem Papierformat B auf Server Y u.s.w.
Der Exit 096 muss am Client-Rechner gestartet werden.
Bei Änderungen der Server-Liste muss auf deren Konsistenz geachtet werden. Der vom SPOOL-Verwalter für einen Auftrag ausgewählte Server muss in der dem Exit übergebenen Server-Liste enthalten sein. Um diese Anforderung sicherzustellen, kann der SPOOL-Verwalter
den gewünschten Server an die erste Position der Liste setzen und die anderen Server beibehalten
den gewünschten Server an die erste Position der Liste setzen und die Anzahl der in der Liste verfügbaren Server auf 1 setzen.
Folgende Informationen werden an die Exit-Routine übergeben: R1 = A (EX096-Parameterbereich)
Die Returncodes werden im Standardheader eingetragen:
| |||
dd | cc | bb | aa |
Über die Ausführung von EX096 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 EX096 erzeugt werden, wobei „prefix“ max. 3 Zeichen lang sein darf.
EX096 D SVSEXPL DSECT , SERVER SELECTION EXIT P/L E96EXBEG DS 0H FHDR MF=(C,E96),EQUATES=NO DS 0A E96FHE DS 0XL8 0 GENERAL PARAMETER AREA HEADER * E96IFID DS 0A 0 INTERFACE IDENTIFIER E96FCTU 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 E96FCT DS AL1 2 FUNCTION NUMBER E96FCTV DS AL1 3 FUNCTION INTERFACE VERSION NUMBER * E96RET DS 0A 4 GENERAL RETURN CODE E96SRET DS 0AL2 4 SUB RETURN CODE E96SR2 DS AL1 4 SUB RETURN CODE 2 E96SR1 DS AL1 5 SUB RETURN CODE 1 E96MRET DS 0AL2 6 MAIN RETURN CODE E96MR2 DS AL1 6 MAIN RETURN CODE 2 E96MR1 DS AL1 7 MAIN RETURN CODE 1 E96FHL EQU 8 8 GENERAL OPERAND LIST HEADER LENGTH * * * EQUATES FOR EXIT RETURN INFORMATION IN &P.RET * E96EXNOK EQU 1 EXIT NOK E96EXOK EQU 0 EXIT OK E96SCBAD DC A(0) ADDRESS OF SCB E96SVLAD DC A(0) ADDRESS OF SERVER LIST DS CL12 RESERVED FOR EXTENTION E96PLLEN EQU *-E96EXBEG LENGTH OF THE PARAMETER LIST SPACE 3 E96SVL DSECT , SERVER LIST DESCRIPTION E96SV# DS F SERVERS# E96SVSZ DS F SIZE E96SV DS 0XL20 SERVER(SERVERS#) (1 ENTRY) E96SVN DS CL8 NAME E96APR# DS FL4 PRINTERS# E96DT DS XL8 DEVICE_TYPES