View previous topic :: View next topic
|
Author |
Message |
knickraj Warnings : 1 New User
Joined: 11 Jun 2007 Posts: 50 Location: Euro
|
|
|
|
Hi,
I am using the below jcl
Code: |
//STEP EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD *
Data1(contain spaces till 80)
Data2(contain spaces till 80)
//OUT DD DISP=OLD,DSN=file-FB_lrec/80
//TOOLIN DD *
RESIZE FROM(IN) TO(OUT) TOLEN(50) |
in the output file my records are getting padded with non-printable characters from 50 to 80 position.
I have corrected the problem, but could anyone help me to understand,what may have gone wrong with this one, or this normal. |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6250 Location: Mumbai, India
|
|
|
|
One of the first suggestion is - please remove LRECL=80 from the DCB of OUT file, it is there. If it is not, I doubt if you shuould run in to this problem, at first place.
And when you say
Quote: |
I have corrected the problem |
what exactly do you do? |
|
Back to top |
|
|
knickraj Warnings : 1 New User
Joined: 11 Jun 2007 Posts: 50 Location: Euro
|
|
|
|
Quote: |
One of the first suggestion is - please remove LRECL=80 from the DCB of OUT file, it is there. If it is not, I doubt if you shuould run in to this problem, at first place. |
Didnt understand what you meant..
the outfile is already existing file with record length 80 and is FB.
Quote: |
what exactly do you do? |
used the below control card.
Code: |
outfil build=(1,50,30x) |
But I wanted to know is this expected, as I was thinking it should be padded with spaces.... |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
If you do not tell the process to pad with spaces, why would it do so?
Your 30X told the process to pad with 30 spaces. |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
As has been indicated, if you want to organise your data into chunks of 50 but record them in an 80-byte record, then you should specifically pad with something, like blanks. You could look at the effect of replacing the 30X by 80:X. Let us know what happens, and why. |
|
Back to top |
|
|
Skolusu
Senior Member
Joined: 07 Dec 2007 Posts: 2205 Location: San Jose
|
|
|
|
knickraj wrote: |
But I wanted to know is this expected, as I was thinking it should be padded with spaces.... |
Your RESIZE operator is creating a fix length file of 50 bytes and you want to put that data into 80 byte file. DFSORT pads fixed-length records with binary zeros on the right when the SORTOUT LRECL is larger than the SORTIN LRECL
This is documented here
publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ice1ca60/1.8.3.2 |
|
Back to top |
|
|
knickraj Warnings : 1 New User
Joined: 11 Jun 2007 Posts: 50 Location: Euro
|
|
|
|
thanks for your help |
|
Back to top |
|
|
|