COMTMVD 
COMMON
                                                                      # 
          CTEXT  COMTMVD - *SSMOVE* DIRECTIVE PARAMETERS. 
                                                                      # 
  
                                                CONTROL NOLIST; 
                                                CONTROL IFEQ LISTCON,1; 
                                                CONTROL LIST; 
                                                CONTROL FI; 
  
                             BEGIN  # COMTMVD # 
                                                                      # 
***       COMTMVD - *SSMOVE* DIRECTIVE PARAMETERS.
*         DISCUSS FUNCTION..
  
  
  
  
                                                                      # 
                                                                      # 
*         *COMPASS*+*SYMPL* DEFINITIONS.
                                                                      # 
  
  
#MXINDX   #DEF#  5           # MXINDX #5#; # MAX PARAMS ANY DIRECTIVE # 
#NUMDIR   #DEF#  7           # NUMDIR #7#; #NUMBER OF DIRECTIVES #
  
#SMMG     #DEF#  1           # SMMG #1#; #  MASTER GOAL # 
#SMSG     #DEF#  2           # SMSG #2#; #  SECONDARY GOAL #
#SMP1     #DEF#  3           # SMP1 #3#; # SITE PARAMETER 1 # 
#SMP2     #DEF#  4           # SMP2 #4#; # SITE PARAMETER 2 # 
#SMMX     #DEF#  4           # SMMX #4#; #  MAXIMUM SM INDEX #
  
#SFFN     #DEF#  1           # SFFN #1#; #  FILE NAME # 
#SFUIX    #DEF#  2           # SFUI #2#; #  USER INDEX #
#SFPO     #DEF#  3           # SFPO #3#; #  PROCESSING OPTION # 
#SFPC     #DEF#  4           # SFPC #4#; #  PRIVATE CARTRIDGE ID #
#SFMX     #DEF#  4           # SFMX #4#; #  MAXIMUM SF INDEX #
  
#FRMN     #DEF#  1           # FRMN #1#; #  MINIMUM SIZE #
#FRMX     #DEF#  2           # FRMX #2#; #  MAXIMUM SIZE #
#FRDD     #DEF#  3           # FRDD #3#; #  DELTA TIME (DAYS) # 
#FRTH     #DEF#  4           # FRTH #4#; #  THRESHOLD # 
#FRMXX    #DEF#  4           # FRMXX #4#; #  MAXIMUM FR INDEX # 
  
#WMAG     #DEF#  1           # WMAG #1#; #  AGE # 
#WMLN     #DEF#  2           # WMLN #2#; #  LENGTH #
#WMAC     #DEF#  3           # WMAC #3#; #  ACCESS COUNT #
#WMMXX    #DEF#  3           # WMMXX #3#; # MAXIMUM WM INDEX #
  
#WAAG     #DEF#  1           # WAAG #1#; #  AGE # 
#WALN     #DEF#  2           # WALN #2#; #  LENGTH #
#WAAC     #DEF#  3           # WAAC #3#; #  ACCESS COUNT #
#WADV     #DEF#  4           # WADV #4#; #  DIVISOR # 
#WAMX     #DEF#  4           # WAMX  #4#; # MAXIMUM WA INDEX #
                                                                      # 
  
  
          MACRO  TQARG,KEY,SEC,INDX 
 IFOK     IFLE   INDX,MXINDX
 KEY      ARG    SEC,TQBUFP+INDX,400B 
 IFOK     ELSE
 2        ERR                IF INDX TOO BIG
 IFOK     ENDIF 
          ENDM
  
  
 TQ       MACRO 
 IA       ARG    -SEC,TQBUF 
 DA       ARG    -SEC,TQBUF+1 
 RL       ARG    -SEC,TQBUF+2 
 DS       ARG    -SEC,TQBUF+3 
          ENDM
  
  
  
*         PARAMETER LIST FOR THE *PR* DIRECTIVE.
  
  
 PRARG    BSS    0
          TQ
 PR       TQARG  -IGNORE,0
 L        TQARG  IGNORE,RSLK
 D        TQARG  IGNORE,RSDS
 M        TQARG  IGNORE,RSMS
 N        TQARG  IGNORE,RSNP
 T        TQARG  IGNORE,RSTP
          ARG                END OF PARAMETERS. 
  
  
*         PARAMETER LIST FOR THE *BR* DIRECTIVE.
  
  
 BRARG    BSS    0
          TQ
 BR       TQARG -IGNORE,0 
 N        TQARG  IGNORE,BRNO
 Y        TQARG  IGNORE,BRAL
 MD       TQARG  IGNORE,BRMD
          ARG                END OF PARAMETER LIST. 
  
  
*         PARAMETER LIST FOR THE *SM* DIRECTIVE.
  
  
 SMARG    BSS    0
          TQ
 SM       TQARG -IGNORE,0 
 MG       TQARG  IGNORE,SMMG
 SG       TQARG  IGNORE,SMSG
 P1       TQARG  IGNORE,SMP1
 P2       TQARG  IGNORE,SMP2
          ARG                END OF PARAMETER LIST. 
  
  
*         PARAMETER LIST FOR THE *FR* DIRECTIVE.
  
  
 FRARG    BSS    0
          TQ
 FR       TQARG -IGNORE,0 
 MN       TQARG  IGNORE,FRMN
 MX       TQARG  IGNORE,FRMX
 DD       TQARG  IGNORE,FRDD
 TH       TQARG  IGNORE,FRTH
          ARG                END OF PARAMETER LIST. 
  
  
*         PARAMETER LIST FOR THE *WM* DIRECTIVE.
  
  
 WMARG    BSS    0
          TQ
 WM       TQARG -IGNORE,0 
 AG       TQARG  IGNORE,WMAG
 LN       TQARG  IGNORE,WMLN
 AC       TQARG  IGNORE,WMAC
          ARG                END OF PARAMETER LIST. 
  
  
*         PARAMETER LIST FOR THE *WA* DIRECTIVE.
  
  
 WAARG    BSS    0
          TQ
 WA       TQARG -IGNORE,0 
 AG       TQARG  IGNORE,WAAG
 LN       TQARG  IGNORE,WALN
 AC       TQARG  IGNORE,WAAC
 DV       TQARG  IGNORE,WADV
          ARG                END OF PARAMETER LIST. 
  
  
*         PARAMETER LIST FOR THE *SF* DIRECTIVE.
  
  
 SFARG    BSS    0
          TQ
 SF       TQARG -IGNORE,0 
 FN       TQARG  IGNORE,SFFN
 UI       TQARG  IGNORE,SFUIX 
 PO       TQARG  IGNORE,SFPO
 PC       TQARG  IGNORE,SFPC
          ARG                END OF PARAMETER LIST. 
  
  
  
  
  
  
 SEC      DATA   1
 IGNORE   DATA   0
  
  
 TQBUF    BSS    0
          BSS    4           FOR THE T(I/D) AND Q(A/B) PARAMETERS.
 TQBUFP   BSS    1           FOR THE DIRECTIVE KEYWORD
          BSS    MXINDX      HOLDS PARAMETER VALUES 
  
  
*         TEXT LINES FOR THE *SSMOVE* REPORT. 
  
 FRTEXT   DATA   20HFILE REQUIREMENTS 
 WMTEXT   DATA   20HWEIGHT MULTIPLIER 
 WATEXT   DATA   20HWEIGHT ADDER
 PRTEXT   DATA   20HPREFERRED RESIDENCE 
 BRTEXT   DATA   20HBACKUP REQUIREMENT
 SMTEXT   DATA   20HSITE MANAGEMENT 
  
          USE    /TMVDCOM/
  
 TQPTR    BSS    0
          VFD    12/2L,,
          VFD    18/TQBUFP+1 LOCATION OF FIRST PARAMETER
          VFD    12/MXINDX+5   LENGTH OF TOTAL TQ ARRAY 
          VFD    18/TQBUF 
          VFD    60/0 
  
 SF       BSS    0
          VFD    12/2LSF     KEYWORD
          VFD    18/SFVAL    PARM VALUE TABLE ADDRESS 
          VFD    12/SFMX     MAXIMUM INDEX
          VFD    18/SFARG    ADDRESS OF ARG TABLE 
          VFD    60/0        ADDRESS OF TEXT LINE 
  
 FR       BSS    0           KEYWORD
          VFD    12/2LFR
          VFD    18/FRVAL    PARM VALUE TABLE ADDRESS 
          VFD    12/FRMXX    MAXIMUM INDEX
          VFD    18/FRARG    ADDRESS OF ARG TABLE 
          VFD    60/FRTEXT   ADDRESS OF TEXT LINE 
  
 WM       BSS    0
          VFD    12/2LWM     KEYWORD
          VFD    18/WMVAL    PARM VALUE TABLE ADDRESS 
          VFD    12/WMMXX    MAXIMUM INDEX
          VFD    18/WMARG    ADDRESS OF ARG TABLE 
          VFD    60/WMTEXT   ADDRESS OF TEXT LINE 
  
 WA       BSS    0
          VFD    12/2LWA     KEYWORD
          VFD    18/WAVAL    PARM VALUE TABLE ADDRESS 
          VFD    12/WAMX     MAXIMUM INDEX
          VFD    18/WAARG    ADDRESS OF ARG TABLE 
          VFD    60/WATEXT   ADDRESS OF TEXT LINE 
  
 PR       BSS    0           KEYWORD
          VFD    12/2LPR
          VFD    18/PRVAL    PARM VALUE TABLE ADDRESS 
          VFD    12/RSMX     MAXIMUM INDEX
          VFD    18/PRARG    ADDRESS OF ARG TABLE 
          VFD    60/PRTEXT   ADDRESS OF TEXT LINE 
  
 BR       BSS    0
          VFD    12/2LBR     KEYWORD
          VFD    18/BRVAL    PARM VALUE TABLE ADDRESS 
          VFD    12/BRMX     MAXIMUM INDEX
          VFD    18/BRARG    ADDRESS OF ARG TABLE 
          VFD    60/BRTEXT   ADDRESS OF TEXT LINE 
  
 SM       BSS    0
          VFD    12/2LSM     KEYWORD
          VFD    18/SMVAL    PARM VALUE TABLE ADDRESS 
          VFD    12/SMMX     MAXIMUM INDEX
          VFD    18/SMARG    ADDRESS OF ARG TABLE 
          VFD    60/SMTEXT   ADDRESS OF TEXT LINE 
  
 SFVAL    BSS    4*SFMX      *SF* PARAMETER VALUES
 FRVAL    BSS    4*FRMXX     *FR* PARAMETER VALUES
 PRVAL    BSS    4*RSMX      *PR* PARAMETER VALUES
 BRVAL    BSS    4*BRMX      *BR* PARAMETER VALUES
 SMVAL    BSS    4*SMMX      *SM* PARAMETER VALUES
 WAVAL    BSS    4*WAMX      *WA* PARAMETER VALUES
 WMVAL    BSS    4*WMMXX     *WM* PARAMETER VALUES
  
          USE    *
  
                                                                      # 
  
  
                                                                      # 
          COL    12          FORCE *COMPASS* TO IGNORE *SYMPL* CODE 
                                                                      # 
  
  
                                                                      # 
***   *SYMPL* DEFINITIONS OF THE COMMON BLOCK *TMVDCOM* 
                                                                      # 
  
           COMMON TMVDCOM;
  
             BEGIN # TMVDCOM #
                                                                      # 
*      ARRAY WHICH HAS POINTERS TO THE *ARG* TABLE FOR EACH DIRECTIVE.
                                                                      # 
  
             ARRAY ARGP [0:NUMDIR] S(2);
               BEGIN
               ITEM ARG$KEY  C(00,00,02); # DIRECTIVE KEY # 
               ITEM ARG$VAL  U(00,12,18);  # PARAMETER VALUES # 
               ITEM ARG$MX   U(00,30,12);  # MAXIMUM INDEX #
               ITEM ARG$TAB  U(00,42,18);  # LOC(*ARG* TABLE) # 
               ITEM ARG$TEXT U(01,42,18);  # LOC(*TEXT LINE*) # 
               END
  
  
                                                                      # 
*     THE FOLLOWING ARRAYS CONTAIN DEFAULT VALUES FOR EACH
*     OF THE PARAMETERS FOR EACH DIRECTIVE. 
*     EACH ARRAY ITEM IS ACCESSED BY REFERENCING
*         KEY$VAL[T,Q,PAR]
*            KEY = KEYWORD FOR THE DIRECTIVE. 
*            PAR = INDEX FOR THE PARAMETER. 
*            T   = FILE TYPE (1=INDIRECT, 2=DIRECT).
*            Q   = ACTION TYPE (1=ARCHIVE, 2=BACKUP). 
                                                                      # 
  
             ARRAY SFVAL [1:2,1:2,1:SFMX] S(1); 
               BEGIN
               ITEM SF$VAL  I(00,00,60)=[ ##  # DEFAULT VALUES BELOW #
                 ## 
                 ]; 
               END
  
  
             ARRAY FRVAL [1:2,1:2,1:FRMXX] S(1);
               BEGIN
               ITEM FR$VAL  I(00,00,60)=[ ##  # DEFAULT VALUES BELOW #
                  [ [DS$FR$MN] [RL$FR$MN] ] 
                  [ [DS$FR$MX] [RL$FR$MX] ] 
                  [ [DS$FR$DD] [RL$FR$DD] ] 
                  [ [DS$FR$TH] [RL$FR$TH] ] 
                 ]; 
               END
  
  
  
             ARRAY PRVAL [1:2,1:2,1:RSMX] S(1); 
               BEGIN
               ITEM PR$VAL  I(00,00,60)=[ ##  # DEFAULT VALUES FOLLOW # 
                  [ [DS$PR$L ] [RL$PR$L ] ] 
                  [ [DS$PR$D ] [RL$PR$D ] ] 
                  [ [DS$PR$M ] [RL$PR$M ] ] 
                  [ [DS$PR$N ] [RL$PR$N ] ] 
                  [ [DS$PR$T ] [RL$PR$T ] ] 
                 ]; 
               END
  
  
             ARRAY BRVAL [1:2,1:2,1:BRMX] S(1); 
               BEGIN
               ITEM BR$VAL  I(00,00,60)=[ ##  # DEFAULT VALUES BELOW #
                  [ [DS$BR$N ] [RL$BR$N ] ] 
                  [ [DS$BR$Y ] [RL$BR$Y ] ] 
                  [ [DS$BR$MD] [RL$BR$MD] ] 
                 ]; 
               END
  
  
             ARRAY SMVAL [1:2,1:2,1:SMMX] S(1); 
               BEGIN
               ITEM SM$VAL  I(00,00,60)=[ ##  # DEFAULT VALUES BELOW #
                  [ [DS$SM$MG] [RL$SM$MG] ] 
                  [ [DS$SM$SG] [RL$SM$SG] ] 
                  [ [DS$SM$P1] [RL$SM$P1] ] 
                  [ [DS$SM$P2] [RL$SM$P2] ] 
                 ]; 
               END
  
  
             ARRAY WAVAL [1:2,1:2,1:WAMX] S(1); 
               BEGIN
               ITEM WA$VAL  I(00,00,60)=[ ##  # DEFAULT VALUES BELOW #
                  [ [DS$WA$AG] [RL$WA$AG] ] 
                  [ [DS$WA$LN] [RL$WA$LN] ] 
                  [ [DS$WA$AC] [RL$WA$AC] ] 
                  [ [DS$WA$DV] [RL$WA$DV] ] 
                 ]; 
               END
  
  
             ARRAY WMVAL [1:2,1:2,1:WMMXX] S(1);
               BEGIN
               ITEM WM$VAL  I(00,00,60)=[ ##  # DEFAULT VALUES BELOW #
                  [ [DS$WM$AG] [RL$WM$AG] ] 
                  [ [DS$WM$LN] [RL$WM$LN] ] 
                  [ [DS$WM$AC] [RL$WM$AC] ] 
                 ]; 
               END
  
  
             END  # TMVDCOM # 
  
           END  # COMTMVD # 
                                                                      # 
          COL    30          RESUME NORMAL *COMPASS*
          ENDX                                                        # 
                                                CONTROL LIST; 
