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

[Solved]Omit a record after specified occurrences.


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

Senior Member


Joined: 28 Mar 2005
Posts: 1448
Location: Chicago, IL

PostPosted: Wed Mar 01, 2006 8:38 pm
Reply with quote

Hi Frank and all,

Could some one give me a SORT Code to do following.
My requirement is to delete all the records from an Input file, where number of records has exceeded a limit (limit=5 in below case).

I have a key field in the file, & My O/P file should not have more than 5 records per key. So I want to delete all occurrences of the records for that key after first 5 records.

I/p file & O/p File .....RECFM=FB..... LRCEL=80

Input File:-
Code:
Key .............

111 .............
111 .............
111 .............
111 .............
222 .............
222 .............
222 .............
222 .............
222 .............
222 .............
222 .............
222 .............
333 .............
333 .............


Output File:-
Code:
111 .............
111 .............
111 .............
111 .............
222 .............
222 .............
222 .............
222 .............
222 .............
333 .............
333 .............


Please get back in case I could n't explain it clear...Thanks in advance.

Regards,
Priyesh.
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: Wed Mar 01, 2006 9:35 pm
Reply with quote

The DFSORT job below will do what you asked for. I assumed that the records were already sorted as shown in your example. If not, replace OPTION COPY with a SORT statement for 1,3,CH,A.

You'll need z/OS DFSORT V1R5 PTF UQ95214 or DFSORT R14 PTF UQ95213 (Dec, 2004) in order to use DFSORT's RESTART function. Only DFSORT has this function, so if you don't have DFSORT, you won't be able to use it. 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)
//SORTOUT DD DSN=...  output file (FB/80)
//SYSIN    DD    *
  OPTION COPY
* Restart seqnum at 1 each time key changes.
   INREC OVERLAY=(81:SEQNUM,8,ZD,RESTART=(1,3))
* Omit records with a seqnum > 5.
   OUTFIL OMIT=(81,8,ZD,GT,+5),BUILD=(1,80)
/*
Back to top
View user's profile Send private message
priyesh.agrawal

Senior Member


Joined: 28 Mar 2005
Posts: 1448
Location: Chicago, IL

PostPosted: Wed Mar 01, 2006 10:00 pm
Reply with quote

That is EXCELLENT.... Thanks a lot Frank....

Regards,

Priyesh.
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 How to split large record length file... DFSORT/ICETOOL 10
No new posts INCLUDE OMIT COND for Multiple values... DFSORT/ICETOOL 5
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
No new posts FINDREP - Only first record from give... DFSORT/ICETOOL 3
No new posts To find whether record count are true... DFSORT/ICETOOL 6
Search our Forums:

Back to Top