All CANDE commands that reference files, except for the FILES, LFILES, CHANGE, TITLE, REMOVE, and SECURITY commands, always invoke family substitution. Family substitution is a method for redirecting references to files on a family (such as DISK) in order to avoid entering the actual family name in commands. The following paragraphs describe how the family substitution feature operates. Note that family substitution is effective for CANDE functions only if the target family is DISK. For an explanation of the terminology used in this discussion (family specifications, substitute family, target family, and alternate family), refer to the FAMILY command in CANDE Commands.
If family substitution is desired, and the target family of the family specification is DISK (for example, FAMILY DISK = SUBPK OTHERWISE ALTPK), then whenever DISK is specified as the family name in a command (for example, LIST MYFILE ON DISK), family substitution takes effect. This means that in looking for the file to list, the system searches the substitute family pack and, possibly, the alternate family pack (SUBPK and ALTPK in this example).
For commands involving input from an existing file (such as the LIST or RUN commands), the alternate family, when present, is also searched if the attempt to locate the file on the substitute family should fail (for example, file MYFILE ON ALTPK will be used if file MYFILE ON SUBPK cannot be found).
If file MYFILE ON DISK is requested, and MYFILE is actually located on DISK and nowhere else, the file will be inaccessible to commands other than the commands listed previously as exceptions, unless the aforementioned FAMILY statement is changed to include DISK (for example, FAMILY DISK = SUBPK OTHERWISE DISK or FAMILY DISK = DISK ONLY), or the FAMILY specifications are deleted entirely.
When family substitution is in effect, new files that request the target family are created on the substitute family.
In the case of the commands listed previously as exceptions, family substitution is ignored if a family name is specified. That is, if the family substitution in effect is FAMILY DISK = SUBPK OTHERWISE ALTPK, then entering the command FILES is equivalent to entering FILES ON SUBPK; however, specifying FILES ON DISK yields files on DISK and not on SUBPK.