Enhanced IRRADU00 record filtering using SMF$XT30/31
Within RA2002 there is an optional feature, called SMF$XT30/31 SMF user exits, to trap any SMF records before they get passed to the IBM user exits IRRADU00/86. An installation has very often the need to go over x-millions of SMF type 80 records. Using the IBM supplied exits to perform such a task will automatically waste terra-bytes of output for nothing, long before a decent report could be generated in the worst case. Just imagine due to an audit in an insurance company you want to check over the last x-years the access to a specific dataset or any other resource. Using the standard IRRADU00 approach will fail due to the huge amount of generated data you do not need in the first place. Why generating data you do not need by wasting resources?
Enhanced filtering of records
//SMFEXTR EXEC PGM=IFASMFDP
//STEPLIB DD DISP=SHR,DSN=RA2002.V3R7M0.LINKLIB
//OUTDD DD DISP=SHR,DSN=XRZP001.IRRADU00.OUTDDNEW,
// DCB=(RECFM=VB,LRECL=12288)
//ADUPRINT DD SYSOUT=*
//SMFDATA1 DD DSN=XRZP001.SMF.ALS$1003,DISP=OLD
//SMFOUT DD DSN=&&SMFFILE,
// DISP=(,PASS),
// DCB=(RECFM=VBS,LRECL=32760,BLKSIZE=6240),
// UNIT=SYSDA,SPACE=(TRK,(1,1))
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
INDD(SMFDATA1,OPTIONS(DUMP))
ABEND(NORETRY)
OUTDD(SMFOUT,TYPE(80))
USER2(SMF$XT30)
USER3(SMF$XT31)
/*
//FLTPRINT DD SYSOUT=*
//FLTINPUT DD *
+INCLUDE COND=((0006,1,HX,EQ,50),AND,
((0001(0004,H38,H40,I1,0),1,HX,EQ,04),AND,
(0001(0004,H38,H40,I1,2),01,HX,EQ,80)),AND,
((0001(0004,H38,H40,I1,0),1,HX,EQ,01),AND,
(0001(0004,H38,H40,I1,2),00,CG,EQ,RA**)))
//
Sample output generated by IBM’s IFASMFDP
Sample output generated by SMF$XT30/31
Sample output generated by IBM’s IRRADU00