| I've looked at the revision history, and the code of the relevant
module (OARMS.BLI), and the answers seem to be:
1. The check was inserted to fix a bug.
3. The check is done on the file header - see below.
2. According to the code, it will only make the check if the file is
marked as having fixed length records (RMS header field FAB$B_RFM =
FAB$C_FIX). If RMS says it has variable length records, the check
shouldn't be made - this might be the way out of your problem.
Also, the check is only for file's-record-length (RMS header field
FAB$W_MRS) < entry-form-length (the bug concerned writing to fields in
the entry-form which were off the end of the physical record). So an
entry-form which is smaller than the physical record should be OK.
Also, the check is only done for "normal" RMS data-sets (the code
checks that the action routine = OA$RMS_ACTION). So, if you do need to
over-ride the check, all you should have to do is to supply a DSAB (use
the ones in OAGBL.BLI to see how they're written) specifying a new
action routine you write, which does absolutely nothing except to call
the normal OA$RMS_ACTION (with the same parameter, of course). This
should cause the check to be skipped, according to my reading of the
code.
Dave
(PS - for IOSG use - Time case THR-13425, Diamond ICO #1572, by EC)
|
| Dave,
I'm very pleased from your reply. I will forward it to local engineering and
customer service. We meet on monday morning to discuss the problem and as I
understand it should work with variable length records the same way it worked
in V2.4.
At the same time I've started to look into the DSAB solution with the help of
Jhon Rhoton and his book (highly recomended, as well as Tony Redmond's new
one).
Thanks, Yariv
|
| Dave,
I have just tested an entry form mapping a variable length record file, and it
is working fine !
I was able to read records from the file, as well as update record using the
entry form.
So, if anyone used entry forms to map variable length records in V2.4 he can
relax as it is working the same way for V3.0.
Now I can move into the real thing - migrating the CLI to V3.0.
Thanks for help,
Yariv
|