Consultor Eletrônico



Kbase 18151: VST _UserLock error 3307 and _Block errors 4132 & 4028
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   7/29/1998
VST _UserLock error 3307 and _Block errors 4132 & 4028

It is not possible to display an entire record from the Virtual
System Record Locking Table File (_Userlock) or from the Virtual
System Block File (_Block) with a for each record.

For example, the following code:

FOR EACH _UserLock:
DISPLAY _UserLock.
END.

generates the error:

A Frame Segment has exceeded its limit of 32767 bytes, in
at line # 2. (3307)

The following code:

FOR EACH _Block:
DISPLAY _Block.
END.

generates these errors:

** Invalid character unit value 1024, Changed to 320. (4132)
**FILL-IN Block... will not fit in FRAME in PROGRAM (4028)

This behavior is not a bug. There are four fields in the _UserLock
table that have arrays with 512 elements. This prevents it all
from fitting on the screen and results in error 3307. There is a
field in the _Block table, _Block-Block that has format of x(1024)
making this field too large to fit in the frame.

Below is a sample program that could be used to display the
information in the _UserLock table. It is not the only way to display
the information in this table, it is just an example of something that
works without the above error.

DEFINE VARIABLE i AS INTEGER NO-UNDO.

FOR EACH _UserLock:

DISPLAY _UserLock EXCEPT
_UserLock-Chain
_UserLock-Flags
_UserLock-Recid
_UserLock-Type WITH FRAME a NO-BOX.

PAUSE 1.

DO i = 1 TO 512:
IF _UserLock._UserLock-Chain[i] <> ? OR
_UserLock._UserLock-Flags[i] <> ? OR
_UserLock._UserLock-Recid[i] <> ? OR
_UserLock._UserLock-Type[i] <> ? THEN DO:

DISPLAY
_UserLock._UserLock-Chain[i]
_UserLock._UserLock-Flags[i]
_UserLock._UserLock-Recid[i]
_UserLock._UserLock-Type[i] WITH FRAME b 12 DOWN.
DOWN WITH FRAME b.
END. /* these fields have values */
ELSE HIDE FRAME b.
END. /* do loop */
END. /* for each _UserLock */

In order to display all of the information in the _Block table you
need to display the fields individually and change the format of
the _Block-Block field.