In the migration from K-ISAM to NK-ISAM, the following three stages can be distinguished: conversion, modification of command procedures, modification of source code.
Conversion
K-ISAM files can be converted to NK-ISAM format by means of “logical copying”. “Logical copying” can be performed, for example, by the utility routine PERCON (see the “PERCON” manual“ [12 (Related publications)]). In such cases, it is not necessary to modify either the programs which process the files or the command sequences of the jobs in which the files are addressed.
Command procedures
By changing the command sequences in procedures, the performance advantages offered by the NK-ISAM interface with its ISAM pools can be utilized. The commands for ISAM pool management can be inserted at the appropriate positions in jobs whose performance is critical. In the FILE/FCB macros, the POOLLNK operand, and in the ADD-FILE-LINK command, the POOL-LINK operand must be added so that the files are linked to ISAM pools and can be processed in the pools. If NK-ISAM files are to be opened with SHARUPD=YES or SHARED-UPDATE=*YES, they must be processed in host-specific user ISAM pools. For this purpose, the job must be linked with the corresponding ISAM pool beforehand with CREATE-ISAM-POOL. The pool must be assigned a link name with ADD-ISAM-POOL-LINK and this link name specified in the POOL-LINK operand. Once file processing has been concluded, the links to the ISAM pool must be removed (REMOVE-ISAM-POOL, DELETE-ISAM-POOL) unless the user is working with default pools.
Source code modification
By means of changes to the source code of the processing programs (and possibly also to the file structure), ISAM processing can be optimized for NK-ISAM:
match the record length to the BLKSIZE in order to avoid overflow blocks
in flag applications, keep the range to be searched as small as possible (with GETFL ...,LIMIT=)
ISAM pool macros and FILE/FCB macros must specify the POOLLNK operand for ISAM processing in ISAM pools.