NK-PAM files offer the user the same functional scope for processing as K-PAM files.
However, NK-PAM files do not have a field comparable with the user section of the PAM key. Applications which use this part of the PAM key in K-PAM files must therefore be modified if they are to process NK-PAM files.
NK-PAM files with the block format “DATA” are subject to the following restriction with regard to parallel processing:
When processing a PAM file with BLKCTRL=DATA, the IOAREAs may not be used in parallel for several I/O operations, as this would mean that the contents of the block control field would be undefined.
Example
Illegal approach:
PAM WRT,FCB1,LOC=BUFFER
PAM WRT,FCB2,LOC=BUFFER
(Parallel I/Os for BUFFER)
PAM WT,FCB1
PAM WT,FCB2
Permitted approach:
PAM WRTWT,FCB1,LOC=BUFFER
(Consecutive I/Os for BUFFER)
PAM WRTWT,FCB2,LOC=BUFFER
When working with NK-PAM files with the block format “DATA”, users should bear in mind that the usable block length is less than that available with K-PAM files: a logical block of n standard blocks provides only n * 2048 – 12 bytes for user data.
NK-PAM files with the block format “NO” do not contain a block control field, which means that they do not contain any information corresponding to that held in the system section of the PAM key in a K-PAM file. As a result, partial backup of such files using ARCHIVE or HSMS is not possible. Furthermore, when restoring such files with the aid of the REPAIR-DISK-FILE command or VERIF macro, the files must be processed (without gap testing) up to the end of the file, rounded down to a multiple of the block size. The practical effect of this is that the last-page pointer and possibly the last-byte pointer are set to the end of the file.
In an NK-PAM file with the block format “NO” – as in K-PAM files – the entire length of each logical block is available for user data. In contrast to K-PAM files, however, only a complete logical block can be accessed during file processing; it is not possible to access each separate 2-Kbyte standard block of a logical block.