CA Panvalet program PAN#2 is getting S0C4 in module PVPRNTDS while running compiles.
The source for the exit is EFF005 and is located in the Panvalet OPTLIB(options) PANLIB.
First write the source EFF005 out to your object file (PDS) from the OTPLIB(options) PANLIB.
Example below:
//STEP1 EXEC PGM=PAN#1
//STEPLIB DD DSN=YOUR.PANV.V14R6.CBA3LINK,DISP=SHR
//PANDD1 DD DSN=YOUR.PANVALET.OPTLIB.PANLIB,DISP=SHR
//PDSOUT DD DSN=YOUR.SOURCE.OBJECT,DISP=OLD
//SYSPRINT DD SYSOUT=*
//SYSPUNCH DD SYSOUT=*
//SYSIN DD *
++OPTION OUTPUT,PDSOUT,EFF000 0 <<<< in col 72 >>>>
++WRITE WORK,EFF000 E <<<< in col 72 >>>>
//
EFF005 is the source for module called PANEXIT but this is linked as module PVPRNTDS.
Example JCL:
//ASSEMBLE EXEC PGM=ASMA90,REGION=0M,PARM=(TERM,OBJ)
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSTERM 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=SYS1.MACLIB,DISP=SHR
//SYSLIN DD DISP=SHR,DSN=YOUR.SOURCE.OBJECT(EFF005)
//SYSPUNCH DD SPACE=(TRK,10),UNIT=SYSDA,DISP=(NEW,PASS)
//SYSIN DD *
+INC EFF005
//*
//LINKEDIT EXEC PGM=IEWL,
// PARM='NORENT,LIST,MAP,XREF'
//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 DISP=SHR,DSN=YOUR.PANVALET.LOADLIB
//OBJT DD DISP=SHR,DSN=YOUR.SOURCE.OBJECT
//SYSPUNCH DD SPACE=(TRK,10),UNIT=SYSDA,DISP=(NEW,PASS)
//SYSLIN DD *
ENTRY PANEXIT
INCLUDE OBJT(EFF005)
NAME PVPRNTDS(R)
//
This does not use temporary dataset for OBJECT and explicitly names the entry point object and module name.