DEB$JLOG  - Trap generated job output



Purpose:
To trap all output JES messages, SYSIN or SYSOUT data of a JOB.  This tool works under ESA - z/OS. It dynamically allocates each output file (JES) and writes it to a print of any other sequential file. This may be beneficial for users who have no output management system or simply wanna keep their own generated sysout files in other flat files i.e. as GDG files.
The program DEB$JLOG normally will be the last job step. Another advantage would be that you could stuff the output of DEB$JLOG into a PDF document and mail it. Such programs are freely available under
www.cbttape.org. More details about options(PARM=) can be found in the SAMPLIB.

The basic idea behind this program was to keep e.g. the output of the last 255 RACF batch related jobs for reference purposes. To save space a user could utilize the IBM terse program called TRSMAIN. Space savings are around >80%.


//TRAPJLOG   EXEC     PGM=DEB$JLOG,COND=EVEN
//STEPLIB      DD       DSN=RA2002.LINKLIB,DISP=SHR
//JOBPRINT     DD       DSN=XRZP001.ARCHIVE.COMPILE(+1),
//             DISP=(,CATLG,DELETE),
//             DCB=(XRZP001.ARCHIVE.MODEL),
//             UNIT=SYSDA,VOL=SER=CBTTAP,
//             SPACE=(TRK,(1,150),RLSE)
/*
//TERSE     EXEC PGM=TRSMAIN,PARM=PACK UNPACK
//SYSPRINT    DD SYSOUT=*
//INFILE      DD DISP=SHR,DSN=XRZP001.ARCHIVE.COMPILE(+1)
//OUTFILE     DD DISP=(NEW,CATLG),
//            DSN=XRZP001.ARCHIVE.COMPILE.TERSE(+1),
//            UNIT=SYSDA,VOL=SER=CBTTAP,
//            SPACE=(TRK,(5,150),RLSE),
//            DCB=(XRZP001.ARCHIVE.TERSE.MODEL)
//






Required GDG definitions and model DSCB(s):
//STEP1    EXEC  PGM=IDCAMS
//* ONE FOR JOBPRINT GDGS
//MODEL1   DD  UNIT=SYSDA,DISP=(,CATLG),SPACE=(TRK,0),
//             DCB=(RECFM=VB,LRECL=137,DSORG=PS),
//             DSN=XRZP001.ARCHIVE.MODEL
//* ONE FOR OUTFILE GDGS (TERSED DATA)
//MODEL2   DD  UNIT=SYSDA,DISP=(,CATLG),SPACE=(TRK,0),
//             DCB=(RECFM=FB,LRECL=1024,DSORG=PS),
//             DSN=XRZP001.ARCHIVE.TERSE.MODEL
//SYSPRINT DD    SYSOUT=*
//SYSIN    DD    *
  DEFINE GDG (NAME(XRZP001.ARCHIVE.COMPILE) -
             LIMIT(255) -
             NOEMPTY -
             SCRATCH)
  DEFINE GDG (NAME(XRZP001.ARCHIVE.COMPILE.TERSE) -
             LIMIT(255) -
             NOEMPTY -
             SCRATCH)
//