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

Need to apend a character in each record


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

Active User


Joined: 20 Sep 2008
Posts: 106
Location: Bangalore

PostPosted: Wed Mar 04, 2009 10:48 am
Reply with quote

Hi,

I need to apend two characters in each record of the input file.

Let the Input file is of lrecl = 80 and FB.
Code:

----+----1----+----2----+----3----+----4----+----
Header;sdsad;dasda;sdaasd
001;1254;lklk;12222
121554;15454;dfgdg


So the O/p Should be like below,
Code:

----+----1----+----2----+----3----+----4----+----
Z;Header;sdsad;dasda;sdaasd
X;001;1254;lklk;12222
X;121554;15454;dfgdg



The condition may be of these two,
1) Apend the letter "Z;"in the first row and "X;" in the next of the rows.
2) If the first letter is character then apend with Z; or if numeric then with X;

Thanks in advance.
Back to top
View user's profile Send private message
Garry Carroll

Senior Member


Joined: 08 May 2006
Posts: 1193
Location: Dublin, Ireland

PostPosted: Wed Mar 04, 2009 1:25 pm
Reply with quote

Quote:
I need to apend two characters in each record of the input file.


From your example, you want to prepend the 2 characters. Here's a job that should do that for you.

Code:
//STEP01   EXEC PGM=ICEMAN  (OR DFSORT)           
//SYSPRINT DD SYSOUT=*                             
//SYSOUT   DD SYSOUT=*                             
//SORTIN   DD *                                   
Header;sdsad;dasda;sdaasd                         
001;1254;lklk;12222                               
121554;15454;dfgdg                                 
//*                                               
//SORTOUT DD SYSOUT=*                             
//SYSIN DD *                                       
* -------------------------------------------------
 OPTION COPY                                       
* ------------------------------------------------
 INREC OVERLAY=(81:SEQNUM,8,ZD)                   
 OUTREC IFTHEN=(WHEN=(81,8,ZD,EQ,1),               
           BUILD=(C'Z;',1,80)),                   
        IFTHEN=(WHEN=NONE,                         
           BUILD=(C'X;',1,80))                     
/*                                                 


Garry.
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 04, 2009 11:01 pm
Reply with quote

Niki,

Here's a DFSORT job that will do what you want based on this rule:

Quote:

2) If the first letter is character then apend with Z; or if numeric then with X;


Code:

//S1    EXEC  PGM=SORT
//SYSOUT    DD  SYSOUT=*
//SORTIN DD DSN=...  input file (FB/80)
//SORTOUT DD DSN=...  output file (FB/82)
//SYSIN    DD    *
  OPTION COPY
  INREC IFTHEN=(WHEN=(1,1,FS,EQ,NUM),BUILD=(C'X:',1,80)),
        IFTHEN=(WHEN=NONE,BUILD=(C'Z:',1,80))
/*
Back to top
View user's profile Send private message
Niki

Active User


Joined: 20 Sep 2008
Posts: 106
Location: Bangalore

PostPosted: Thu Mar 05, 2009 11:04 am
Reply with quote

Hi Garry / Frank,

Thanks for the help.

I just changed as per my specification and got the output.
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 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
No new posts Validating record count of a file is ... DFSORT/ICETOOL 13
Search our Forums:

Back to Top