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.