View previous topic :: View next topic
Author
Message
Niki Active User Joined: 20 Sep 2008Posts: 106 Location: Bangalore
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
Garry Carroll Senior Member Joined: 08 May 2006Posts: 1193 Location: Dublin, Ireland
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
Frank Yaeger DFSORT Developer Joined: 15 Feb 2005Posts: 7129 Location: San Jose, CA
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
Niki Active User Joined: 20 Sep 2008Posts: 106 Location: Bangalore
Hi Garry / Frank,
Thanks for the help.
I just changed as per my specification and got the output.
Back to top
Please enable JavaScript!