× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



On Wed, 7 Nov 2001 13:11:41 -0500 Gene_Gaunt@ReviewWorks.com wrote:
> Variable-length record access can occur if the following are true:
> (1) only the last field in a record is VARLEN
> (2)  the VARLEN field is not key
> (3) the UFCB byte at decimal offset 188, bit number 7, is on
> (4) the UFCB at decimal offset 189-190 contains the minimum variable length
> for record
. . .

Then it isn't the "variable length access component." None of the files
I've looked at have so much as a single VARLEN field, and your test file
is the only one with a null-capable field (it seems that an all-zero
null map shows up if the file has no null-capable fields).

The gaps all consist entirely of EBCDIC spaces (x'40').

Your test file shows an eleven-byte gap that isn't there in your program.

Another physical file, VIEWCUS, with a 6-byte zoned key and 26 fields,
has an 18-byte gap.

Another physical file, VIEWSTA, with a 2-byte alpha key and 2 fields,
has a 14 byte gap.

Yet another physical, VIEWVEND, with a 6-byte zoned key and 20 fields
has an 18-byte gap.

VIEWDES has two 4-byte alpha keys, and 4 fields, and has a 21-byte gap.

VIEWHELP has a 10-byte alpha key and a 3-digit, 2-byte packed key, and
has a 25-byte gap.

VIEWHLP, VIEWOPT, VIEWSRC, and VIEWUOP have no keys, and 11-byte gaps.

VIEWPRT has a 10-byte alpha key and a 22-byte gap.

VIEWSOH has a 6-byte zoned key, and like VIEWCUS and VIEWVEND, it has an
18-byte gap.

VIEWSOI has two zoned keys, one 6 bytes and the other 3 bytes, and a
22-byte gap.

VIEWCUSN is a logical on VIEWCUS, with a 30-byte alpha key and a 6-byte
zoned key; its gap is 49 bytes

VIEWCUSJ is a join-logical on VIEWCUS and VIEWSTA, with a 6-byte zoned
key; its gap is 18 bytes.

VENDCUS is a multi-format logical on VIEWCUS, with a 30-byte alpha key
and a 42-byte gap.

I'm beginning to sense a pattern: 11 bytes, plus the number of key
fields, plus the number of key bytes. But the question is WHY??  And IS
IT RELIABLE???  When I try the same code on a V4R2 machine, will the
offsets be the same???

The only differences in the flags between my code and the null map demo are:

The flag identified as "flg3ntve" on the UFCB map in the QQQQRY doc is
set "on" in my code, "off" in the demo.

The "secure" flags are both "on" in my code, both off in the demo.

Also, in my code, I'm looking at the input buffer, which also appears to
be used for the update function, whereas the demo uses only the output buffer.
--
James H. H. Lampert
Professional Dilettante
http://www.hb.quik.com/jamesl
http://members.hostedscripts.com/antispam.html
http://www.thehungersite.com

Read My Lips: No More Atrocities!


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.