For anyone interested, and for the archives, here is how Frank solved my problem: //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 SYSOUT=* //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),HIT=NEXT), IFTHEN=(WHEN=(12,4,CH,EQ,C'FMID'), BUILD=(58:C'SYSLIB=',74:C'FMID=',30,7, 130:130,8),HIT=NEXT), IFTHEN=(WHEN=(12,4,CH,EQ,C'RMID'), BUILD=(87:C'RMID=',30,7, 130:130,8),HIT=NEXT), IFTHEN=(WHEN=(12,5,CH,EQ,C'CSECT'), BUILD=(100:C'CSECT=',30,8, 130:130,8),HIT=NEXT), IFTHEN=(WHEN=(12,4,CH,EQ,C'LMOD'), BUILD=(115:C'LMOD=',30,8, 130:130,8),HIT=NEXT) /* //CTL2CNTL DD * OUTFIL FNAMES=OUT,OUTREC=(1,129) /*
Here's what the first three records in OUT look like (one line per LASTUP group): MOD=EDC40321 LASTUPD=HLE7703 TYPE=ADD DISTLIB=AEDCMOD1 SYSLIB= FMID=HLE7703 RMID=UQ46415 CSECT=EDCOILNA LMOD=CEEEV003 MOD=EDC40322 LASTUPD=HLE7703 TYPE=ADD DISTLIB=AEDCMOD1 SYSLIB= FMID=HLE7703 RMID=UQ46415 CSECT=EDCOIMAK LMOD=CEEEV003 MOD=EDC40323 LASTUPD=HLE7703 TYPE=ADD DISTLIB=AEDCMOD1 SYSLIB= FMID=HLE7703 RMID=UQ46415 CSECT=EDCOINET LMOD=CEEEV003 Frank Yaeger <[EMAIL PROTECTED]> wrote: Barry A Schwarz wrote: > SMP/E produces a block of lines for each element. Something like > > element-name LASTUPD = aaaa > LIBRARIES = DISTLIB=bbbb > FMID = cccc > RMID = dddd > >I would like to convert it to a one line entry along the lines of > > element-type name aaaa bbbb cccc dddd > >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, I don't use SMP/E, so I'm not familiar with the actual output it produces. If you could show me an actual example (with real values in their actual positions) of the records it produces for several elements and the output you want (with real values) for each element, I'll try to come up with a DFSORT/ICETOOL job for you. Also, what is the RECFM and LRECL of the input file? --------------------------------- Yahoo! Sports Rekindle the Rivalries. Sign up for Fantasy Football ---------------------------------------------------------------------- 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