The IBM® DFSORT Program Product can, during various phases of processing, pass control to routines designed and written to perform specific functions. SYS1.SAMPLIB has two sample routines that receive control from exits E15 and E35 of this sort/merge program. The sample E15 exit routine, called SMFE15, extracts all SMF records without a job log identification (job name, time, and date that the reader recognized the JOB card) from the SMF dump data set. The SMFE15 exit routine retains the dump header and dump trailer records (types 2 and 3) in the temporary data set HDRDATA. It retains all other system-oriented records (records without a job log identification) in the temporary data set SORDATA.
The sample E35 exit routine, called SMFE35, places all the records extracted by the SMFE15 routine in the sort output data set. These records are inserted in the data set as follows: dump header records, dump trailer records, all other system-oriented records, and the sorted job-oriented records.
//PRINT JOB 123456,SMITH
// EXEC PGM=IEBPTPCH
//SYSPRINT DD SYSOUT=A
//SYSUT1 DD DSNAME=SYS1.SAMPLIB,DISP=(OLD,KEEP),
// UNIT=xxxx,VOLUME=SER=xxxxxx1
//SYSUT2 DD SYSOUT=A
//SYSIN DD *
PRINT TYPORG=PO,MAXNAME=4,MAXFLDS=4
MEMBER NAME=SMFSORT
RECORD FIELD=(80)
MEMBER NAME=SMFE15
RECORD FIELD=(80)
MEMBER NAME=SMFE35
RECORD FIELD=(80)
/*
1
The volume and unit parameters depend on your installation's request.
//SMFSORT JOB MSGLEVEL=1
//STEP1 EXEC ASMFCL1
//ASM,SYSIN DD *
(E15 Source Deck)
/*
//LKED.SYSLMOD DD DSNAME=SMF1.EXITS,UNIT=SYSDA,2
// DISP=(NEW,KEEP),SPACE=(TRK,(10,5,1)),
// VOL=SER=xxxxxx
//LKED.SYSIN DD *
NAME E15(R)3
/*
//STEP2 EXEC ASMFCL1
//ASM,SYSIN DD *
(E35 Source Deck)
/*
//LKED.SYSLMOD DD DSNAME=SMF1.EXITS,DISP=(OLD,KEEP),2
// UNIT=SYSDA,VOL=SER=xxxxxx
//LKED.SYSIN DD *
NAME E35(R)3
/*
//SORTSTEP EXEC PGM=SORT,REGION=100K4
//SYSOUT DD SYSOUT=A
//SORTLIB DD DSNAME=SYS1,SORTLIB,DISP=SHR
//EXITLIB DD DSNAME=SMF1,EXITS,DISP=(OLD,KEEP),5
// UNIT=SYSDA,VOL=SER=xxxxxx
//SORTIN DD UNIT=3480,VOL=SER=SYSMAN,DISP=OLD,6
// LABEL=(,SL),DCB=(RECFM=VBS,LRECL=600,BLKSIZE=200)7
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(50),,CONTIG)8
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,(50),,CONTIG)8
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,(50),,CONTIG)8
//SORTOUT DD UNIT=3480,DSNAME=SMF1,SORTOUT,LABEL=(,SL),9
// DISP=(KEEP),DCB=(RECFM=VBS,LRECL=600,BLKSIZE=200)7
//SORDATA DD UNIT=SYSDA,SPACE=(CYL,(1,1)),10
// DCB=(RECFM=VBS,LRECL=600,BLKSIZE=200)7
//HDRDATA DD UNIT=SYSDA,SPACE=(TRK,(5,5)),10
// DCB=(RECFM=VBS,LRECL=600,BLKSIZE=200)7
//SYSIN DD *
SORT FIELDS=(19,16,A,11,4,A,7,4,A),FORMAT=BI,SIZE=E400011
MODS E15=(E15,700,EXITLIB,N),E35=(E35,1500,EXITLIB,N)11
END
/*