FSPACE [ MPE/iX Intrinsics Reference Manual ] MPE/iX 5.0 Documentation
MPE/iX Intrinsics Reference Manual
FSPACE
NM and CM callable.
Moves a record pointer forward or backward on a magnetic tape or disk
file, spaces physical records on magnetic tape files and logical records
on disk files.
Syntax
_____________________________________
| |
| I16V I16V |
| FSPACE(filenum,displacement); |
_____________________________________
Parameters
filenum 16-bit signed integer by value (required)
Passes the file number of the file on which spacing
is to be done.
displacement 16-bit signed integer by value (required)
Passes the number of logical records for buffered
disk files, or blocks for NOBUF files and all tape
files, to be spaced over, relative to the current
position of the logical record pointer.
A positive value signifies forward spacing, a
negative value signifies backward spacing. The
maximum positive value is 32,767, the maximum
negative value is -32,768.
If RIO access is used, displacement includes both
active and inactive records. Attempts to backspace
beyond the beginning of the file are ignored by the
system. The logical record pointer points to
record 0 (the first record), and no error codes are
returned.
Operation Notes
The FSPACE intrinsic cannot be used with variable-length record files,
message files, or with spooled files on disk. An attempt to use this
intrinsic on such files results in CCL (1), and the logical record
pointer is left at its current position.
FSPACE intrinsic fails with a CCL condition:
* If filenum references a byte stream file.
* If FCHECK intrinsic is called to obtain the error code associated
with a CCL condition code.
(KSAM) The logical record pointer is repositioned in key sequence. The
spacing is based on the primary key unless an alternate key has been
specified in a prior call to FFINDN, FFINDBYKEY, or FREADBYKEY.
Condition Codes
CCE (2) Request granted.
CCG (0) Request denied. An end-of-file indicator was
encountered during spacing. For disk files, this
is the file limit, and the logical record pointer
is not changed. For magnetic tape files, this is
the end-of-file mark, and the logical record
pointer points to the (logical) end-of-file. The
magnetic tape is positioned to one record past the
file mark on the tape. For labeled tape, the
logical record pointer is at the file mark.
CCL (1) Request denied. An error occurred; for example,
the file resides on a device that prohibits
spacing. Not allowed with append access.
Related Information
Intrinsics None
Commands None
Manuals Accessing Files Programmer's Guide (32650-90017),
Using KSAM XL (32650-90168), and KSAM/3000
Reference Manual (30000-90079)
MPE/iX 5.0 Documentation