How do I link PVLMAUD?

Document ID : KB000054476
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

Need to install load module auditor of the panvalet subsystem and cannot seem to get this to work.

Solution:

To gain a basic understanding of GEM, read this chapter and the chapter Exit Facilities in the AllFusion CA-Panvalet for z/OS Getting Started. If the basic exit satisfies your needs without any changes, you can activate the exit with the following procedure:

  1. Assemble and LINK PVLMAUD (the basic Load Module Auditor). Link it into a library that the AllFusion CA-Panvalet exit loader (PVEXTLDR) can access.

  2. Code EXITDEF macros, as described in the chapter Exit Facilities in the AllFusion CA-Panvalet for z/OS Getting Started:
      PVEXTUSR CSECT                                                             
       EXITDEF  BEGIN                                                             
       NAME=PVLMAUD,TYPE=PVLMAUDX                                                 
       EVENTS=($MEM001,$READ001)                                                  
       END   
  3. Assemble and link the exit definition module you coded in Step 2. The load module name is PVEXTUSR. Link it into the AllFusion CA-Panvalet load library. This library contains the:

    • AllFusion CA-Panvalet programs (PAN#1, PAN#2, and so on)

    • AllFusion CA-Panvalet exit loader (PVEXTLDR)

    • AllFusion CA-Panvalet exit definitions (PVEXTUSR)

    • Exit (PVLMAUD)
// JOB 
//* 
//* THIS SAMPLE JCL SHOWS HOW TO ASSEMBLE AND LINK EDIT THE PANVALET 
//* LOAD MODULE AUDITOR EXIT.
//*
//WRITE EXEC PGM=PAN#1
//* 
//* STEP ONE WRITES THE SOURCE MEMBER TO A TEMPORARY DATASET FOR INPUT 
//* TO THE ASSEMBLER. 
//* 
//STEPLIB DD DSN=CAI.CAILIB,DISP=SHR 
//PANDD1 DD DSN=CAI.PANLIB,DISP=SHR 
//PANDD2 DD DSN=&&TEMP,DISP=(,PASS),UNIT=SYSDA,SPACE=(TRK,(5,5))
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
++WRITE WORK,PVLMAUD 
/*
//* 
//* STEP TWO ASSEMBLES THE EXIT, PASSING THE OBJECT DECK TO THE 
//* LINKAGE EDITOR. 
//* 
//ASSEMBLE EXEC PGM=ASMA90,PARM='OBJECT,NODECK'
//SYSPRINT DD SYSOUT=* 
//SYSUT1 DD SPACE=(TRK,(50,10)),UNIT=SYSDA,DISP=NEW 
//SYSUT2 DD SPACE=(TRK,(50,10)),UNIT=SYSDA,DISP=NEW 
//SYSUT3 DD SPACE=(TRK,(50,10)),UNIT=SYSDA,DISP=NEW 
//SYSLIB DD DSN=CAI.MACLIB,DISP=SHR 
// DD DSN=SYS1.MACLIB,DISP=SHR 
//SYSLIN DD SPACE=(TRK,(50,10)),UNIT=SYSDA,DISP=(,PASS),DSN=&&OBJ
//SYSPUNCH DD SPACE=(TRK,10),UNIT=SYSDA,DISP=(NEW,PASS) 
//SYSIN DD DSN=&&TEMP,DISP=(OLD,PASS) 
/* 
//*
//* STEP THREE LINKS THE EXIT INTO THE LOAD LIBRARY. 
//*
//LINKEDIT EXEC PGM=IEWL, 
// PARM='RENT,REFR,LIST,XREF,SIZE=(384K,128K),TERM' 
//SYSPRINT DD SYSOUT=* 
//SYSUT1 DD SPACE=(TRK,(50,10)),UNIT=SYSDA,DISP=NEW 
//SYSUT2 DD SPACE=(TRK,(50,10)),UNIT=SYSDA,DISP=NEW 
//SYSUT3 DD SPACE=(TRK,(50,10)),UNIT=SYSDA,DISP=NEW 
//SYSLMOD DD DSN=CAI.CAILIB,DISP=SHR 
//SYSLIB DD DSN=SYS1.LINKLIB,DISP=SHR 
//SYSLIN DD DSN=&&OBJ,DISP=(OLD,PASS) 
// DD DDNAME=SYSIN 
//SYSPUNCH DD SPACE=(TRK,10),UNIT=SYSDA,DISP=(NEW,PASS)
//SYSIN DD * 
NAME PVLMAUD(R) 
//