View previous topic :: :: View next topic
Author
Message
comp_ashok New User Joined: 30 Nov 2007Posts: 15 Location: India
Hi.
My requirement is jcl to do like this:
input file : fb, lrec=7
2222600
2222250
3333700
3333500
7777100
output file: fb, lrec=8
22220850
33331200
77770100
If starting 4 bytes are same in input file we have to sum next 3 bytes and write one record in output file.
Back to top
krisprems Active Member Joined: 27 Nov 2006Posts: 649 Location: India
Code:
//****************************
//STEP1 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD *
2222600
2222250
3333700
3333500
7777100
/*
//SORTOUT DD SYSOUT=*
//SYSIN DD *
INREC OVERLAY=(6:5,3,5:C'0')
SORT FIELDS=(1,4,ZD,A)
SUM FIELDS=(5,4,ZD)
/*
SORTOUT
Code:
22220850
33331200
77770100
Back to top
Frank Yaeger DFSORT Moderator Joined: 15 Feb 2005Posts: 7130 Location: San Jose, CA
Here's another way to do it with DFSORT using copy which is more efficient than sort (assuming that your records are already in sorted order as shown in your example - if not you can add a SORT statement):
Code:
//S1 EXEC PGM=ICEMAN
//SYSOUT DD SYSOUT=*
//SORTIN DD *
2222600
2222250
3333700
3333500
7777100
/*
//SORTOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
OUTFIL REMOVECC,NODETAIL,
SECTIONS=(1,4,
TRAILER3=(1,4,TOT=(5,3,ZD,TO=ZD,LENGTH=4)))
/*
Back to top
Please enable JavaScript!