This SPOOL exit enables systems support to create a user routine designed to carry out two functions within a client/server environment in conjunction with the product Distributed Print Services.
Conversion of client resources to server resources (function F0)
This function modifies the values of certain fields in the SCB (e.g. FORM, DIA).
Input consists of the standard header, the address of the SCB and function code X’F0’ or C’0’ in the E94INFOR field.
Output consists of the return code in the standard header and the modified SCB.
Conversion of server resources to client resources (function F1)
This function restores the original values of the SCB fields (e.g. FORM, DIA). Input consists of the standard header, the address of the SCB and function code X’F1’ or C’1’ in the E94INFOR field.
Output consists of the return code in the standard header and the modified SCB.
Exit 094 must be started on both the client and the server. If this is not done, the spoolout request is rejected with the following message:% SCP1089 EXIT#094 MANDATORY FOR TSN '(&00)'. COMMAND REJECTED
Use of the exit routine with function code F1 in order to restore the original name in the SCB is optional. Only the return code has to be set. However, even in this case the conversion performed by the server is transparent for the user on the client. Output has been modified accordingly for all SHOW-PRINT-JOB commands. The cluster administrator is always shown the converted values.
By default, the trailer page is printed with the values of the server. Users wishing to print a trailer page with the values of the client must create an appropriate trailer exit by calling exit 094.
If an error occurs while processing function call F0 (return code not equal to zero in the standard header), the spoolout request is rejected with message SCP1090.
If an error occurs while processing function call F1 (return code not equal to zero in the standard header), an error message is displayed at the console, but the spoolout job is continued.
The following information is passed to the exit routine: R1 = A (EX094 parameter area)
The return codes are entered in the standard header:
| |||
dd | cc | bb | aa |
A return code concerning execution of EX094 is passed in the standard header:
aa=maincode1
bb=maincode2
cc=subcode1
dd=subcode2
X'aa' | Meaning |
00 | Exit processed without errors |
01 | Exit not processed without errors |
DSECT
A DSECT/CSECT for the parameter area can be generated using the EX094 macro. “prefix” must not be longer than 3 characters.
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