Guardian Procedure Calls Reference Manual

Disk File Considerations
Large data transfers
For READUPDATEX only, large data transfers (more than 4096 bytes), can be enabled by
using SETMODE function 141. See Table 44 (page 1319).
Record does not exist
If the position specified for the READUPDATE[X|XL] operation does not exist, the call is rejected
with error 11. (The positioning is specified by the exact value of the current key and current-key
specifier.)
Structured files
READUPDATE[X|XL] without selecting a specific record
If the call to READUPDATE[X|XL] immediately follows a call to KEYPOSITION, the call to
KEYPOSITION must specify exact positioning mode in the positioning-mode parameter
and the length of the entire key in the length-word parameter.
If the call to READUPDATE[X|XL] immediately follows a call to KEYPOSITION where a
nonunique alternate key is specified, the READUPDATE[X|XL] fails. A subsequent call to
FILE_GETINFOL_ or FILE_GETINFO_ or FILEINFO shows that an error 46 (invalid key)
occurred. However, if an intermediate call to READ or READLOCK is made, the call to
READUPDATE[X|XL] is permitted because a unique record is identified.
Indicators after READUPDATE[X|XL]
After a successful READUPDATE[X|XL], the current-state indicators are unchanged (current-
and next-record pointers).
Unstructured disk files
Unstructured files
For a READ[X] from an unstructured disk file, data transfer begins at the position indicated
by the current-record pointer. A call to READUPDATE[X|XL] typically follows a call to
POSITION that sets the current-record pointer to the desired relative byte address.
Pointer action for unstructured files is unaffected
count-read for unstructured files
After a successful call to READUPDATE[X|XL] to an unstructured file, the value returned
in count-read is determined by:
count-read := $MIN(read-count,EOF - next-record - next-record pointer)
Number of bytes read
If the unstructured file is created with the odd unstructured attribute (also known as
ODDUNSTR) set, the number of bytes read is exactly the number specified with
read-count. If the odd unstructured attribute is not set when the file is created, the value
of read-count is rounded up to an even value before the READUPDATE[X|XL] is
executed.
You set the odd unstructured attribute with the FILE_CREATE_, FILE_CREATELIST_, or
CREATE procedure, or with the File Utility Program (FUP) SET and CREATE commands.
1218 Guardian Procedure Calls (R)