Files which are to be opened for shared-update processing must be assigned to a hostspecific user ISAM pool (or one that is not task-specific) so that other users can access this pool and thus also the file. Before file processing is started, the user must create a hostspecific ISAM pool by means of the CREPOOL macro (operand SCOPE=HOST) or with the CREATE-ISAM-POOL command (operand SCOPE=HOST-SYSTEM) or link his/her job to an existing host-specific ISAM pool.
By means of the ADDPLNK macro or the ADD-POOL-LINK command, he/she must assign a pool link name to this pool and specify this link name in the POOLLNK operand of the FILE/FCB macro or in the POOL-LINK operand of the ADD-FILE-LINK command. Furthermore, he/she must also select NK-ISAM processing with the operand BLKCTRL=DATA of the FILE/FCB macro or with the operand BLOCK-CONTROL-INFO=*WITHIN-DATA-BLOCK of the ADD-FILE-LINK command. After completion of file processing, he/she must delete the pool link name and the pool itself (by means of the REMPLNK macro (DELPOOL operand) or the REMOVE-ISAM-POOL/DELETE-ISAM-POOL command).
The following figures show which combinations of OPEN mode, SHARUPD and pool scope are permitted.
Example 1: Input file
A file is used as an input file: it can be assigned to any number of task-specific ISAM pools and to only one ISAM pool that is not task-specific.
Example 2: Output file
A file is to be opened concurrently by several jobs and updated by at least one of these jobs: it must be processed in an ISAM pool which is not task-specific, and must be opened with SHARUPD=YES in all participating jobs. If a user-specific ISAM pool is involved, all tasks must run under the same user ID.