//PS020 EXEC PGM=FILEAID
//SYSPRINT DD DISP=(NEW,CATLG,CATLG),DSN=IT0007.PMSTB.N.ERRORLST,
// UNIT=SYSDA,RECFM=FBA,LRECL=133,BLKSIZE=0,
// SPACE=(TRK,(400,5),RLSE)
//SYSLIST DD DUMMY
//DD01 DD DISP=SHR,DSN=IT0007.PMSTB.PI
//DD01O DD SYSOUT=*
//SYSIN DD DISP=SHR,DSN=BEXD.PMSTB.N.MEM
//SYSPRINT DD DISP=(NEW,CATLG,CATLG),DSN=IT0007.PMSTB.N.ERRORLST,
// UNIT=SYSDA,RECFM=FBA,LRECL=133,BLKSIZE=0,
// SPACE=(TRK,(400,5),RLSE)
//SYSLIST DD DUMMY
//DD01 DD DISP=SHR,DSN=IT0007.PMSTB.PI
//DD01O DD SYSOUT=*
//SYSIN DD DISP=SHR,DSN=BEXD.PMSTB.N.MEM
In the above step, FILEAID utility reads each member in the SYSIN dataset, compares with the members in DD01 , once it finds a match, it updates the member in DD01 with the member in SYSIN and it writes a following message in the SYSPRINT dataset:
DD01 DSN=IT0007.PMSTB.PI OPENED AS PO-E,
RECFM=FB,LRECL=80,BLKSIZE=32720,VOL=BALP8F
$$DD01 LMODDIR MEMBER=C0225401
ABOVE FUNCTION ENDED
MEMBERS-READ=1,SELECTED=1
$$DD01 LMODDIR MEMBER=C0225402
ABOVE FUNCTION ENDED
MEMBERS-READ=1,SELECTED=1
RECFM=FB,LRECL=80,BLKSIZE=32720,VOL=BALP8F
$$DD01 LMODDIR MEMBER=C0225401
ABOVE FUNCTION ENDED
MEMBERS-READ=1,SELECTED=1
$$DD01 LMODDIR MEMBER=C0225402
ABOVE FUNCTION ENDED
MEMBERS-READ=1,SELECTED=1
But if it did not find a match for a member that it picked from SYSIN , in the DD01 dataset, it writes the following message to the SYSPRINT dataset:
$$DD01 LMODDIR MEMBER=C4863705
ER271-MEMBER C4863705 DOES NOT EXIST ON THE DATASET.
.....SKIPPING TO NEXT $$DD CARD
ER271-MEMBER C4863705 DOES NOT EXIST ON THE DATASET.
.....SKIPPING TO NEXT $$DD CARD
These messages are important, since they are used in subsequent steps in the JCL to do further processing.
The FILEAID utility takes a lot of CPU time to do this excercise. I was trying to figure out if the same function can be done thru any other utility like SORT. If someone has a SORT command to carry out the same function and write the same messages to the SYSPRINT. I would really appreciate it.
Thanks,
Guru