samuel_Inba
New User
Joined: 03 Jan 2008 Posts: 53 Location: Chennai
|
|
|
|
Hi,
I was trying to read the RDW(1-4 bytes) of a VB file which has the record length of 311 .pls find the code below.
The first 2 bytes should have the record length+4 and 3 and 4th has zeros( correct me if i am wrong), I used the below mentioned code it displayed the actual record length, but when i tried to display all the 4 bytes it showed some incorrect numbers.
My Input file has lrecl 315 and FRMT is VB.
Code: |
OPTION COPY
OUTFIL VTOF,BUILD=(5,311,1,2,BI,SUB,+4,EDIT=(IIIIT))
|
The above code displayed my desired result...
<data> <rec length>
but when i used,
Code: |
OPTION COPY
OUTFIL VTOF,BUILD=(5,311,1,4,BI,EDIT=(IIIIT))
|
expected output: 1-2 bytes : recd length+4 and 3-4: zeros.
Please clarify.
Thanks,
Sam. |
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10872 Location: italy
|
|
|
|
the numbers might look strange but there is a logic
the rule for RDW is ...
1st halfword the record lenght
2nd halfword ..... binary zeroes
carry on a bit of math to find out the differences ,
for example for a record with a length of 80 bytes
You would have rdw=x'00500000'
and taking the first hafword You would get 80
taking erroneously the whole rdw You would get 5242880 ( handheld math )
maybe something diferent if he edit mask/picture is inadequate
the results is right , the process is wrong |
|