IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

How can i add fields of one file


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
comp_ashok

New User


Joined: 30 Nov 2007
Posts: 15
Location: India

PostPosted: Thu Dec 13, 2007 12:26 pm
Reply with quote

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
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Thu Dec 13, 2007 1:22 pm
Reply with quote

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
View user's profile Send private message
Frank Yaeger

DFSORT Developer


Joined: 15 Feb 2005
Posts: 7129
Location: San Jose, CA

PostPosted: Thu Dec 13, 2007 10:27 pm
Reply with quote

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
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts FTP VB File from Mainframe retaining ... JCL & VSAM 3
No new posts Extract the file name from another fi... DFSORT/ICETOOL 6
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
Search our Forums:

Back to Top