|
|
The first parameter in every KSAM procedure call must be
filetable, a table describing the file and its access. This
table is defined in the WORKING-STORAGE SECTION of the COBOL program. It
requires eight halfwords as illustrated in Figure
A-1 "Filetable Structure"
Figure A-1 Filetable Structure
- filenumber
A number identifying the file returned by the CKOPEN
procedure after the file named in halfwords 2-5 has been successfully
opened. After the file is closed by CKCLOSE, filenumber is reset
to 0. (This number should be set to zero when the file table is initially
defined.) It must be defined as a COMPUTATIONAL item.
- filename
The name of the KSAM file. This name is the actual designator assigned
to the file when it is created with the KSAMUTIL or MPE/iX BUILD
command; filename may be a formal designator if it is equated to the
actual designator in a FILE command.
- input/output type
A code that limits the file access to input only, output only, or
allows both input and output:
- 0
input only
- 1
output only
- 2
input/output
It must be defined as a COMPUTATIONAL item.
- access mode
A code that indicates how the file will be processed: sequentially
only, randomly only, or either (dynamically):
- 0
sequential only
- 1
random only
- 2
dynamic (sequential or random)
It must be defined as a COMPUTATIONAL item.
- previous operation
A code in the right byte of halfword 8 of the file table indicating
the previous successful operation:
- 0
previous operation unsuccessful or there has been no previous
operation on this file
- 1
CKOPEN successful
- 2
CKSTART successful
- 3
CKREAD successful
- 4
CKREADBYKEY successful
- 5
CKDELETE successful
- 6
CKWRITE successful
- 7
CKREWRITE successful
- 8
CKCLOSE successful
- 9
CKOPENSHR successful
This field should be set to zero when the file table is initially defined
and thereafter should not be altered by the programmer. It must be
defined as a COMPUTATIONAL item.
- lock/unlock
A code in the left byte of halfword 8 of the file table that indicates
whether a CKLOCK or CKUNLOCK has been performed
successfully since the operation specified in previous operation:
- 10
CKLOCK successful
- 11
CKUNLOCK successful
A sample file table definition might be:
WORKING-STORAGE SECTION.
FILE_TABLE.
01 KSAM_FILE.
02 FILENUMBER PIC S9(4) COMP VALUE 0.
02 FILENAME PIC X(8) VALUE "KSAMFILE".
02 I-O-TYPE PIC S9(4) COMP VALUE 0.
02 A-MODE PIC S9(4) COMP VALUE 0.
02 PREV-0P PIC S9(4) COMP VALUE 0.
The file table identifies a file created with the name KSAMFILE as a
file to be opened for sequential input only. The values of I-O-TYPE and A-MODE
can be changed following a call to CKCLOSE for the file.
|