As explained above, there can be multiple copies of a file with the same generic name. Typically, these copies will reside on different media, in different locations or have different data representations.
An entry exists in the FATMEN catalogue for each copy of a file. This entry consists of a Zebra bank and an associated vector known as the KEYS vector. One can use the keys vector, explicitly or implicitly, to select a particular copy of a file. More details on how this is done are given below.
Many of the FATMEN callable routines have the generic name, Zebra bank address and keys vector as arguments. If the bank address is zero, the FATMEN software retrieves the bank corresponding to the specified generic name from the FATMEN catalogue. In the case of multiple entries for the same generic name, the entry which is returned is determined by the rules described below. The exception to this rule is the routine FMGETK, which returns the entry corresponding to the key vector specified.
By default, the FATMEN selection is as follows:
Note that for systems such as Apollo, SHIFT etc. the node name that the FATMEN software uses can be set using an environmental variable. Thus on the various SHIFT nodes at CERN (shift1, shd01 etc.) the node name is set to SHIFT.
One can set ranges of valid location codes and copy levels using the routines FMSETL and FMSETC respectively. (The corresponding shell commands are SET/LOCATION and SET/COPYLEVEL). If ranges for either of these keys are set, then only entries with keys that match will be considered for selection. Note that setting a range of location codes can result in significantly faster selection time in the case of multiple entries, particurly if multiple TMS queries are avoided.
For example, if one makes 30 copies of every DST tape for export to outside laboratories, one can avoid up to 29 TMS queries by using different location codes at these sites.
In addition to ranges of location codes and copy levels, one may also set ranges of media types with FMSETM or SET/MEDIATYPE. Here, the order is also significant, thus SET/MEDIATYPE 2,4,1 will look first on 3480 cartridge, then Exabyte 8200 cassette and finally disk.
In some cases, a more powerful selection technique is needed. For example, one may want to set the search order to
to avoid the overhead of conversion between data representation types. This can be achieved using the FORTRAN routine FMSETK. This routine is described further in the user guide section of this manual.