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

Change only header rec to have low values from col 2 to 11


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

New User


Joined: 05 Apr 2007
Posts: 4
Location: Bangalore

PostPosted: Mon May 04, 2009 12:09 pm
Reply with quote

Hi,
I have a file in which the header record is incorrect (It should have low values from col 2 to 11). I want a sort step to introduce low values from col 2 to 11 i.e. 9 bytes.
How to do it.
I have tried

Code:

   SORT FIELDS=COPY
   OUTREC IFTHEN=(WHEN=INIT,OVERLAY=(2:X'000000000000000000'))


But this changes all records. How to apply it to only the header record.
Back to top
View user's profile Send private message
Escapa

Senior Member


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

PostPosted: Mon May 04, 2009 12:18 pm
Reply with quote

Yes it will change all the records..as you are doing overlay in WHEN=INIT
which applies to all records.

can you post sample input file. How header is identified? using some record type indicator? or positioned as first record?
Back to top
View user's profile Send private message
kpmdreamz

New User


Joined: 05 Apr 2007
Posts: 4
Location: Bangalore

PostPosted: Mon May 04, 2009 12:21 pm
Reply with quote

Thanks for the reply Sambhaji,
My file has only one header positioned as first record (doesn't have any rec type indicator)
Back to top
View user's profile Send private message
Escapa

Senior Member


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

PostPosted: Mon May 04, 2009 1:10 pm
Reply with quote

Assuming your LRECL is 80

Code:

//SYSIN    DD  *                                                   
  SORT FIELDS=COPY                                                 
  INREC IFTHEN=(WHEN=INIT,OVERLAY=(81:SEQNUM,8,ZD)),               
     IFTHEN=(WHEN=(81,8,ZD,EQ,1),OVERLAY=(2:X'000000000000000000'))
  OUTREC BUILD=(1,80)                                               
/*                                                                 
Back to top
View user's profile Send private message
kpmdreamz

New User


Joined: 05 Apr 2007
Posts: 4
Location: Bangalore

PostPosted: Mon May 04, 2009 1:36 pm
Reply with quote

Thanks a lot.
It worked great.
Thanks for intoducing the concept of SEQNUM. I checked the manual its great stuff.
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: Mon May 04, 2009 9:21 pm
Reply with quote

Note that instead of 2:X'000000000000000000' you can use 2:9Z or 2:9X'00'.
Back to top
View user's profile Send private message
kpmdreamz

New User


Joined: 05 Apr 2007
Posts: 4
Location: Bangalore

PostPosted: Fri Jun 12, 2009 11:26 am
Reply with quote

Thanks Frank - Saw it after a long time icon_smile.gif
I had indeed used 2:9x'00'. But i did not know that i could use 2:9Z
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 INCLUDE OMIT COND for Multiple values... DFSORT/ICETOOL 5
No new posts Replace Multiple Field values to Othe... DFSORT/ICETOOL 12
No new posts Null values are considered in Total c... DFSORT/ICETOOL 6
No new posts 3270 personal communications. Can't c... TSO/ISPF 2
No new posts Insert header record with record coun... DFSORT/ICETOOL 14
Search our Forums:

Back to Top