**** START OF SPECIFICATIONS ***************************************** 00010000 * * 00020000 *01* MODULE NAME = APSUX06X @DXC* 00030000 * * 00040000 * $MOD(APSUX06X) COMP(APS) PROD(PSF) : VERSION 3.2.0 * 00050000 * * 00060000 *01* DESCRIPTIVE NAME = MESSAGE INSTALLATION EXIT EXAMPLE * 00070000 * * 00080000 *01* STATUS = VERSION 3, RELEASE 2, LEVEL 0 * 00090000 * * 00100000 *01* FUNCTION = * 00110000 * EXAMINE THE MESSAGES BEING ISSUED BY PSF * 00120000 * * 00130000 * If it is message ASP532I, send the message to the console * 00140000 * and terminate the FSA. @EJA* 00150000 * * 00160000 * If the message is destined for the interrupt message page * 00170000 * and it is not message APS026I, terminate the job, hold * 00180000 * the job, and send the message to the console. @EJA* 00190000 * * 00200000 * All code that has been added to this sample has been * 00210000 * commented out. This is being provided to give you * 00220000 * an example of what can be done with this exit. @EJA* 00230000 * * 00240000 *02* OPERATION = * 00250000 * 1. OBTAIN ADDRESSABILITY TO THE EXIT INFORMATION * 00260000 * * 00270000 *01* NOTES = * 00280000 *02* DEPENDENCIES = NONE * 00290000 *02* RESTRICTIONS = * 00300000 * THIS EXIT IS ENTERED BEFORE A PSF MESSAGE IS ISSUED BY THE * 00310000 * FSA PART OF PSF. NOTE THAT THE PRINTER IS RUNNING * 00320000 * ASYNCHRONOUSLY TO THIS EXIT AND IS NOT AFFECTED BY THE * 00330000 * ACTIONS OF THE EXIT. THE ERROR THAT THE MESSAGE IS * 00340000 * REPORTING IS NOT NECESSARILY RELATED TO THE DATA SET PSF * 00350000 * IS CURRENTLY PROCESSING (OR ABOUT WHICH THE JSPA PROVIDES * 00360000 * INFORMATION). * 00370000 * * 00380000 * WHEN THIS EXIT RETURNS TO PSF, PROCESSING WILL CONTINUE * 00390000 * AS IF THE EXIT HAD NOT BEEN TAKEN, UNLESS FLAG(S) * 00400000 * XTP6TFSA AND/OR XTP6HOLD AND/OR XTP6ACT @H5C* 00410000 * HAVE BEEN SET BY THE EXIT. @H5C* 00420000 * * 00430000 * WHEN THIS EXIT IS ENTERED, ECATRNC AND ECETXMS WILL NOT * 00440000 * CONTAIN ACCURATE TRANSMISSION COUNTS. * 00450000 * * 00460000 *02* REGISTER CONVENTIONS = * 00470000 * SEE ASSEMBLER EQUATES * 00480000 *02* PATCH LABEL = PSPACE * 00490000 * * 00500000 *01* MODULE TYPE = PROCEDURE * 00510000 *02* PROCESSOR = ASSEMBLER * 00520000 *02* ATTRIBUTES = REENTRANT * 00530000 * * 00540000 *01* ENTRY POINT = APSUX06 * 00550000 *02* LINKAGE = * 00560000 * R1 = ADDRESS OF A 4 BYTE FIELD WHICH CONTAINS THE ADDRESS * 00570000 * OF APSGEXTP * 00580000 * R15 = ENTRY POINT ADDRESS * 00590000 * R14 = RETURN ADDRESS * 00600000 * R13 = SAVE AREA ADDRESS * 00610000 * * 00620000 *01* INPUT = * 00630000 * APSGEXTP - PSF INSTALLATION EXIT PARAMETER AREA * 00640000 * APSUECA - PSF EXIT COMMUNICATIONS AREA * 00650000 * IAZJSPA - JOB SEPARATOR PAGE DATA AREA * 00660000 * * 00670000 *01* OUTPUT = * 00680000 * * 00690000 *01* EXIT NORMAL = RETURN TO CALLER * 00700000 * * 00710000 *01* EXIT ERROR = NONE * 00720000 * * 00730000 *01* EXTERNAL REFERENCES = * 00740000 *02* ROUTINES = NONE * 00750000 *02* DATA AREAS = * 00760000 * APSGEXTP - PSF INSTALLATION EXIT PARAMETER AREA * 00770000 * APSUECA - PSF EXIT COMMUNICATIONS AREA * 00780000 *02* INCLUDES = NONE * 00790000 * * 00800000 *01* MACROS = NONE * 00810000 * * 00820000 *01* MESSAGES = NONE * 00830000 * * 00840000 * 01* CHANGE ACTIVITY = * 00850000 * $H3=LAPS0003, HAF1220, 092887, BJ13WLC: RELEASE 2.1 * 00860000 * $02=OY14561, HAF1203, 061488, TUCGS: ADD MSG & RESOURCE EXIT * 00870000 * SAVE AREAS * 00880000 * $L1=LAPS0004, HAF1228, 060188, B53KELJ: RELEASE 3.0 * 00890000 * $03=OY15015, HAF1228, 080988, B53KTAC: APAR Rollup, Prolog Cng@03A* 00900000 * $H5=LAPS0005, HPRF102, 033189, B53KEMC: REL 2.1.0 NEW FUNCT @H5A* 00910000 * $04=OY54600, HPRF102, 920513, BLDRLD: ADD LINKAGE TO XTP6 @04A* 00920000 * $DU=LAPS0007,HPRF310,980604,BDKURLB: Version 3.1.0 @DUA* 00930000 * $DX=LAPS0008,HPRF320,990923,BDKURLD: Version 3.2.0 @DXA* 00940000 * $EJ=LAPS0008,HPRF320,000126,BDKURLD: Update sample exit 06 @EJA* 00950000 * * 00960000 **** END OF SPECIFICATIONS ******************************************* 00970000 APSUX06 START 0 00980000 TITLE 'DSECT - XTP' 00990000 APSGEXTP LIST=YES 01000000 TITLE 'DSECT - ECA' 01010000 APSUECA LIST=YES 01020000 TITLE 'APSUX06 - MESSAGE EXIT EXAMPLE' 01030000 APSUX06 CSECT , 01040000 APSUX06 AMODE 31 @H5A 01050000 APSUX06 RMODE ANY @H5A 01060000 USING *,15 01070000 B START 01080000 DC AL1(16) LENGTH OF FOLLOWING FIELDS 01090000 DC CL7'APSUX06' NAME OF THIS ROUTINE 01100000 DC CL8'&SYSDATE' DATE OF THIS ASSEMBLY 01110000 DROP 15 01120000 START DS 0H 01130000 STM 14,12,12(13) SAVE CALLERS REGISTERS 01140000 LR BASEREG,15 SWITCH BASE REGISTER 01150000 USING APSUX06,BASEREG 01160000 USING APSGEXTP,XTPPTR 01170000 USING XTP6,XTP6PTR SET ADDRESSIBILITY TO XTP6 @04A 01180000 USING APSUECA,ECAPTR 01190000 L XTPPTR,0(,1) LOAD ADDRESS OF APSGEXTP 01200000 L ECAPTR,XTPECAP LOAD ADDRESS OF APSUECA 01210000 LR 2,13 LOAD ADDRESS OF CALLERS SAVE 01220000 LA 13,ECAMSGSV ADDR OF APSUX06 SAVE AREA @02C 01230000 ST 2,4(,13) SAVE CALLERS SAVE AREA ADDRESS 01240000 ST 13,8(,2) SAVE APSUX06 SAVE AREA ADDRESS 01250000 L XTP6PTR,XTPRECP LOAD ADDRESS OF XTP6 @04A 01260000 ********************************************************************* 01270000 * SAMPLE CODE GOES HERE 01280000 ********************************************************************* 01290000 * CLC XTP6MSG,=C'APS532I ' IS THIS MESSAGE APS532I? @EJA 01300000 * BNE NEXTTEST NO, TEST FOR NEXT MESSAGE @EJA 01310000 * MVI XTP6ACT,XTP6WTO PUT MESSAGE ON CONSOLE @EJA 01320000 * OI XTP6FLG1,XTP6TFSA TERMINATE THE FSA @EJA 01330000 * B GETOUT RETURN @EJA 01340000 NEXTTEST EQU * @EJA 01350000 * TM XTP6FLAG,XTP6INTP IS MESSAGE TO BE PUT ON @EJA 01360000 * INTERRUPT MESSAGE PAGE? @EJA 01370000 * BZ GETOUT NO, RETURN @EJA 01380000 * CLC XTP6MSG,=C'APS026I ' IF JES COMMAND MESSAGE @EJA 01390000 * BE GETOUT RETURN @EJA 01400000 * OI XTP6FLG1,XTP6TJOB TERMINATE THE JOB @EJA 01410000 * OI XTP6FLG1,XTP6HOLD HOLD THE JOB @EJA 01420000 * MVI XTP6ACT,XTP6WTO PUT MESSAGE ON CONSOLE @EJA 01430000 ********************************************************************* 01440000 * EPILOGUE 01450000 ********************************************************************* 01460000 GETOUT SLR 15,15 PSF EXPECTS ZERO RETURN CODE 01470000 L 13,4(,13) RESTORE CALLERS SAVE AREA ADDR. 01480000 L 14,12(,13) RESTORE CALLERS RETURN ADDRESS 01490000 LM 0,12,20(13) RESTORE CALLERS REGISTERS 01500000 BR 14 RETURN TO CALLER 01510000 SPACE 2 01520000 XTPPTR EQU 4 POINTER TO APSGEXTP 01530000 ECAPTR EQU 5 POINTER TO APSUECA 01540000 XTP6PTR EQU 6 POINTER TO XTP6 @04A 01550000 BASEREG EQU 12 BASE REGISTER 01560000 SPACE 2 01570000 END APSUX06 01580000