Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

ISAM - Indexed-Sequential Access Method

ISAM, like SAM, is a record-oriented access method for disk files. Processing is based on a file composed or index and data blocks. Each data record contains a key, and these act as a sort criterion (for index and data blocks, see the “Introductory Guide to DMS” [1]).

There are two versions of the ISAM access method, capable of processing files with two different block formats (see chapter “Access Methods” in the “Introductory Guide to DMS” manual [1).

  • NK-ISAM (Non-Key ISAM) processes files with the block format “DATA”: These do not contain a separate PAM key. The DMS management information is kept in a block control field within the PAM page.

  • K-ISAM (Key ISAM) processes files with the block format “PAMKEY”: These are characterized by the fact that DMS management information for each PAM page is kept in a separate PAM key located outside the page.

By means of the BLKCTRL operand in the macros FILE and FCB, the user can select whether a K file or an NK file is to be processed:

  • BLKCTRL=DATA/DATA2K/DATA4K declares an NK-ISAM file

  • BLKCTRL=PAMKEY declares a K-ISAM file

As K-ISAM is becoming less and less relevant in practice, from BS2000 OSD/BC V11.0 onwards ISAM files are created as NK-ISAM on K disks by default as well.

If the user makes no explicit specification for BLKCTRL, the BLKCTRL system parameter controls in general whether the file is created on K disks with the BLKCTRL=PAMKEY or DATA/NO attribute.
If the file is to be created as ISAM file, the ISBLKCTL system parameter controls whether the file is created as an NK-ISAM file on K disks as well. The default setting of ISBLKCTL is c'NONKEY', i.e. an ISAM file is created as NK-ISAM file on K disks by default as well.

Macros for the ISAM access method

The macros for the ISAM access method can be split into function classes:

Administration:

Macros with administration functions that support file processing.

Access:

Macros that access the data on a file.

Macro
call

Function
class

Brief description

ADDPLNK

Administration

Assigns a pool link name to a user ISAM pool

CREAIX

Administration

Creates a secondary index for an ISAM file

DELAIX

Administration

Deletes secondary indices for an ISAM file

DELPOOL

Administration

Deletes a user ISAM pool

ELIM

Access

Erases a record from the file

GET

Access

Reads the following record in the file (sequential reading)

GETFL

Access

When using marked ISAM keys:
reads the following record in the marking area (sequentially)

GETKY

Access

Reads the first record with the specified key

GETR

Access

Reads the previous record (sequential reading, in reverse)

INSRT

Access

Adds a record with a new ISAM key to the file

ISREQ

Access

Removes an ISAM lock

OSTAT

Access

Gives details of the number and type of synchronous file accesses

PUT

Access

Writes records sequentially to the end of file (including checking the key for valid sequence)

PUTX

Access

Replaces a record provided by GET, etc.

REMPLNK

Administration

Deletes the pool link name

RETRY

Access

Resets the ISAM pointer after execution of the EXLST-PGLOCK and repeats the last macro

SETL

Access

Positions the ISAM pointer for subsequent sequential processing at start or end of file or a particular record

SHOPLNK

Administration

Gives details of assignment of ISAM pools to pool link names

SHOPOOL

Administration

Gives details of attributes and allocation states of ISAM pools

STORE

Access

  • Adds a record with a new ISAM key to the file

  • Overwrites a record with an existing ISAM key, of multiple assignment of ISAM keys is not permitted

  • Adds a record with an existing ISAM key to the file as the last record with this key