A UPAM file can be created or edited using the access modes below
UPAM
FASTPAM (see chapter "FASTPAM - Fast Primary Access Method" (FASTPAM - Fast Primary Access Method))
DIV (see chapter "DIV - Data In Virtual" (DIV - Data In Virtual))
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. The table below shows permissible combinations of opening a file in parallel:
Permissible combinations of opening a file in parallel
USER B | |||||||||||
SHARUPD= | *YES | *NO | *WEAK | ||||||||
OPEN-Modus | I | I | O | I | I | O | I | I | O | ||
U A | *YES | INPUT | X | O | X | X | |||||
*NO | INPUT | X | X | X | |||||||
*WEAK | INPUT | X | X | X | X | X | X |
X: | OPEN erlaubt |
O: | OPEN permitted only
|
Notes
A file can be opened with SHARUPD=*WEAK for concurrent reading and writing.
Exception:
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.
Illegal combinations result in an OPEN error.
Any attempt to open a tape file with SHARUPD=YES or WEAK will also result in an OPEN error.
If the secondary allocation for a non-key PAM or SAM disk file is smaller than BLKSIZE, UPAM will also reject any attempt to open the file with FCBTYPE=PAM and report an OPEN error. Exceptions: secondary allocation=0 or OPEN mode INPUT.
If BLKSIZE is not a multiple of 2048 for a non-key tape file, UPAM will also reject any attempt to open the file using FCBTYPE=PAM with an OPEN error.
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 attribute LARGE_FILE=*FORBIDDEN is set in the associated FCB then processing is canceled. In this case UPAM issues the following return code (or the corresponding DMS message
DMS09AD
):X'000009AD' FILE SIZE GREATER 32 GIGABYTES IS NOT ALLOWED.
The last-byte pointer specifies the byte-precise logical end of file of a PAM file. It is included in the file's catalog entry when the file is closed. (For details see section"Opening a PAM file (OPEN modes)".) In the case of shared-update processing, the user or application must ensure that the job which writes last to the file's last logical block also finally closes the file. Otherwise the LBP is not assigned the correct value, which can lead to inconsistencies when copying and also when saving and restoring.