Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
 
demerge records based on key

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL
View previous topic :: :: View next topic  
Author Message
Escapa

Senior Member


Joined: 16 Feb 2007
Posts: 1399
Location: IL, USA

PostPosted: Sat Feb 07, 2009 9:51 pm    Post subject: demerge records based on key
Reply with quote

input lrecl=80
key length:6
I demerge records based on key and every 3 bytes after that as next field(data field) after key in output file.


there can be maximum 10 data fields after key in the input file



Input:
Code:

000001ABCDEFGHIJKL
000002MNO
000003PQRSTW


Output:
Code:

000001ABC
000001DEF
000001GHI
000001JKL
000002MNO
000003PQR
000003STW
Back to top
View user's profile Send private message

Frank Yaeger

DFSORT Moderator


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

PostPosted: Sat Feb 07, 2009 10:44 pm    Post subject:
Reply with quote

Here's a DFSORT job that will do what you asked for:

Code:

//S1    EXEC  PGM=SORT
//SYSOUT    DD  SYSOUT=*
//SORTIN DD DSN=...  input file (FB/80)
//SORTOUT DD DSN=... output file (FB/80)
//SYSIN    DD    *
  OPTION COPY
  OUTFIL IFOUTLEN=80,
   IFTHEN=(WHEN=(34,3,CH,NE,C' '),
    BUILD=(1,6,7,3,/,1,6,10,3,/,1,6,13,3,/,1,6,16,3,/,1,6,19,3,/,
     1,6,22,3,/,1,6,25,3,/,1,6,28,3,/,1,6,31,3,/,1,6,34,3)),
   IFTHEN=(WHEN=(31,3,CH,NE,C' '),
    BUILD=(1,6,7,3,/,1,6,10,3,/,1,6,13,3,/,1,6,16,3,/,1,6,19,3,/,
     1,6,22,3,/,1,6,25,3,/,1,6,28,3,/,1,6,31,3)),
   IFTHEN=(WHEN=(28,3,CH,NE,C' '),
    BUILD=(1,6,7,3,/,1,6,10,3,/,1,6,13,3,/,1,6,16,3,/,1,6,19,3,/,
     1,6,22,3,/,1,6,25,3,/,1,6,28,3)),
   IFTHEN=(WHEN=(25,3,CH,NE,C' '),
    BUILD=(1,6,7,3,/,1,6,10,3,/,1,6,13,3,/,1,6,16,3,/,1,6,19,3,/,
     1,6,22,3,/,1,6,25,3)),
   IFTHEN=(WHEN=(22,3,CH,NE,C' '),
    BUILD=(1,6,7,3,/,1,6,10,3,/,1,6,13,3,/,1,6,16,3,/,1,6,19,3,/,
     1,6,22,3)),
   IFTHEN=(WHEN=(19,3,CH,NE,C' '),
    BUILD=(1,6,7,3,/,1,6,10,3,/,1,6,13,3,/,1,6,16,3,/,1,6,19,3)),
   IFTHEN=(WHEN=(16,3,CH,NE,C' '),
    BUILD=(1,6,7,3,/,1,6,10,3,/,1,6,13,3,/,1,6,16,3)),
   IFTHEN=(WHEN=(13,3,CH,NE,C' '),
    BUILD=(1,6,7,3,/,1,6,10,3,/,1,6,13,3)),
   IFTHEN=(WHEN=(10,3,CH,NE,C' '),
    BUILD=(1,6,7,3,/,1,6,10,3)),
   IFTHEN=(WHEN=(7,3,CH,NE,C' '),
    BUILD=(1,6,7,3))
/*
Back to top
View user's profile Send private message
Escapa

Senior Member


Joined: 16 Feb 2007
Posts: 1399
Location: IL, USA

PostPosted: Sun Feb 08, 2009 6:52 am    Post subject:
Reply with quote

Hey!!!!
Thanks frank......
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Merging records, but not all the time prino DFSORT/ICETOOL 5 Sat Feb 17, 2018 4:20 pm
No new posts Need all records with high key kalidasvs SYNCSORT 14 Fri Feb 09, 2018 10:38 pm
No new posts Why is SORT rearranging records that ... cschablow DFSORT/ICETOOL 4 Wed Jan 24, 2018 10:14 pm
No new posts How to select record x+7 or x+2 based... JoAnn Kulcyk SYNCSORT 6 Tue Jan 16, 2018 10:49 pm
No new posts Skip records depends on count lakshmiibmmainframes DFSORT/ICETOOL 5 Sun Dec 24, 2017 9:51 pm

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us