View previous topic :: View next topic |
Author |
Message |
Anuj Dhawan Intermediate
Joined: 19 Jul 2007 Posts: 298 Topics: 7 Location: Mumbai,India
|
Posted: Tue Nov 16, 2010 3:39 am Post subject: A query on new RESIZE operator of DFSORT's ICETOOL. |
|
|
1. Using this, Code: | RESIZE FROM(LARGE) TO(SMALL) TOLEN(80) | I can get a lower LRECL. But I had been using "hard-coded" LRECL on DCB of SORTOUT in my Jobs for this very purpose. Does RESIZE do something different than that ot it's jusr other way to get to that?
2. When we use: Code: | RESIZE FROM(80) TO(LARGE) TOLEN(480) | what is "newly added length" is padded with? I spent some time on this here http://www.ibm.com/support/docview.wss?rs=114&uid=isg3T7000242 but missed to find the answer. I hope I've used the correct link for what I was searching for.
Thanks for stopping by, _________________ Regards,
Anuj |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12376 Topics: 75 Location: San Jose
|
Posted: Tue Nov 16, 2010 11:36 am Post subject: |
|
|
Anuj Dhawan,
Did you read the PDF document?
Quote: |
I can get a lower LRECL. But I had been using "hard-coded" LRECL on DCB of SORTOUT in my Jobs for this very purpose. Does RESIZE do something different than that ot it's jusr other way to get to that? |
With Hard coded LRECL value in the JCL you are actually TRUNCATING records.
ex: assume you have 40 byte input file like this
Code: |
----+----1----+----2----+----3----+----4
FIRST 10B NEXT 10BY 3RD SET10 4TH SET BY
|
If you hard coded 10 as LRECL in the JCL for sortout your output looks like this
Code: |
----+----1
FIRST 10B
|
The last 30 bytes are truncated in the output.
But if you use RESIZE operator of ICETOOL like this
Code: |
RESIZE FROM(IN) TO(OUT) TOLEN(10)
|
The output would be
Code: |
----+----1
FIRST 10B
NEXT 10BY
3RD SET10
4TH SET BY
|
The 1 record is split into 4 records each with 10 bytes.
The reverse of this is works the same way. Assuming you have 4 records in a file with an LRECL 10 , if you hard code 40 as Sortout LRECL you would have 10 bytes followed by 30 binary zeroes on each record.
Code: |
FIRST 10B
NEXT 10BY
3RD SET10
4TH SET BY
|
However if you use RESIZE operator of ICETOOL like this
Code: |
RESIZE FROM(IN) TO(OUT) TOLEN(40)
|
The output would be 1 record with 4 records clubbed as a single record.
Code: |
----+----1----+----2----+----3----+----4
FIRST 10B NEXT 10BY 3RD SET10 4TH SET BY
|
The white paper explains the same with examples.
Further if you have any questions please let us know _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
|
Anuj Dhawan Intermediate
Joined: 19 Jul 2007 Posts: 298 Topics: 7 Location: Mumbai,India
|
Posted: Wed Nov 17, 2010 8:50 am Post subject: |
|
|
I interpreted the meaning of text, I read, pretty different and apparently wrong. I sincerely apologize for that.
Thanks for your explanation, this makes sense now - hope it was not a bother. _________________ Regards,
Anuj |
|
Back to top |
|
|
|
|