Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Help Required in DFSORT while setting the SEQNUM

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

Active User


Joined: 31 Mar 2010
Posts: 134
Location: India

PostPosted: Tue Nov 09, 2010 2:44 pm    Post subject: Help Required in DFSORT while setting the SEQNUM
Reply with quote

Hi,

I am using the following JCL:

Code:

//S1 EXEC PGM=SORT           
//SYSOUT DD SYSOUT=*         
//SORTIN DD *                 
111
111
111
111
222
222
333
444
444
555
666
666
666
/*
//SORTOUT DD SYSOUT=*                                           
//SYSIN DD *                                                   
  SORT FIELDS=(1,30,CH,A),EQUALS                               
  INREC IFOUTLEN=74,                                           
   IFTHEN=(WHEN=INIT,                                           
    OVERLAY=(71:SEQNUM,7,ZD,RESTART=(1,4))),                   
   IFTHEN=(WHEN=GROUP,BEGIN=(71,7,ZD,EQ,1),END=(71,7,ZD,EQ,4), 
    PUSH=(71:ID=7)),                                           
   IFTHEN=(WHEN=INIT,BUILD=(1,70,71:71,7,ZD,TO=ZD,LENGTH=4))   
/*                                                             


Here it is giving the o/p like:

Code:

 COMMAND INPUT ===>                                            SCROLL ===> CSR 
********************************* TOP OF DATA **********************************
111                                                                   0001     
111                                                                   0001     
111                                                                   0001     
111                                                                   0001     
222                                                                   0002     
222                                                                   0002     
333                                                                   0003     
444                                                                   0004     
444                                                                   0004     
555                                                                   0005     
666                                                                   0006     
666                                                                   0006     
666                                                                   0006     
******************************** BOTTOM OF DATA ********************************


But I need the o/p in the following way:
Code:

 COMMAND INPUT ===>                                            SCROLL ===> CSR 
********************************* TOP OF DATA **********************************
111                                                                   0001     
111                                                                   0001     
111                                                                   0001     
111                                                                   0001     
222                                                                   0002     
222                                                                   0002     
333                                                                   0003     
444                                                                   0004     
444                                                                   0004     
555                                                                   0001     
666                                                                   0001     
666                                                                   0002     
666                                                                   0002     
******************************** BOTTOM OF DATA ********************************


In other words, I want the SEQNUM to restart from 0001 once the seqnum reaches to 0004. Can anybody please help me out and suggest how to acheive this? I will be very thankful

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

Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Tue Nov 09, 2010 11:02 pm    Post subject: Reply to: Help Required in DFSORT while setting the SEQNUM
Reply with quote

Gagangarg,

Use the following DFSORT control cards. I am not sure as to why you are sorting. If your aim to assign the seqnum after sorting then you need to use OUTREC instead of INREC.

Code:

//SYSIN    DD *                                             
  SORT FIELDS=COPY                                           
  INREC IFOUTLEN=74,                                         
  IFTHEN=(WHEN=INIT,OVERLAY=(75:SEQNUM,4,ZD,RESTART=(1,4))),
  IFTHEN=(WHEN=GROUP,BEGIN=(75,4,ZD,EQ,1),PUSH=(71:ID=4)),   
  IFTHEN=(WHEN=(71,4,ZD,GT,4),                               
  OVERLAY=(71:71,4,ZD,MOD,+4,EDIT=(TTTT)),HIT=NEXT),         
  IFTHEN=(WHEN=(71,4,ZD,EQ,0),OVERLAY=(71:C'0004'))         
//*
Back to top
View user's profile Send private message
GaganGarg

Active User


Joined: 31 Mar 2010
Posts: 134
Location: India

PostPosted: Wed Nov 10, 2010 8:43 am    Post subject:
Reply with quote

Thanks Skolusu. It worked like a charm. Thanks for the timely help. icon_biggrin.gif
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 DFSORT MUL FIELDS tspr52 DFSORT/ICETOOL 16 Fri Mar 03, 2017 11:53 pm
No new posts setting new limit Key values for inde... srilata83 DB2 1 Fri Feb 10, 2017 9:24 pm
No new posts SYNCSORT SEQNUM and FI fields. nartcr SYNCSORT 7 Sat Jan 21, 2017 4:02 am
No new posts How to get the remainder and quotient... vnktrrd DFSORT/ICETOOL 2 Mon Oct 31, 2016 10:59 am
No new posts Change date (DD/MM/YY) in 2nd record ... uday kiran DFSORT/ICETOOL 12 Wed Sep 07, 2016 10:57 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us