The DIRCONV statement SET-CATID (see "SET-CATID Converting directory files") can be used for converting directory files.
For ARCHIVE runs with a directory file this means:
If the first save run was executed with
PARAM CATID=YES
(to support MPVS), all subsequent runs must also be executed withPARAM CATID=YES
.If the first save run was executed with
PARAM CATID=*NO
, all subsequent runs must also be executed withPARAM CATID=*NO
.
With DIRCONV you can convert directory files in CATID=*NO
mode to CATID=*YES
mode. A conversion in the opposite direction however, is not possible.
If the directory file is already in CATID=*YES
mode, the run is terminated with the following message:
DIRECTORY IS ALREADY CONVERTED
This is also the case if the directory file was created with the ARCHIVE statement POOL and if no save runs have been executed with it yet. You can use this type of directory file immediately in CATID=*YES
mode.
Due to the different CATID modes, the CONTINUE statement cannot be used to continue, with a converted directory file, save versions created before the conversion. In the report of an INQUIRE run with SV=... these save versions appear with the remark
CREATED BEFORE DIRECTORY CONVERSION
Otherwise, converted directory files behave in the same way as those created with CATID=*YES
; every continuation run must be executed in CATID=*YES
mode.
The beginning of the conversion run proper is indicated by displaying the user ID under which DIRCONV was started and the associated default catalog ID. DIRCONV also issues a message if the directory file contains neither files nor job variables. DIRCONV also issues a message if the directory file contains neither files nor job variables. In this case the directory file is nevertheless converted.
If a conversion run is performed under TSOS, all listed user IDs together with the catalog ID determined by DIRCONV are displayed in the order in which the user IDs occur in the directory file. In addition, every user ID to which the default catalog ID of TSOS was allocated because it was deleted at DIRCONV runtime is logged to SYSLST.
If a file name or JV name, including the new catalog and user IDs, is longer than 54 characters, the following message is issued:
***FILENAME TOO LONG: $userid.filename
or
***JVNAME TOO LONG: $userid.jvname
The file name or JV name is entered in the new directory with the dummy catalog ID S. The user thus has to process these entries later by means of //RENAME-CATID
.
A message is also issued if the directory file does not does not contain a save version.
The end of conversion is reported by the message:
DIRECTORY CONVERSION FINISHED.
If a DIRCONV run is not performed under TSOS, a file with the name S.tsn.DIRCONV.@.VNOCRID
is created, unless this file already happens to exist. You can delete this file if you wish.
DIRCONV method of operation when converting to CATID=*YES mode
DIRCONV inserts the default catalog identifier of the appropriate user ID into every FILES/JOBVAR record.
If the conversion is performed under TSOS, those user IDs not found in the user catalog will be output to SYSLST in addition.
Notes on systems support
If at DIRCONV runtime a user ID is not entered in the user catalog (deleted), no default catalog ID can be determined. The FILES/JOBVAR records of the user ID are then supplemented by the TSOS default catalog ID.
During a DIRCONV run the default catalog IDs for the users concerned should not be changed.
Any existing SVID records are labeled “created before conversion”.
The directory file is labeled “to be used in
CATID=YES
mode only”.
When converting directory files from old BS2000 versions, file names may become too long if they are preceded by a catalog ID. In total the file name plus catalog and user IDs may not be longer than 54 characters.
The following then applies to the length of the file names:If the catalog ID is 1 character long:
The file name must not exceed 41 characters without the catalog ID and user ID.If the catalog ID is longer than 1 character (2 to 4 characters):
The maximum possible length of 41 characters is reduced if in a multicharacter catalog ID the sum of the length of the catalog ID (including colons) and length of the user ID (including $ characters and period) is longer than13 characters (:catid:$userid.).
If DIRCONV finds a file name which is too long during conversion, “S” is used as the dummy catalog ID. If the file name in the directory file is no longer unambiguous because of this, DIRCONV aborts the run. The text COPY ERROR, DMS051A
is then output to SYSOUT.
The directory file does not allow files to be read in if their names are too long.