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

To sort the file by record key


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

New User


Joined: 13 Feb 2008
Posts: 9
Location: hyderabad

PostPosted: Wed Feb 13, 2008 5:07 pm
Reply with quote

1. To sort the file by record key which include the below fields and accumaulate the total under that key
01 (WS)-RECORD.
03 (WS)-REC-KEY.
05 (WS)-WHIRL-ORG PIC 9(03).
05 (WS)-OWNING-BRANCH PIC 9(09).
05 (WS)-ORIGIN-SOURCE PIC X(05).
05 (WS)-AFFINITY-GRP.
07 (WS)-PARTNER PIC X(04).
07 (WS)-AFFINITY PIC X(04).
07 (WS)-AFFILIATION PIC X(04).
07 (WS)-SUB-AFFILIATION PIC X(04).
07 (WS)-REWARDS-LEVEL PIC X(04).
For example:

if the input file contains that data
080XXXXXXXXXYYYYYAAAABBBBCCCCDDDDEEEE
080XXXXXXXXXYYYYYAAAABBBBCCCCDDDDEEEE
080XXXXXXXXXYYYYYAAAABBBBCCCCDDDDEEEE
080XXXXXXXXXYYYYYFFFFBBBBCCCCDDDDGGG
080XXXXXXXXXHHHHHFFFFBBBBCCCCDDDDGGG
080XXXXXXXXXYYYYYFFFFBBBBCCCCDDDDGGG
080XXXXXXXXXHHHHHFFFFBBBBCCCCDDDDGGG

the out put file should contains
080XXXXXXXXXYYYYYAAAABBBBCCCCDDDDEEEE3
080XXXXXXXXXYYYYYFFFFBBBBCCCCDDDDGGG2
080XXXXXXXXXHHHHHFFFFBBBBCCCCDDDDGGG2

The last byte like 3,2&2 should specify the count of records with the same key


01 (WS)-RECORD.
03 (WS)-REC-KEY.
05 (WS)-WHIRL-ORG PIC 9(03).
05 (WS)-OWNING-BRANCH PIC 9(09).
05 (WS)-ORIGIN-SOURCE PIC X(05).
05 (WS)-AFFINITY-GRP.
07 (WS)-PARTNER PIC X(04).
07 (WS)-AFFINITY PIC X(04).
07 (WS)-AFFILIATION PIC X(04).
07 (WS)-SUB-AFFILIATION PIC X(04).
07 (WS)-REWARDS-LEVEL PIC X(04).
03 (WS)-TOTAL-APPS PIC S(09) COMP-3.
03 FILLER PIC X(38).


[/list][/code]
Back to top
View user's profile Send private message
shankar.v

Active User


Joined: 25 Jun 2007
Posts: 196
Location: Bangalore

PostPosted: Wed Feb 13, 2008 5:32 pm
Reply with quote

Hi praveen_kandrakota,

Please check with the following code for your requirement.
Code:
// EXEC PGM=SORT                                       
//SYSOUT DD SYSOUT=*                                   
//SORTIN DD *                                         
080XXXXXXXXXYYYYYAAAABBBBCCCCDDDDEEEE                 
080XXXXXXXXXYYYYYAAAABBBBCCCCDDDDEEEE                 
080XXXXXXXXXYYYYYAAAABBBBCCCCDDDDEEEE                 
080XXXXXXXXXYYYYYFFFFBBBBCCCCDDDDGGGG                 
080XXXXXXXXXHHHHHFFFFBBBBCCCCDDDDGGGG                 
080XXXXXXXXXYYYYYFFFFBBBBCCCCDDDDGGGG                 
080XXXXXXXXXHHHHHFFFFBBBBCCCCDDDDGGGG                 
//SORTOUT DD SYSOUT=*                                 
//SYSIN DD *                                           
 SORT FIELDS=(1,37,CH,A)                               
 OUTFIL REMOVECC,NODETAIL,                             
 SECTIONS=(1,37,TRAILER3=(1,37,COUNT=(TO=PD,LENGTH=5)))
/*                                                     
//     

Output: (HEX ON MODE)
Code:
080XXXXXXXXXHHHHHFFFFBBBBCCCCDDDDGGGG    :                                     
FFFEEEEEEEEECCCCCCCCCCCCCCCCCCCCCCCCC0000244444444444444444444444444444444444444
08077777777788888666622223333444477770000C00000000000000000000000000000000000000
 ------------------------------------------------------------------------------
080XXXXXXXXXYYYYYAAAABBBBCCCCDDDDEEEE    :                                     
FFFEEEEEEEEEEEEEECCCCCCCCCCCCCCCCCCCC0000344444444444444444444444444444444444444
08077777777788888111122223333444455550000C00000000000000000000000000000000000000
 ------------------------------------------------------------------------------
080XXXXXXXXXYYYYYFFFFBBBBCCCCDDDDGGGG    :                                     
FFFEEEEEEEEEEEEEECCCCCCCCCCCCCCCCCCCC0000244444444444444444444444444444444444444
08077777777788888666622223333444477770000C00000000000000000000000000000000000000
 ------------------------------------------------------------------------------

Thanks,
Shankar
Back to top
View user's profile Send private message
praveen_kandrakota

New User


Joined: 13 Feb 2008
Posts: 9
Location: hyderabad

PostPosted: Wed Feb 13, 2008 6:01 pm
Reply with quote

hi sankar,

If you dont mine could you please explain about NODETAIL , Trailer3 and COUNT=(TO=PD) parameters
Back to top
View user's profile Send private message
shankar.v

Active User


Joined: 25 Jun 2007
Posts: 196
Location: Bangalore

PostPosted: Thu Feb 14, 2008 3:39 pm
Reply with quote

Hi praveen_kandrakota,
Quote:
could you please explain about NODETAIL , Trailer3 and COUNT=(TO=PD) parameters

Please find the information regarding NODETAIL, TRAILER3 and COUNT=(TO=PD) in the below link.

http://publibz.boulder.ibm.com/zoslib/pdf/ice1ca20.pdf

Thanks,
Shankar
Back to top
View user's profile Send private message
praveen_kandrakota

New User


Joined: 13 Feb 2008
Posts: 9
Location: hyderabad

PostPosted: Thu Feb 14, 2008 3:43 pm
Reply with quote

Thanks alot
Back to top
View user's profile Send private message
praveen_kandrakota

New User


Joined: 13 Feb 2008
Posts: 9
Location: hyderabad

PostPosted: Thu Feb 14, 2008 9:26 pm
Reply with quote

Hi sankar,

i have created job in the below

Code:

//STEP030  EXEC PGM=SORT
//SORTIN    DD DSN=DERP.CP000000.CDMH.FFB.NFL,               
//             DISP=SHR                                     
//SORTOUT   DD DSN=DERP.CP000000.CDMH.FFB.NFLMOTLY(+1),     
//             DISP=(,CATLG,DELETE),                     
//             SPACE=(CYL,(20,10),RLSE)     
//SYSOUT    DD SYSOUT=*                                     
//SYSIN     DD *                                             
   SORT FIELDS=(1,37,CH,A)                                   
   OUTFIL REMOVECC,NODETAIL,                                 
     SECTIONS=(1,37,TRAILER3=(1,37,COUNT=(TO=PD,LENGTH=5))) 
/*                 


The input file contains the data as follows.

Code:

080XXXXXXXXXYYYYYAAAABBBBCCCCDDDDEEEEFFFF2
080XXXXXXXXXYYYYYAAAABBBBCCCCDDDDEEEEFFFF3
080XXXXXXXXXYYYYYAAAABBBBCCCCDDDDEEEEFFFF4
080XXXXXXXXXYYYYYAAAABBBBCCCCDDDDEEEEFFFF1
080YYYYYYYYYZZZZZGGGGBBBBCCCCDDDDEEEEFFFF2
080WWWWWWWWWAAAAAHHHHBBBBCCCCDDDDEEEEFFFF3
080UUUUUUUUUSSSSSAAAABBBBCCCCDDDDEEEEFFFF4
080YYYYYYYYYZZZZZGGGGBBBBCCCCDDDDEEEEFFFF5
080WWWWWWWWWAAAAAHHHHBBBBCCCCDDDDEEEEFFFF7
080UUUUUUUUUSSSSSAAAABBBBCCCCDDDDEEEEFFFF8
080YYYYYYYYYZZZZZGGGGBBBBCCCCDDDDEEEEFFFF5


The opput file should be like

Code:

080UUUUUUUUUSSSSSAAAABBBBCCCCDDDDEEEE2
080WWWWWWWWWAAAAAHHHHBBBBCCCCDDDDEEEE2
080XXXXXXXXXYYYYYAAAABBBBCCCCDDDDEEEE2
080YYYYYYYYYZZZZZGGGGBBBBCCCCDDDDEEEE3


The last digit specifies the count of the reccords of same key

but the output is creating as below

Code:

080UUUUUUUUUSSSSSAAAABBBBCCCCDDDDEEEE.....
080WWWWWWWWWAAAAAHHHHBBBBCCCCDDDDEEEE.....
080XXXXXXXXXYYYYYAAAABBBBCCCCDDDDEEEE....<
080YYYYYYYYYZZZZZGGGGBBBBCCCCDDDDEEEE.....


Could you please let me know what is incorrect
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Thu Feb 14, 2008 9:59 pm
Reply with quote

Hello,

Your output appears correct - you specified PD which is not readable (hence the "dots" and special characters). If you look at the file with HEX ON, you will see valid packed-decimal numbers.
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 Compare 2 files and retrive records f... DFSORT/ICETOOL 3
No new posts FTP VB File from Mainframe retaining ... JCL & VSAM 8
No new posts Need to set RC4 through JCL SORT DFSORT/ICETOOL 5
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
Search our Forums:

Back to Top