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

Join 3 files and sum


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

Active User


Joined: 15 Apr 2010
Posts: 168
Location: Pune

PostPosted: Tue Jul 14, 2015 2:40 pm
Reply with quote

Please help me with the SORT/ICETOOL card for the following requirement:

I have 3 files:

INFILE - A

Code:

AAA002
BBB005
CCCCC003



INFile - B

Code:

AAA000
BBB002
CCCCC004


INFile - C

Code:

AAA001
BBB001
CCCCC004


Desired Output:

Code:

AAA003
BBB008
CCCCC011


Thanks,
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7311
Location: Inside the Matrix

PostPosted: Tue Jul 14, 2015 3:08 pm
Reply with quote

So it is always three or five alphabetic characters followed by three numerics?
Back to top
View user's profile Send private message
Rijit

Active User


Joined: 15 Apr 2010
Posts: 168
Location: Pune

PostPosted: Tue Jul 14, 2015 4:04 pm
Reply with quote

Bill Woodger wrote:
So it is always three or five alphabetic characters followed by three numerics?


Let us consider it always 3 character followed by the count for each record.
Back to top
View user's profile Send private message
magesh23586

Active User


Joined: 06 Jul 2009
Posts: 213
Location: Chennai

PostPosted: Tue Jul 14, 2015 4:17 pm
Reply with quote

Have the three dataset concatenated

If three and 5 characters followed by number then.
Code:
//STEP0100 EXEC PGM=SORT             
//SYSOUT   DD SYSOUT=*               
//SORTIN   DD DISP=SHR,DSN=FILE1     
//         DD DISP=SHR,DSN=FILE2     
//         DD DISP=SHR,DSN=FILE3     
//SORTOUT  DD SYSOUT=*                                       
//SYSIN DD *                                                 
   INREC IFTHEN=(WHEN=(4,1,SS,EQ,C'0,1,2,3,4,5,6,7,8,9'),   
         BUILD=(1,3,X'4040',4,3)),                           
         IFTHEN=(WHEN=NONE,BUILD=(1,8))                     
    SORT FIELDS=(1,5,CH,A)                                   
    SUM FIELDS=(6,3,ZD)                                     
   OUTFIL BUILD=(1,8,SQZ=(SHIFT=LEFT))                       
/*                                                           


If only 3 characters then
Code:
//SYSIN DD *
  SORT FIELDS=(1,3,CH,A)   
  SUM FIELDS=(4,3,ZD)     
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7311
Location: Inside the Matrix

PostPosted: Tue Jul 14, 2015 4:33 pm
Reply with quote

For three-characters followed by a count, a simple MERGE (so instead of SORTIN you use SORTIN01, SORTIN02 and SORTIN03) with the key and a SUM, or the OUTFIL reporting features with SECTIONS and TRAILER3 using TOT/TOTAL.

Of course, if your input files are not in order (despite the sample you have shown), you can't use MERGE, you have to SORT with concatenated data as has already been suggested.
Back to top
View user's profile Send private message
Rijit

Active User


Joined: 15 Apr 2010
Posts: 168
Location: Pune

PostPosted: Tue Jul 14, 2015 5:03 pm
Reply with quote

Bill Woodger wrote:
For three-characters followed by a count, a simple MERGE (so instead of SORTIN you use SORTIN01, SORTIN02 and SORTIN03) with the key and a SUM, or the OUTFIL reporting features with SECTIONS and TRAILER3 using TOT/TOTAL.

Of course, if your input files are not in order (despite the sample you have shown), you can't use MERGE, you have to SORT with concatenated data as has already been suggested.


Hi, Thanks for Input can anyone please help me for an example or a similar sort card which can be used for reference. Frank any inputs pls ??
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7311
Location: Inside the Matrix

PostPosted: Tue Jul 14, 2015 5:28 pm
Reply with quote

If you mean Frank Yaeger, he retired from IBM in May 2012, so you're more than three years late.

It's a MERGE with SUM. SUM I hope you know. MERGE is like SORT but is for multiple files which are all in the same sequence. MERGE takes those files, and creates one output file, in sequence.

If you want to look at the OUTFIL with REMOVECC,NODETAIL and SECTIONS with TRAILER3, there are examples here.
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
This topic is locked: you cannot edit posts or make replies. Copy list of files from PS to another... CLIST & REXX 11
No new posts JOINKEYS to match two input files on ... DFSORT/ICETOOL 3
No new posts Group comparison/update between two f... DFSORT/ICETOOL 10
No new posts Need assistance formatting when joini... SYNCSORT 8
No new posts Combining more 4 files with sorted or... DFSORT/ICETOOL 3
Search our Forums:

Back to Top