>> Now, my question is, is there a way to do this with only one step and >> reading the input file only once?
Jack, Here is 1 step JCL that would match the STG with CICS records the type 0404 records from the input file. Note that we can additional functionality if you need after the match is done. //STEP0100 EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SORTDIAG DD DUMMY //SYMNAMES DD * ** INPUT TYPE 0404 RECORD LAYOUT ** IN-RDW,01,04,BI DSN,10,44,CH GRP,62,08,CH STG,C'GPRFSTG' CICS,C'GPRFCICS' ACC,71,08,CH ALTER,C'ALTER' READ,C'READ' ** STG REFORMATTED RECORD LAYOUT ** STG-RDW,01,04,BI STG-DSN,*,44,CH SKIP,1 STG-GRP,*,08,CH SKIP,1 STG-ACC,*,08,CH SKIP,1 ** CICS REFORMATTED RECORD LAYOUT ** CICS-RDW,01,04,BI CICS-DSN,*,44,CH SKIP,1 CICS-GRP,*,08,CH SKIP,1 CICS-ACC,*,08,CH SKIP,1 /* //STG DD DISP=SHR,DSN=&HLQ..RACF.IRRDBU00.T0404 //CICS DD DISP=SHR,DSN=&HLQ..RACF.IRRDBU00.T0404 //SORTOUT DD SYSOUT=* //SYSIN DD * JOINKEYS F1=STG,FIELDS=(STG-DSN,A,STG-ACC,A) JOINKEYS F2=CICS,FIELDS=(CICS-DSN,A,CICS-ACC,A) REFORMAT FIELDS=(F1:STG-DSN) OPTION COPY /* //JNF1CNTL DD * OPTION VLSCMP INCLUDE COND=(ACC,EQ,ALTER,AND,GRP,EQ,STG) INREC BUILD=(IN-RDW, DSN,C'|', ACC,C'|', GRP,C'|') /* //JNF2CNTL DD * OPTION VLSCMP INCLUDE COND=(ACC,EQ,ALTER,AND,GRP,EQ,CICS) INREC BUILD=(IN-RDW, DSN,C'|', ACC,C'|', GRP,C'|') /* Thanks, Kolusu DFSORT Development IBM Corporation ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN