Barry A Schwarz wrote (edited to include information Barry sent me offline):
> SMP/E produces a block of lines for each element. Something like > >EDC40321 LASTUPD = HLE7703 TYPE=ADD > LIBRARIES = DISTLIB=AEDCMOD1 > FMID = HLE7703 > RMID = UQ46415 > CSECT = EDCOILNA > LMOD = CEEEV003 > >I would like to convert it to a one line entry along the lines of: > >MOD=EDC40321 LASTUPD=HLE7703 TYPE=ADD DISTLIB=AEDCMOD1 SYSLIB=bbbbbbbb >FMID=HLE7703 RMID=UQ46415 >CSECT=EDCOILNA >LMOD=CEEEV003 >all on one line > >I have already done something very similar for DDDEFs in REXX but I'm >looking for something with better performance. > >Does anyone have a suggestion, such as a set of DFSORT/ICETOOL >statements? Barry contacted me offline with more information, and here's the DFSORT/ICETOOL job I came up with to give him what he wanted. Note that it requires z/OS DFSORT V1R5 PTF UQ95214 or DFSORT R14 PTF UQ95213 (Dec, 2004) in order to use DFSORT's new IFTHEN and OVERLAY functions to do "group" operations. For complete details on all of the new DFSORT and ICETOOL functions available with the Dec, 2004 PTF, see: www.ibm.com/servers/storage/support/software/sort/mvs/pdug/ For some more Smart DFSORT Tricks that use IFTHEN to do group operations, see: http://www.ibm.com/servers/storage/support/software/sort/mvs/tricks/srtmtrck.html#d02 and: http://www.ibm.com/servers/storage/support/software/sort/mvs/tricks/srtmtrck.html#d01 Here's the DFSORT/ICETOOL job for reformatting the SMP/E listing: //S1 EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //IN DD DSN=... input file //T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS) //OUT DD DSN=... output file //TOOLIN DD * COPY FROM(IN) TO(T1) USING(CTL1) SPLICE FROM(T1) TO(OUT) ON(130,8,ZD) - WITHEACH WITH(41,16) WITH(58,28) WITH(87,12) WITH(100,14) - WITH(115,13) USING(CTL2) /* //CTL1CNTL DD * OMIT FORMAT=CH, COND=(1,5,EQ,C'1PAGE',OR,10,6,EQ,C'MODULE',OR,12,1,EQ,C' ') INREC IFTHEN=(WHEN=INIT,OVERLAY=(130:SEQNUM,8,ZD)), IFTHEN=(WHEN=(12,7,CH,EQ,C'LASTUPD'), BUILD=(C' MOD=',2,9,C'LASTUPD=',30,17, 130:SEQNUM,8,ZD)), IFTHEN=(WHEN=(12,7,CH,NE,C'LASTUPD'), OVERLAY=(138:SEQNUM,8,ZD, 130:130,8,ZD,SUB,138,8,ZD,M11,LENGTH=8), HIT=NEXT), IFTHEN=(WHEN=(12,9,CH,EQ,C'LIBRARIES'), BUILD=(41:30,16,130:130,8)), IFTHEN=(WHEN=(12,4,CH,EQ,C'FMID'), BUILD=(58:C'SYSLIB=',74:C'FMID=',30,7, 130:130,8)), IFTHEN=(WHEN=(12,4,CH,EQ,C'RMID'), BUILD=(87:C'RMID=',30,7, 130:130,8)), IFTHEN=(WHEN=(12,5,CH,EQ,C'CSECT'), BUILD=(100:C'CSECT=',30,8, 130:130,8)), BUILD=(115:C'LMOD=',30,8, 130:130,8)) /* //CTL2CNTL DD * OUTFIL FNAMES=OUT,OUTREC=(1,129) /* Frank Yaeger - DFSORT Team (IBM) Specialties: ICETOOL, IFTHEN, OVERLAY, Symbols, Migration => DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/ ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html