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

Can we do this by sort?


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

New User


Joined: 30 Mar 2005
Posts: 12
Location: Hyderabad

PostPosted: Thu Dec 15, 2005 8:12 pm
Reply with quote

Hi everybody,

I have a file whose attributes are PS, LRECL=80,FB
Based on the first four characters I need to copy the record to four output files. (Which have same attributes as input file)

Ex: if first four characters are 1010,this record should be copied to
Output file1,
If first four characters are 1020,this record should be copied to
Output file2 like wise I need to copy to four files

I can do it by outfil fnames & include cond

But if we code outfil & include all records which satisfy above condition will be copied but I want the each output files to contain maximum 100 records bcoz I need sample data not the entire records
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 15, 2005 9:33 pm
Reply with quote

Here's a DFSORT job that will do what you asked for. You'll need z/OS DFSORT V1R5 PTF UQ95214 or DFSORT R14 PTF UQ95213 (Dec, 2004) in order to use DFSORT's IFTHEN and OVERLAY functions. Only DFSORT has these functions, so if you don't have DFSORT, you won't be able to use them. If you do have DFSORT, but you don't have the Dec, 2004 PTF, ask your System Programmer to install it (it's free). For complete details on all of the new DFSORT and ICETOOL functions available with the Dec, 2004 PTF, see:

Use [URL] BBCode for External Links

Code:

//S1    EXEC  PGM=ICEMAN
//SYSOUT    DD  SYSOUT=*
//SORTIN DD DSN=...  input file (FB/80)
//OUT1 DD DSN=...    output file1 (FB/80)
//OUT2 DD DSN=...    output file2 (FB/80)
//OUT3 DD DSN=...    output file3 (FB/80)
//OUT4 DD DSN=...    output file4 (FB/80)
//SYSIN    DD    *
  OPTION COPY
  INREC IFTHEN=(WHEN=(1,4,CH,EQ,C'1010'),OVERLAY=(81:SEQNUM,8,ZD)),
        IFTHEN=(WHEN=(1,4,CH,EQ,C'1020'),OVERLAY=(81:SEQNUM,8,ZD)),
        IFTHEN=(WHEN=(1,4,CH,EQ,C'1030'),OVERLAY=(81:SEQNUM,8,ZD)),
        IFTHEN=(WHEN=(1,4,CH,EQ,C'1040'),OVERLAY=(81:SEQNUM,8,ZD))
   OUTFIL FNAMES=OUT1,
      INCLUDE=(1,4,CH,EQ,C'1010',AND,81,8,ZD,LE,+100),
      BUILD=(1,80)
   OUTFIL FNAMES=OUT2,
      INCLUDE=(1,4,CH,EQ,C'1020',AND,81,8,ZD,LE,+100),
      BUILD=(1,80)
   OUTFIL FNAMES=OUT3,
      INCLUDE=(1,4,CH,EQ,C'1030',AND,81,8,ZD,LE,+100),
      BUILD=(1,80)
   OUTFIL FNAMES=OUT4,
      INCLUDE=(1,4,CH,EQ,C'1040',AND,81,8,ZD,LE,+100),
      BUILD=(1,80)
/*
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 Nov 04, 2010 1:57 am
Reply with quote

With z/OS DFSORT V1R10 PTF UK90025 or z/OS DFSORT V1R12 PTF UK90026 (Oct,2010), you can now use DFSORT's new ACCEPT=n function to do this more easily like this:

Code:

//NEW   EXEC  PGM=ICEMAN                                       
//SYSOUT    DD  SYSOUT=* 
//SORTIN DD DSN=...  input file (FB/80)
//OUT1 DD DSN=...    output file1 (FB/80)
//OUT2 DD DSN=...    output file2 (FB/80)
//OUT3 DD DSN=...    output file3 (FB/80)
//OUT4 DD DSN=...    output file4 (FB/80)
//SYSIN    DD    *                                             
  OPTION COPY                                                 
  OUTFIL FNAMES=OUT1,INCLUDE=(1,4,CH,EQ,C'1010'),ACCEPT=100   
  OUTFIL FNAMES=OUT2,INCLUDE=(1,4,CH,EQ,C'1020'),ACCEPT=100   
  OUTFIL FNAMES=OUT3,INCLUDE=(1,4,CH,EQ,C'1030'),ACCEPT=100   
  OUTFIL FNAMES=OUT4,INCLUDE=(1,4,CH,EQ,C'1040'),ACCEPT=100   


For complete details on the new functions for DFSORT and DFSORT's ICETOOL available with the Oct, 2010 PTF, see:

www.ibm.com/support/docview.wss?rs=114&uid=isg3T7000242
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 Need to set RC4 through JCL SORT DFSORT/ICETOOL 5
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts JCL sort card - get first day and las... JCL & VSAM 9
No new posts Sort First/last record of a subset th... DFSORT/ICETOOL 7
No new posts how to calculate SUM value for VB fil... DFSORT/ICETOOL 1
Search our Forums:

Back to Top