Henrik Sorensen wrote on 02/01/2008 01:12:58 AM:
> Inspired by other mails regarding DFSORT / ICETOOL I have the following
> problem.
>
> Given this input (line numbers are not part of input)
>
> 001 ! A001
> 002 ! B00M
> 003 ! C00D
> 004 ! B00N
> 005 ! C00E
> 006 ! B00O
> 007 ! C00F
> 008 ! A002
> 009 ! B00P
> 010 ! C00G
> 011 ! B00Q
> 012 ! C00H
>
> I am looking for a way to get this condensed result.
>
> 001 ! A001 B00M C00D
> 002 ! A001 B00N C00E
> 003 ! A001 B00O C00F
> 004 ! A002 B00P C00G
> 005 ! A002 B00Q C00H
Here's a DFSORT/ICETOOL job that will do what you asked for.
I assumed your input file has RECFM=FB and LRECL=80, but the
job can be changed appropriately for other attributes.
//S1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD *
A001
B00M
C00D
B00N
C00E
B00O
C00F
A002
B00P
C00G
B00Q
C00H
/*
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS)
//OUT DD DSN=... output file
//TOOLIN DD *
SPLICE FROM(IN) TO(T1) ON(81,8,ZD) -
WITHALL WITH(5,76) USING(CTL1)
SPLICE FROM(T1) TO(OUT) ON(81,8,ZD) -
WITHEACH WITH(13,4) USING(CTL2)
/*
//CTL1CNTL DD *
OPTION COPY
INREC IFTHEN=(WHEN=INIT,OVERLAY=(81:SEQNUM,8,ZD)),
IFTHEN=(WHEN=(1,1,CH,NE,C' '),
OVERLAY=(81:SEQNUM,8,ZD)),
IFTHEN=(WHEN=NONE,
OVERLAY=(89:SEQNUM,8,ZD,
81:81,8,ZD,SUB,89,8,ZD,TO=ZD,LENGTH=8))
OUTFIL FNAMES=T1,
IFTHEN=(WHEN=(7,1,CH,NE,C' '),OVERLAY=(81:SEQNUM,8,ZD)),
IFTHEN=(WHEN=NONE,OVERLAY=(81:SEQNUM,8,ZD))
/*
//CTL2CNTL DD *
OPTION COPY
OUTFIL FNAMES=OUT,BUILD=(1,80)
/*
Frank Yaeger - DFSORT Development Team (IBM) - [EMAIL PROTECTED]
Specialties: PARSE, JFY, SQZ, 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