The “alias definition” function of the Alias Catalog Service enables cataloged files/JVs to be accessed under supplementary file names or aliases, which can be freely defined within certain limits. The files/JVs can also be accessed under their original file names. Any number of aliases may be defined for a file/JV.
Each file name that is passed to DMS by means of a command or macro is checked to determine whether it is defined as an alias in the context of the current task. If the specified file name has been defined as an alias, it is replaced by the corresponding actual file name and then supplemented with the catalog ID and user ID if required. This constitutes a complete path name, which uniquely designates a file/JV. If the specified name is not defined as an alias, it is interpreted as an actual file name.
Alias catalog (AC)
The definition of an alias which can be used instead of an actual file/JV name is stored in the so-called alias catalog (AC). This catalog contains the assignments of aliases to actual file names. Each task has its own alias catalog, and this catalog can only be created, extended, or modified by special ACS commands (see the ACS command on "Overview of ACS commands and processing sequence").
Each entry in the alias catalog consists of the alias, the corresponding actual file name, a RANGE indicator for the scope, and some special attributes. Both user entries and system entries may be contained in the alias catalog of a task.
The RANGE operand in the ADD-ALIAS-CATALOG-ENTRY command determines the scope of alias substitution.
The following settings are possible:
*STD | Alias substitution is performed with the value for the ACS option STANDARD RANGE (default is *BOTH) which is valid for the task. |
*FILE | Alias substitution applies only for files. |
*JV | Alias substitution applies only for JVs. |
*BOTH | Alias substitution applies only for files and JVs. |
As an entry in the alias catalog is defined precisely via the alias, there can only be precisely one entry for a particular alias. Any earlier definition for an alias is replaced by the new definition for the same name, even if the two definitions have different scopes.
The alias catalog, which is unique to each task, can only be supplied with entries by means of ACS commands. The catalog is created with the first LOAD-ALIAS-CATALOG-ENTRY or ADD-ALIAS-CATALOG-ENTRY command. It is deleted at the end of the task.
Alias catalog file (AC file)
The entries of an alias catalog can be stored in a file. Only the ACS administrator can store system entries in a file. Such a file is referred to as an alias catalog file (AC file). This file is a SAM file in which the contained entries are represented internally.
The entries stored in an alias catalog file can be reloaded into the alias catalog with appropriate commands. Nonprivileged users can only store the user entries of his or her catalog. Loading alias catalog entries from an alias catalog file essentially recreates user entries.
User entries
These can be created independently by users.
The user entries are however, subject to specific restrictions with respect to the conventions for defining alias names. They are essentially a means of implementing individual file name substitutions.
System entries
System entries can only be created by a ACS administrator. Users can generate them only by loading them from a privileged AC system file. System entries are stored in an AC system file The AC system file is an alias catalog file created by the ACS administrator and users can load catalog entries from it into their own alias catalogs. For data security reasons, users must address the AC system file via a special ID that is defined by the ACS administrator.
The system entries describe the system software configuration (compiler, linkage editor, utilities, etc.) predefined by the ACS administrator. System entries cannot be modified by users or stored in an alias catalog file.
Notes on version dependency
AC files which were created in earlier versions can be called in the current version of BS2000 without any problem.
AC files which were created in the current version of BS2000 can also be called in earlier versions.
Constructing aliases
An alias is an alternative file/JV name that can be used instead of the actual name. Aliases have the same syntax as normal file/JV names (see "Rules for the formation offile names" (Fully qualified file name)).
An alias may include a catalog ID and/or user ID, provided this is allowed by the ACS administrator.
Aliases may not be partially qualified and may not be defined using wildcards.
Generation and version specifications are illegal both in aliases and the associated actual file names.
Alias definitions containing the user ID TSOS or SYS* are not permitted. "$" names, however, are permitted ($ and $. are essentially distinct from $TSOS, even if DEFLUID=$TSOS, so $EDT and $.EDT are allowed as aliases!). The names “$MYUSERID.FILE.123” and “FILE.123” are considered distinct even if MYUSERID is the user ID of the current task.
Any specification of the default user ID (file names starting with “$” and without a period) is interpreted as equivalent with names starting with “$.”
The names of temporary files/JVs (“#”) cannot be defined as an alias, and no alias may be defined for a temporary file/JV. The identifier (first character) for temporary files/JVs cannot be used for aliases.
If a file name is specified with the generation number in a macro or command, the generation entry is separated from the name before the alias catalog is searched. It is appended to the associated actual file name if an appropriate alias definition is found. If the resulting name is too long (i.e. > 54 characters after completion), it is treated as illegal and rejected.
Names of temporary system files (“S.” files) are not converted.
Restrictions on the use of aliases
Alias definitions are local to each task and are only effective during the execution of that task. They are not stored in the catalog entry of the file/JV, which means that a file/JV can be accessed via any number of different aliases, and the same alias can be used by various tasks to identify different files/JVs. No aliases can therefore be defined for file names which are passed from one task to another.
In order to prevent inconsistencies, aliases for task families which use the same program libraries must be defined by means of LOGON procedures.
The same name should always be used with all calls for a file/JV. If a substituted and completed file name is used after the SHOW-FILE-ATTRIBUTES command, inconsistencies may occur. The completed file name may be found as an alias for another file/JV in the alias catalog and thus cause some other file/JV to be addressed. To prevent inadvertent duplicate substitutions, only file names without catalog IDs should be defined as aliases by the user or ACS administrator.
If an alias catalog has been created for a task or if file name completion with a prefix is defined, any subsequent comparison between specified names and file names returned by the SHOW-FILE-LINK command or the RDTFT macro or supplied by OPEN in the TU FCB can be expected to contain discrepancies with respect to files/JVs for which alias addressing was not explicitly restricted.
As far as possible, an alias should be defined without a user ID or be defined completely with both a catalog ID and a user ID. The ACS administrator can globally prohibit the use of a catalog ID/user ID in aliases for all users (but cannot control this selectively for individual users). In addition, duplicate substitutions are more likely to occur if complete path names are used as aliases.
The interrogation of information in the user's own alias catalog can also be completely blocked by the ACS administrator. If this is done, commands involving the catalog will only be executed if the task has ACS administrator privileges. The commands affected in this case are ADD-ALIAS-CATALOG-ENTRY, MODIFY-ALIAS-CATALOG-ENTRY, and LOAD-ALIAS-CATALOG FROM-FILE=...
Before deleting a file/JV which can be addressed by using aliases or which is supplemented with a prefix, DELETE-FILE or DELETE-JV generally displays the actual name of that file/JV in a message prompt unless CHECK=NO has been specified.
REPAIR-DISK-FILE: No prefix insertion and no ACS substitution occurs when the error file S.<filename1>.REPAIR is generated.
Catalog IDs for which an RFA connection exists are not allowed in alias catalog entries and prefixes. The insertion of a prefix into a file name intended for a remote job (RFA) is never permitted.
Aliases which correspond to the structure of SERSLOG files cannot be used for SERSLOG files.
If the file associated with a specified alias is not available for ELFE, SERSLOG, etc., the alias is output in the corresponding error message.
The following must not be addressed via aliases:
alias catalog files (ACFs and ACSFs) in the commands STORE-ALIAS-CATALOG and LOAD-ALIAS-CATALOG
USER-RESOURCES-FILEs in the PRINT-DOCUMENT command
all DSSM files (subsystem libraries, REP files, syntax files, DSSM catalogs,...)
UDS database files (catalog, realm, AFIM file, SLF file, status file, backout file, tempo file, hashlib)
files processed by TCP-IP
SATUT files for selected information
SESAM database files (ZD file, ORG file, catalog file, logging and cursor files)
files that are to be processed with LEASY or by File Transfer
files used at startup