Routines to tailor FATMEN selection

By default, FATMEN makes no check on location code or copy level when accessing a dataset or listing a catalogue entry. When attempting to access a dataset, FATMEN searches for a copy first on disk, then 3480 cartridge, and so on. The following routines may be used to modify the selection procedure.

If a call to FMSETL or FMSETC is made, only entries with a location code or copy level that match one of those specified will be accessible (unless the key serial number is given explicitly) or visible via a call to FMLS. Routine FMSETM permits not only the range of medium types to be set but also the order. For example, a call to FMSETM with the following values will limit the selection to medium types 3, 5, 1 and 2, in that order.

      NMTP = 4
      MTP(1) = 3
      MTP(2) = 5
      MTP(3) = 1
      MTP(4) = 2

Alternatively, routine FMSETK can be used. This allows the user to declare a keys matrix and character option which will be used in all future file selections. That is, it overrides both the FATMEN default selection and that set by the routines FMSETC, FMSETL and FMSETM.

The difference between these three approaches is explained below. With the default FATMEN selection, no check is made on copy level or location code. FATMEN takes in turn media types 1 to 4 and looks for an accessible dataset. The first one found is taken, with the proviso that robotically mounted tapes are given preference over manually mounted tapes.

The FMSETC, FMSETL and FMSETM routines allow the user to specify allowed values for the copy level and location code, and the order in which the different media types are to be processed. This allows media types that are not in the default selection to be processed, and the order to be changed. However, the user is unable to indicate that, for example, a location code or 31 is preferable to one of 21, within a given media type.

The FMSETK routine provides the user with more control. One might wish to set the order to be native mode copy on disk, native mode copy on 3480 robotically mounted cartridge, exchange mode copy on disk, exchange mode copy on 3480 cartridge.

Declare location codes to FATMEN

                      +----------------------------+
                      |CALL  FMSETL (LOC,NLOC,IRC*) |
                      +----------------------------+
                                  

LOC
Array of length NLOC containing a list of location codes to be used in FATMEN selection of an entry.
NLOC
The number of location codes declared, maximum 99
IRC
Integer variable in which the return code is returned.

Load location code definitions from a file

                +----------------------------------------+
                | CALL  FMLCOD (LUNLOC,CHFILE,CHOPT,IRC*) |
                +----------------------------------------+
                                  

LUN
Integer variable or constant specifying the Fortran logical unit which should be used to read the file CHFILE
CHFILE
Character variable specifying the file containing the location code definitions
CHOPT
Character variable specifying the required options
IRC
Integer variable in which the return code is passed

This routine loads the location code definitions from the specified file. By default, FATMEN will load a file FATMEN.LOCCODES from the server directory at initialisation time.

            Example of a location code definition file
                                  
         1=Cern Vault  :   For CERNVM Shift Cray VXCERN etc
         2=Cern Vault  :
         9=Cern Vault  :   Hidden or Obsolete data
        11=VXOPON      :   OPAL Online Vax cluster
        12=Online      :   OPAL (apollo) online facilities
        21=VXOPOF      :   OPAL Offline cluster
        31=SHIFT       :   SHIFT disk and archive storage
     16040=U-Vic       :   'obsolete' cartridges
     16041=U-Vic       :   Active data accessible at U-Vic.
     49201=Bonn        :   Data accessible at Bonn
     49202=Bonn        :   Data in Transit
     49203=Bonn        :   Data in CERN Vault
     49401=DESY        :   Data accessible at DESY/Hamburg
     49402=DESY        :   Data in Transit
     49403=DESY        :   Data in CERN Vault
     49601=Heidelburg  :   Data accessible at Heidelburg
     49602=Heidelburg  :   Data in Transit
     49603=Heidelburg  :   Data in CERN Vault
     49701=Freiburg    :   Data accessible at Freiburg
     49702=Freiburg    :   Data in Transit
     49703=Freiburg    :   Data in CERN Vault
     16042=U-Vic       :   Data in transit
     16043=U-Vic       :   Data at CERN in PC-VAULT
     16049=U-Vic       :   Hidden or obsolete data
     33101=Saclay      :   Active cartridges
     33901=Saclay      :   'obsolete' cartridges
     44501=UKACRL      :   Active data accessible at RAL
     44502=UKACRL      :   Data in transit
     44503=UKACRL      :   Data at CERN in PC-VAULT
     44509=UKACRL      :   Hidden or obsolete data
     44901=UKACRL      :   Inaccessible / archived data
     97281=Weizmann    :   Active cartridges
     97282=Weizmann    :   Data in transit
     97283=Weizmann    :   Data at CERN in PC-VAULT
     97289=Weizmann    :   Hidden or obsolete data

Declare media types to FATMEN

                      +----------------------------+
                      |CALL  FMSETM (MTP,NMTP,IRC*) |
                      +----------------------------+
                                  

MTP
Array of length NMTP containing a list of media types to be used in FATMEN selection of an entry.
NMTP
The number of media types declared, maximum 99
IRC
Integer variable in which the return code is returned.

Declare copy levels to FATMEN

                      +----------------------------+
                      |CALL  FMSETC (CPL,NCPL,IRC*) |
                      +----------------------------+
                                  

CPL
Array of length NCPL containing a list of copy levels to be used in FATMEN selection of an entry.
NCPL
The number of copy levels declared, maximum 99
IRC
Integer variable in which the return code is returned.

Declare selection matrix and options to FATMEN

                   +----------------------------------+
                   | CALL  FMSETK (KEYM,NK,CHOPT,IRC*) |
                   +----------------------------------+
                                  

KEYM
Matrix of size (LKEYFA,NK) containing an ordered list of key vectors to be used in FATMEN selection of an entry.
NK
The number of copy levels declared, maximum 99
CHOPT
The options to be used when selecting a dataset, as defined by the routine FMSELM.
IRC
Integer variable in which the return code is returned.

See the description of the FMSELM routine for more information on how the key matrix is used in dataset selection.