Page 1 of 1

Question on replacing FILEAID in JCL

PostPosted: Mon Sep 28, 2009 5:24 am
by Gururao78
I have the following step in my JCL:

//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                           

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                               

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                       

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

Re: Question on replacing FILEAID in JCL

PostPosted: Tue Sep 29, 2009 2:29 am
by dick scherrer
Hello and welcoem to the forum,

Sort will not match the members of one file against another. . .

One way to do what you want is using SUPERC. It will produce MEMBER SUMMARY LISTING (LINE COMPARE)
output that i believe will meet your requirement. Experiment with tso/ispf/3.13.

Re: Question on replacing FILEAID in JCL

PostPosted: Tue Sep 29, 2009 1:04 pm
by Anuj Dhawan
The FILEAID utility takes a lot of CPU time to do this excercise.
You need to define, what is "a lot of CPU" time and how do you conclude that it's about CPU time and not elapsed time?

Please learn to use BBcode, that preserves the aignment of code -- I've edited your post to add BBcode tags.