Frank Yaeger
DFSORT Developer
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
|
|
|
|
Chandan,
Assuming you have 8 character values as shown in your example, you can use a DFSORT job like the following to do what you asked for:
Code: |
//S1 EXEC PGM=ICEMAN
//SYSOUT DD SYSOUT=*
//SORTIN DD *
00011111
00002222
00002200
01111111
00011EEE
/*
//SORTOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
INREC IFTHEN=(WHEN=(1,1,CH,EQ,C'0',AND,2,1,CH,NE,C'0'),
OVERLAY=(1:X)),
IFTHEN=(WHEN=(1,2,CH,EQ,C'00',AND,3,1,CH,NE,C'0'),
OVERLAY=(1:2X)),
IFTHEN=(WHEN=(1,3,CH,EQ,C'000',AND,4,1,CH,NE,C'0'),
OVERLAY=(1:3X)),
IFTHEN=(WHEN=(1,4,CH,EQ,C'0000',AND,5,1,CH,NE,C'0'),
OVERLAY=(1:4X)),
IFTHEN=(WHEN=(1,5,CH,EQ,C'00000',AND,6,1,CH,NE,C'0'),
OVERLAY=(1:5X)),
IFTHEN=(WHEN=(1,6,CH,EQ,C'000000',AND,7,1,CH,NE,C'0'),
OVERLAY=(1:6X)),
IFTHEN=(WHEN=(1,7,CH,EQ,C'0000000',AND,8,1,CH,NE,C'0'),
OVERLAY=(1:7X)),
IFTHEN=(WHEN=(1,8,CH,EQ,C'00000000'),
OVERLAY=(1:8X))
OUTREC BUILD=(1,10,JFY=(SHIFT=LEFT))
/*
|
SORTOUT would have:
Code: |
11111
2222
2200
1111111
11EEE
|
|
|