A PAM file can be created and processed using the following access methods:
DIV
UPAM (see chapter "UPAM - User Primary Access Method" (UPAM - User Primary Access Method))
FASTPAM (see chapter "FASTPAM - Fast Primary Access Method" (FASTPAM - Fast Primary Access Method))
Note, however, that FASTPAM and DIV can process UPAM files with BLKCTRL=NO only. Whether a file may be processed by more than one user in parallel depends on the operand values specified for SHARUPD, MODE, LOCKENV and LOCVIEW when the file is opened.
Permissible combinations of opening a file in parallel
USER B | ||||||||||||
SHARUPD= | *YES | *NO | *WEAK | |||||||||
OPEN mode | I | I | O | I | I | O | I | L | I | O | ||
U A | *YES | INPUT | X | O | X | X | X | |||||
*NO | INPUT | X | X | X | X | |||||||
*WEAK | INPUT | X | X | X | X | X | X | X |
LMAP: | INPUT LOCVIEW=MAP (only with DIV) |
X: | OPEN permitted |
O: | OPEN permitted only,
|
Notes
A file can be opened with SHARUPD=*WEAK for concurrent reading and writing.
When users read with DIV-SHARUPD=*WEAK after specifying LOCVIEW=*MAP in the OPEN call, all window pages are read from the disk file into the window when executing MAP. DIV ensures that none of the file pages being read can be modified by any parallel SAVE from other DIV-SHARUPD=*WEAK users writing to the file.
This protection against parallel writing does not exist for write operations with UPAM/FASTPAM.For this reason, reading with DIV-SHARUPD=*WEAK after specifying LOCVIEW=*MAP is compatible with writing with DIV-SHARUPD=*WEAK but not with any other write operations.
In addition, the other conditions listed above for the 'O' entry must be fulfilled (all users opening the file with the same LOCKENV operand value and from the same host or, if from different hosts, with LOCKENV=*XCS).
The conditions applying to reading with UPAM/FASTPAM-SHARUPD=*WEAK also apply to reading with DIV-SHARUPD=*WEAK after specifying OPEN LOCVIEW=*NONE.
Users opening with DIV-SHARUPD=*YES are not compatible with users opening with UPAM/FASTPAM-SHARUPD=*YES.
Read operations are always compatible irrespective of the access method, the values specified for SHARUPD and LOCKENV and the host.
When files are accessed in SHARUPD=YES mode it is possible that processing will result in a file < 32 GB growing to become a file >= 32 GB.
Here it is necessary to distinguish between two cases:
Callers who are prepared for this situation (with the specification LARGE_FILE=*ALLOWED in the FCB macro or EXCEED-32GB=*ALLOWED in the ADD-FILE-LINK command)
Unprepared callers (specification LARGE_FILE=*FORBIDDEN in the FCB macro or EXCEED-32GB=*FORBIDDEN in the ADD-FILE-LINK command).
The size of the file in question is checked after every allocator call. If this check indicates that the file size is >= 32 GB and the LARGE_FILE=*FORBIDDEN attribute is set in the associated FCB, then processing is canceled and a corresponding return code is output in the local parameter list DIV(I) or a DMS message is issued.