**** START OF SPECIFICATIONS ***************************************** 00010000 * * 00020000 *01* MODULE NAME = APSUX05X @DXC* 00030000 * * 00040000 * $MOD(APSUX05X) COMP(APS) PROD(PSF) : VERSION 3.2.0 * 00050000 * * 00060000 *01* DESCRIPTIVE NAME = * 00070000 * SMF RECORD INSTALLATION EXIT EXAMPLE * 00080000 * * 00090000 *01* STATUS = VERSION 3, RELEASE 2, LEVEL 0 * 00100000 * * 00110000 *01* FUNCTION = * 00120000 * MODIFY THE SMF RECORD BEING WRITTEN BY PSF * 00130000 * * 00140000 *02* OPERATION = * 00150000 * 1. OBTAIN ADDRESSABILITY TO THE SMF RECORD. * 00160000 * 2. MODIFY THE USER ID FIELD IN THIS RECORD. * 00170000 * 3. SET THE PSF PROCESSING INDICATOR TO WRITE THE SMF RECORD * 00180000 * * 00190000 *01* NOTES = * 00200000 *02* DEPENDENCIES = * 00210000 * THIS EXIT WILL ONLY WORK IF CHANGING A FIELD IN THE * 00220000 * COMMON SECTION OF THE SMF6 RECORD. IF WANTING TO CHANGE * 00230000 * A FIELD IN ONE OF THE EXTENSIONS OF THE SMF6 RECORD, THEN * 00240000 * ADDRESSIBILITY MUST BE SET UP TO THAT EXTENSION FIRST. @DGA* 00250000 *02* RESTRICTIONS = NONE * 00260000 *02* REGISTER CONVENTIONS = * 00270000 * SEE ASSEMBLER EQUATES * 00280000 *02* PATCH LABEL = PSPACE * 00290000 * * 00300000 *01* MODULE TYPE = PROCEDURE * 00310000 *02* PROCESSOR = ASSEMBLER * 00320000 *02* ATTRIBUTES = REENTRANT * 00330000 * AMODE 31 * 00340000 * RMODE ANY * 00350000 * * 00360000 *01* ENTRY POINT = APSUX05 * 00370000 *02* LINKAGE = * 00380000 * R1 = ADDRESS OF A 4 BYTE FIELD WHICH CONTAINS THE ADDRESS * 00390000 * OF APSGEXTP * 00400000 * R15 = ENTRY POINT ADDRESS * 00410000 * R13 = SAVE AREA ADDRESS * 00420000 * * 00430000 *01* INPUT = * 00440000 * SMF RECORD * 00450000 * * 00460000 *01* OUTPUT = * 00470000 * MODIFIED SMF RECORD * 00480000 * * 00490000 *01* EXIT NORMAL = RETURN TO CALLER * 00500000 * * 00510000 *01* EXIT ERROR = NONE * 00520000 * * 00530000 *01* EXTERNAL REFERENCES = * 00540000 *02* ROUTINES = NONE * 00550000 *02* DATA AREAS = * 00560000 * APSGEXTP - PSF INSTALLATION EXIT PARAMETER AREA * 00570000 * APSUECA - PSF EXIT COMMUNICATIONS AREA * 00580000 * IFASMFR - MVS SMF TYPE 6 RECORD * 00590000 *02* INCLUDES = NONE * 00600000 * * 00610000 *01* MACROS = NONE * 00620000 * * 00630000 *01* MESSAGES = NONE * 00640000 * * 00650000 * 01* CHANGE ACTIVITY = * 00660000 * $H3=LAPS0003, HAF1220, 870928, BJ13WLC: RELEASE 2.1 * 00670000 * $L1=LAPS0004, HAF1228, 880601, B53KELJ: RELEASE 3.0 * 00680000 * $H5=LAPS0005, HPRF102, 033189, B53KEMC: REL 2.1.0 NEW FUNCT @H5A* 00690000 * $DG=LAPS0007, HPRF310, 980427, BDKURLD: Add documentation for @DGA* 00700000 * SMF6 @DGA* 00710000 * $DU=LAPS0007,HPRF310,980604,BDKURLB: Version 3.1.0 @DUA* 00720000 * $DX=LAPS0008,HPRF320,990923,BDKURLD: Version 3.2.0 @DXA* 00730000 * * 00740000 **** END OF SPECIFICATIONS ******************************************* 00750000 APSUX05 START 0 00760000 TITLE 'DSECT - XTP' 00770000 APSGEXTP LIST=YES 00780000 TITLE 'DSECT - ECA' 00790000 APSUECA LIST=YES 00800000 TITLE 'DSECT - SMF TYPE 6 RECORD' 00810000 IFASMFR 6 LIST=YES 00820000 TITLE 'INSTALLATION EXIT SMF RECORD PROCESSOR EXAMPLE' 00830000 APSUX05 CSECT , 00840000 APSUX05 AMODE 31 @H5A 00850000 APSUX05 RMODE ANY @H5A 00860000 USING *,15 00870000 B START 00880000 DC AL1(16) LENGTH OF FOLLOWING FIELDS 00890000 DC CL8'APSUX05 ' NAME OF THIS ROUTINE 00900000 DC CL8'&SYSDATE' DATE OF THIS ASSEMBLY 00910000 DROP 15 00920000 START DS 0H 00930000 STM 14,12,12(13) SAVE CALLERS REGISTERS 00940000 LR BASEREG,15 SWITCH BASE REGISTER 00950000 USING APSUX05,BASEREG 00960000 USING APSGEXTP,XTPPTR 00970000 USING APSUECA,ECAPTR 00980000 USING SMFRCD6,SMFPTR 00990000 L XTPPTR,0(,1) LOAD ADDRESS OF APSGEXTP 01000000 L ECAPTR,XTPECAP LOAD ADDRESS OF APSUECA 01010000 LR 2,13 LOAD ADDRESS OF CALLERS SAVE 01020000 LA 13,ECAUSAVE ADDRESS OF APSUX05 SAVE AREA 01030000 ST 2,4(,13) SAVE CALLERS SAVE AREA ADDRESS 01040000 ST 13,8(,2) SAVE APSUX05 SAVE AREA ADDRESS 01050000 SLR 15,15 RESET RETURN CODE REGISTER 01060000 L SMFPTR,XTPRECP SET ADDRESS OF SMF RECORD 01070000 ********************************************************************* 01080000 * CHECK IF PROCESSING THE JESNEWS DATA SET 01090000 ********************************************************************* 01100000 TM XTP5FLAG,XTP5NEWS IF PROCESSING JESNEWS @L1A 01110000 BNO MDFYSMF @L1A 01120000 MVI XTPPIND,XTPSKP SKIP SMF RECORD @L1A 01130000 B EPILOG @L1A 01140000 ********************************************************************* 01150000 * MODIFY THE SMF TYPE 6 RECORD PRIOR TO PSF ISSUING 01160000 * THE SMF WRITE MACRO. 01170000 * 01180000 * THIS EXIT WILL ONLY WORK IF CHANGING A FIELD IN THE 01190000 * COMMON SECTION OF THE SMF6 RECORD. IF WANTING TO CHANGE 01200000 * A FIELD IN ONE OF THE EXTENSIONS OF THE SMF6 RECORD, THEN 01210000 * ADDRESSIBILITY MUST BE SET UP TO THAT EXTENSION FIRST. @DGA 01220000 ********************************************************************* 01230000 MDFYSMF MVC SMF6UIF(8),MODIFY SET SMF RECORD USER ID FIELD 01240000 * TO 'MODIFY' 01250000 MVI XTPPIND,XTPWRT SET PSF PROCESSING INDICATOR 01260000 * TO WRITE THE SMF RECORD 01270000 ********************************************************************* 01280000 * EPILOGUE 01290000 ********************************************************************* 01300000 EPILOG SLR 15,15 PSF EXPECTS ZERO RETURN CODE 01310000 L 13,4(,13) RESTORE CALLERS SAVE AREA ADDR. 01320000 L 14,12(,13) RESTORE CALLERS RETURN ADDRESS 01330000 LM 0,12,20(13) RESTORE CALLERS REGISTERS 01340000 BR 14 RETURN TO CALLER 01350000 SPACE 2 01360000 MODIFY DC C'MODIFY ' USED TO MODIFY THE SMF RECORD 01370000 XTPPTR EQU 4 POINTER TO APSGEXTP 01380000 ECAPTR EQU 5 POINTER TO APSUECA 01390000 SMFPTR EQU 7 POINTER TO SMFRCD6 01400000 BASEREG EQU 12 BASE REGISTER 01410000 SPACE 2 01420000 END APSUX05 01430000