Alissa Margulies
SYNCSORT Support
Joined: 25 Jul 2007 Posts: 496 Location: USA
|
|
|
|
Here is a SORT application that should produce your requested output:
Code: |
//SORT EXEC PGM=SORT,PARM='EQUALS'
//SORTIN DD *
AAA 1
AAA 2
AAA 3
BBB 1
BBB 3
BBB 6
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(1,3,CH,A)
OUTREC IFTHEN=(WHEN=INIT,
OVERLAY=(81:SEQNUM,2,ZD,RESTART=(1,3))),
IFTHEN=(WHEN=(81,2,ZD,EQ,1),
BUILD=(1:1,3,4,2,18Z)),
IFTHEN=(WHEN=(81,2,ZD,EQ,2),
BUILD=(1:1,3,2Z,4,2,16Z)),
IFTHEN=(WHEN=(81,2,ZD,EQ,3),
BUILD=(1:1,3,4Z,4,2,14Z)),
IFTHEN=(WHEN=(81,2,ZD,EQ,4),
BUILD=(1:1,3,6Z,4,2,12Z)),
IFTHEN=(WHEN=(81,2,ZD,EQ,5),
BUILD=(1:1,3,8Z,4,2,10Z)),
IFTHEN=(WHEN=(81,2,ZD,EQ,6),
BUILD=(1:1,3,10Z,4,2,8Z)),
IFTHEN=(WHEN=(81,2,ZD,EQ,7),
BUILD=(1:1,3,12Z,4,2,6Z)),
IFTHEN=(WHEN=(81,2,ZD,EQ,8),
BUILD=(1:1,3,14Z,4,2,4Z)),
IFTHEN=(WHEN=(81,2,ZD,EQ,9),
BUILD=(1:1,3,16Z,4,2,2Z)),
IFTHEN=(WHEN=(81,1,ZD,EQ,10),
BUILD=(1:1,3,18Z,4,2))
OUTFIL NODETAIL,REMOVECC,
SECTIONS=(1,3,TRAILER3=(1,3,
TOT=(4,2,BI,BI,LENGTH=2),
TOT=(6,2,BI,BI,LENGTH=2),
TOT=(8,2,BI,BI,LENGTH=2),
TOT=(10,2,BI,BI,LENGTH=2),
TOT=(12,2,BI,BI,LENGTH=2),
TOT=(14,2,BI,BI,LENGTH=2),
TOT=(16,2,BI,BI,LENGTH=2),
TOT=(18,2,BI,BI,LENGTH=2),
TOT=(20,2,BI,BI,LENGTH=2),
TOT=(22,2,BI,BI,LENGTH=2)))
/* |
|
|