AAAAA 11111 T 3
AAAAA 11111 T 1
AAAAA 11111 T 3
AAAAA 11111 L 3
AAAAA 11111 T 2
BBBBB BBBBB L 4
BBBBB BBBBB L 3
BBBBB BBBBB T 1
BBBBB BBBBB T 3
CCCCC CCCCC T 4
CCCCC CCCCC T 2
Now If first 5 bytes is AAAAA and from the 6th position onwards next 5 bytes is 11111 then i need to sum the data based on T or L which is there in the 13th Position.
Joined: 15 Aug 2015 Posts: 1379 Location: Bamberg, Germany
sri_mf wrote:
Hi..
My Input data is
AAAAA 11111 T 3
AAAAA 11111 T 1
AAAAA 11111 T 3
AAAAA 11111 L 3
AAAAA 11111 T 2
BBBBB BBBBB L 4
BBBBB BBBBB L 3
BBBBB BBBBB T 1
BBBBB BBBBB T 3
CCCCC CCCCC T 4
CCCCC CCCCC T 2
Now If first 5 bytes is AAAAA and from the 6th position onwards next 5 bytes is 11111 then i need to sum the data based on T or L which is there in the 13th Position.
AAAAA 11111 T 3
AAAAA 11111 T 1
AAAAA 11111 T 3
AAAAA 11111 L 3
AAAAA 11111 T 2
BBBBB BBBBB L 4
BBBBB BBBBB L 3
BBBBB BBBBB T 1
BBBBB BBBBB T 3
CCCCC CCCCC T 4
CCCCC CCCCC T 2
after 11111 there are 2 spaces and after T or L there are 3 spaces.... T or L are starting at 14th Position and the numbers 3,1,3 etc are starting at 18th position
//SORTIN DD *
AAAAA 11111 T 3
AAAAA 11111 T 1
AAAAA 11111 T 3
AAAAA 11111 L 3
AAAAA 11111 T 2
BBBBB BBBBB L 4
BBBBB BBBBB L 3
BBBBB BBBBB T 1
BBBBB BBBBB T 3
CCCCC CCCCC T 4
CCCCC CCCCC T 2
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
//SYSIN DD *
INREC IFTHEN=(WHEN=INIT,OVERLAY=(81:SEQNUM,8,ZD)),
IFTHEN=(WHEN=(1,11,CH,EQ,C'AAAAA 11111'),OVERLAY=(81:8C'0'))
SORT FIELDS=(81,8,ZD,A)
OUTFIL REMOVECC,NODETAIL,SECTIONS=(81,8,
TRAILER3=(1,14,X,TOT=(15,1,ZD,EDIT=(IT)))),BUILD=(1,80)
Output:
Code:
********************************* TOP OF DATA **********************************
AAAAA 11111 T 12
BBBBB BBBBB L 4
BBBBB BBBBB L 3
BBBBB BBBBB T 1
BBBBB BBBBB T 3
CCCCC CCCCC T 4
CCCCC CCCCC T 2
******************************** BOTTOM OF DATA ********************************