The PAMCONV utility routine provides the user with two basic functions for adapting files to the available disk format.
File format conversion
One of the functions of the PAMCONV routine is to convert files from K format to NK format (and vice versa). File format conversion is performed using statements, specifically the CONVERT-FILE statement.
Reblocking
PAMCONV can be used to convert the blocking factor of a file from an odd number to an even number. Only files with an even-numbered blocking factor can be stored on an NK4 disk.
Functionality of PAMCONV
The following tables provide an overview of the conversion options for ISAM, SAM, PAM and load module files.
In addition, the basic directions of conversion are shown in diagram form for each file structure. The block structure of the file is shown before and after conversion.
ISAM file
An ISAM file that is to be converted with PAMCONV may have one of the following three block structures.
PAMKEY: the file is a K-ISAM file.
DATA2K: the file is an NK2-ISAM file; the blocking factor n may be odd or even.
DATA4K: the file is an NK4-ISAM file; the blocking factor n is even.
The table below summarizes all conversion options for an ISAM file:
Conversion options for an ISAM file
Source | Conversion options | Target |
---|---|---|
PAMKEY | ------> | DATA2K |
PAMKEY | ------> | DATA4K |
DATA2K | ------> | PAMKEY |
DATA2K | ------> | DATA4K |
DATA4K | ------> | PAMKEY |
DATA2K | <------> | DATA2K |
DATA4K | <------> | DATA4K |
DATA4K | ------> | DATA2K |
MLU macro libraries are ISAM files and must be converted as such.
Source | Conversion options | Target |
---|---|---|
PAMKEY | ------> | DATA2K |
PAMKEY | ------> | DATA4K |
DATA2K | ------> | DATA4K |
Key:
* | 16 bytes block management information |
BLKSIZE | Logical block length |
Index bl. | Index block |
SAM file
A SAM file that is to be converted with PAMCONV may have either of the following two block structures:
PAMKEY: the file is a K-SAM file.
DATA: the file is an NK2-SAM file if the blocking factor n is odd, or an NK4-SAM file if n is even.
The table below summarizes all conversion options for a SAM file:
Conversion options for a SAM file
Source | Conversion options | Target |
---|---|---|
PAMKEY | ------> | DATA |
DATA | ------> | PAMKEY |
DATA | <------> | DATA |
What block structure a SAM file has before and after file format conversion is illustrated for the following direction of conversion:
Source | Conversion options | Target |
---|---|---|
PAMKEY | ------> | DATA |
Key:
* | 16 bytes block management information |
BLKSIZE | logical block length; in the case of NK-SAM files the 16 bytes are deducted onlyonce per logical block length |
PAM file
A PAM file that is to be converted with PAMCONV may have one of the following three block structures:
PAMKEY: the file is a K-PAM file.
DATA: the file is an NK2-PAM file if the blocking factor n is odd, or an NK4-PAM file if n is even.
NO: the file is an NK2-PAM file if the blocking factor n is odd, or an NK4-PAM file if n is even. No block management information is stored.
The table below summarizes all conversion options for a PAM file:
Conversion options for a PAM file
Source | Conversion options | Target |
---|---|---|
PAMKEY | ------> | NO |
NO | ------> | PAMKEY |
NO | <------> | NO |
DATA | <------> | DATA |
PAM-DATA files cannot be converted into K format. If NONKEY-TO-KEY conversion is selected nevertheless, processing is rejected with message PEA2212
.
PLAM libraries are PAM files that do not use the PAM key. They can be converted.
What block structure a PAM file has before and after file format conversion is illustrated for the following directions of conversion:
Source | Conversion options | Target |
---|---|---|
PAMKEY | ------> | NO |
NO | ------> | NO |
DATA | ------> | DATA |
Key:
* | 12 bytes block management information |
BLKSIZE | Logical block length |
Load module file
A load module is a specific type of PAM file. In the PAM file name (K-PAM or NK-PAM file), “PAM” is replaced by “load module”. Reference is therefore made to K, NK2 and NK4 load module files.
NK2 load module files have the file format with the block structure NO, i.e. no block control information is stored. The logical block length is (STD,1), i.e. 2048 bytes.
NK4 load module files have a logical block length of (STD,2), i.e. 4096 bytes. Any other block length specifications are rejected with an error message.
Conversion options for a load module file
Source | Conversion options | Target |
---|---|---|
PAMKEY | <------> | NO |
NO | <------> | NO |
Source files encrypted with a crypto password
Files encrypted with a crypto password are supported.
First a check is made to see whether the source file is encrypted. If it is encrypted,
PAMCONV also checks whether the crypto password involved is entered in the local task’s crypto password table. (The entry is made using /ADD-CRYPTO-PASSWORD
.) If it is not, PAMCONV terminates conversion and issues an error message.
If the source file is encrypted and the password involved is entered in the crypt password table, the target file is assigned the same encryption.
The encryption is not adopted for the target file in the following cases:
The target file is located on the home pubset under the TSOS user ID.
The source file is a single file generation.
The conversion is effected via an intermediate file (see “Conversion via an intermediate file” (Types of conversion)).