*DECK DB$DSL2 
      PROC DB$DSL2;               # GENERATE COMMAND/OPTION LIST 2     #
  
      BEGIN 
  
 #
* *   DB$DSL2 - GENERATE COMMAND/OPTION LIST 2   PAGE  1
* *   P A MURRAY                                 DATE  12/11/78 
* *   BOB MCALLESTER - 721 CONSOLE SUPPORT       DATE  01/17/84 
* 
* DC  PURPOSE 
* 
*     TO GENERATE COMMAND/OPTION LIST 2 FOR THE OPERATOR DISPLAY
* 
* DC  ENTRY CONDITIONS
* 
*     NONE
* 
* DC  EXIT CONDITIONS 
* 
*     THE STATUS OPTION LIST HAS BEEN GENERATED 
* 
* DC  CALLING ROUTINES
* 
*     DB$DSTX     SYNGEN SPECIFICATION (THROUGH DB$DDIF)
* 
* DC  CALLED ROUTINES 
# 
      XREF PROC DB$DBHL;          # BEGIN HEADER LINES                 #
      XREF PROC DB$DEHL;          # ENTER HEADER LINE                  #
      XREF PROC DB$DBLL;          # BEGIN LIST LINES                   #
      XREF PROC DB$DELL;          # ENTER LIST LINE                    #
# 
* DC  DESCRIPTION 
* 
*     DB$DBHL IS CALLED TO BEGIN HEADER LINE PROCESSING.  LOOP THROUGH
*     THE HEADER LINE ARRAY, CALLING DB$DEHL TO ENTER EACH HEADER LINE. 
*     DB$DBLL IS CALLED TO BEGIN LIST LINE PROCESSING.  LOOP THROUGH
*     THE LIST LINE ARRAY, CALLING DB$DELL TO ENTER EACH LIST LINE. 
*     IN THE PARAMETER LIST OF DB$DEHL AND DB$DELL, THE SUBSCRIPTED 
*     ARRAY NAME IS USED INSTEAD OF THE SUBSCRIPTED ARRAY ITEM NAME 
*     IN ORDER TO AVOID A CHARACTER STRING MOVE INTO A TEMPORARY ITEM.
* 
 #
  
      DEF   DFLL    # 64#;        # LINE LENGTH (IN CHARS)             #
      DEF   DFMAXHL #  1#;        # NUMBER OF HEADER LINES             #
      DEF   DFMAXLL #134#;        # NUMBER OF LIST LINES               #
  
      ARRAY HLT[1:DFMAXHL] S(7);
        BEGIN 
        ITEM HLDFT    C(00,00,DFLL) = [DFMAXHL(" ")]; 
        ITEM HLTITEM  C(00,00,DFLL) = 
  
      #           B E G I N   P R E S E T   O F   H L T                #
  
     ["             S T A T U S    O P T I O N    L I S T              "
      ];
        END 
  
      ARRAY LLT[1:DFMAXLL] S(7);
        BEGIN 
        ITEM LLDFT    C(00,00,DFLL) = [DFMAXLL(" ")]; 
        ITEM LLTITEM  C(00,00,DFLL) = 
     [" ENTER A PERIOD (.) TO RETURN TO THE MAIN COMMAND LIST.         "
     ,"                                                                "
     ," THE STATUS COMMAND DISPLAYS INFORMATION ON CDCS DATABASE, AREA "
     ," AND JOBS STATUS.  THIS INFORMATION IS IN THE FORM OF A STATIC  "
     ," LIST (I.E., A *SNAPSHOT* OF THE SYSTEM).  THE ACCEPTABLE       "
     ," OPTIONS OF THE STATUS COMMAND ARE--                            "
     ,"+00    STATUS,SC                                                "
     ,"+00    STATUS,SC,ALL                                            "
     ,"+00    STATUS,SC=/SCHEMA/                                       "
     ,"+00    STATUS,SC=/SCHEMA/,AR=/AREA/                             "
     ,"+00    STATUS,SC=/SCHEMA/,AR=/AREA/,VN=/VERSION/                "
     ,"+00    STATUS,JOBS                                              "
     ,"+00    STATUS,JOBS,SC=/SCHEMA/                                  "
     ,"+00    STATUS,JOBS,SC=/SCHEMA/,AR=/AREA/                        "
     ,"+00    STATUS,JOBS,SC=/SCHEMA/,AR=/AREA/,VN=/VERSION/           "
     ,"+00    STATUS,JOB=/JOB-NAME/                                    "
     ,"                           /SCHEMA/   = SCHEMA NAME OR SCHEMA ID"
     ,"                           /AREA/     = AREA NAME OR AREA ID    "
     ,"                           /JOB-NAME/ = JOB NAME (7 CHARACTERS) "
     ,"                           /VERSION/  = VERSION NAME            "
     ,">12                                                             "
     ," STATUS,SC                                                      "
     ,"     LISTS THE FOLLOWING INFORMATION FOR EVERY SCHEMA CURRENTLY "
     ,"     IN USE --                                                  "
     ,"           SCHEMA NAME AND ID                                   "
     ,"           SCHEMA STATUS (DOWN/IDLE/UP/ERROR)                   "
     ,"            * INDICATES WHICH OF THE FOLLOWING RECOVERY     *   "
     ,"            * FILES ARE ACTIVE (A) OR INACTIVE (I)          *   "
     ,"           JOURNAL LOG FILE              (JLF)                  "
     ,"           QUICK RECOVERY FILE           (QRF)                  "
     ,"           RESTART IDENTIFIER FILE       (RIF)                  "
     ,"           TRANSACTION RECOVERY FILE     (TRF)                  "
     ,"           NUMBER OF USERS OF SCHEMA                            "
     ,">12                                                             "
     ," STATUS,SC,ALL                                                  "
     ,"     LISTS THE FOLLOWING INFORMATION FOR EVERY SCHEMA IN THE    "
     ,"     MASTER DIRECTORY --                                        "
     ,"           SCHEMA NAME AND ID                                   "
     ,"           SCHEMA STATUS (DOWN/IDLE/UP/ERROR)                   "
     ,"            * INDICATES WHICH OF THE FOLLOWING RECOVERY     *   "
     ,"            * FILES ARE ACTIVE (A) OR INACTIVE (I)          *   "
     ,"           JOURNAL LOG FILE              (JLF)                  "
     ,"           QUICK RECOVERY FILE           (QRF)                  "
     ,"           RESTART IDENTIFIER FILE       (RIF)                  "
     ,"           TRANSACTION RECOVERY FILE     (TRF)                  "
     ,"           NUMBER OF USERS OF SCHEMA                            "
     ,">11                                                             "
     ," STATUS,SC=/SCHEMA/                                             "
     ,"     LISTS THE FOLLOWING INFORMATION ABOUT THE SPECIFIED SCHEMA "
     ,"           SCHEMA NAME AND ID                                   "
     ,"           SCHEMA STATUS (DOWN/IDLE/UP/ERROR)                   "
     ,"            * INDICATES WHICH OF THE FOLLOWING RECOVERY     *   "
     ,"            * FILES ARE ACTIVE (A) OR INACTIVE (I)          *   "
     ,"           JOURNAL LOG FILE              (JLF)                  "
     ,"           QUICK RECOVERY FILE           (QRF)                  "
     ,"           RESTART IDENTIFIER FILE       (RIF)                  "
     ,"           TRANSACTION RECOVERY FILE     (TRF)                  "
     ,"           NUMBER OF USERS OF SCHEMA                            "
     ,">18                                                             "
     ," STATUS,SC=/SCHEMA/,AR=/AREA/                                   "
     ,"     LISTS THE FOLLOWING INFORMATION ABOUT THE SPECIFIED AREA   "
     ,"     IN THE SPECIFIED SCHEMA --                                 "
     ,"           SCHEMA NAME AND ID                                   "
     ,"           SCHEMA STATUS (DOWN/IDLE/UP/ERROR)                   "
     ,"            * INDICATES WHICH OF THE FOLLOWING RECOVERY     *   "
     ,"            * FILES ARE ACTIVE (A) OR INACTIVE (I)          *   "
     ,"           JOURNAL LOG FILE              (JLF)                  "
     ,"           QUICK RECOVERY FILE           (QRF)                  "
     ,"           RESTART IDENTIFIER FILE       (RIF)                  "
     ,"           TRANSACTION RECOVERY FILE     (TRF)                  "
     ,"           NUMBER OF USERS OF SCHEMA                            "
     ,"           AREA NAME AND ID                                     "
     ,"           AREA STATUS (DOWN/IDLE/UP/ERROR)                     "
     ,"            * ERROR STATUS RESULTS FROM I/O ERRORS ON THE AREA. "
     ,"           AREA ACTIVITY (ACTIVE/INACTIVE)                      "
     ,"           NUMBER OF USERS OF AREA                              "
     ,"           MASTER VERSION NAME FOR AREA                         "
     ,">05                                                             "
     ," STATUS,SC=/SCHEMA/,AR=/AREA/,VN=/VERSION/                      "
     ,"     LIST INFORMATION FOR THE SPECIFIED AREA IN THE             "
     ,"     SPECIFIED SCHEMA.  THIS COMMAND IS NECESSARY TO            "
     ,"     DETERMINE THE STATUS FOR THE AREA IF THERE ARE             "
     ,"     VERSIONS OTHER THAN MASTER ACTIVE.                         "
     ,">10                                                             "
     ," STATUS,JOBS.                                                   "
     ,"     LISTS THE FOLLOWING INFORMATION FOR EACH JOB CURRENTLY     "
     ,"     USING CDCS --                                              "
     ,"           JOB NAME                                             "
     ,"           SCHEMA NAME AND ID                                   "
     ,"           SCHEMA STATUS (DOWN/IDLE/UP/ERROR)                   "
     ,"           SUBSCHEMA NAME                                       "
     ,"           JOB ACTIVITY (ACTIVE/INACTIVE/ROLLED)                "
     ,"           CURRENT REQUESTED FUNCTION (CODE AND NAME)           "
     ,"           CURRENT REQUESTED VERSION                            "
     ,">09                                                             "
     ," STATUS,JOBS,SC=/SCHEMA/                                        "
     ,"     LISTS THE SAME INFORMATION AS FOR THE STATUS,SC=/SCHEMA/   "
     ,"     COMMAND.  FOR EACH JOB USING THAT SCHEMA, THE FOLLOWING IS "
     ,"     ALSO LISTED --                                             "
     ,"           JOB NAME                                             "
     ,"           PROGRAM ID                                           "
     ,"           JOB ACTIVITY (ACTIVE/INACTIVE/ROLLED)                "
     ,"           CURRENT REQUESTED FUNCTION (CODE AND NAME)           "
     ,"           CURRENT REQUESTED VERSION                            "
     ,">09                                                             "
     ," STATUS,JOBS,SC=/SCHEMA/,AR=/AREA/                              "
     ,"     LISTS THE SAME INFORMATION AS FOR THE STATUS,SC=/SCHEMA/,  "
     ,"     AR=/AREA/ COMMAND.  FOR EACH JOB USING THAT AREA THE       "
     ,"     FOLLOWING IS ALSO LISTED --                                "
     ,"           JOB NAME                                             "
     ,"           PROGRAM ID                                           "
     ,"           JOB ACTIVITY (ACTIVE/INACTIVE/ROLLED)                "
     ,"           CURRENT REQUESTED FUNCTION (CODE AND NAME)           "
     ,"           CURRENT REQUESTED VERSION                            "
     ,">09                                                             "
     ," STATUS,JOBS,SC=/SCHEMA/,AR=/AREA/,VN=/VERSION/                 "
     ,"     LISTS THE SAME INFORMATION AS FOR THE STATUS,SC=/SCHEMA/,  "
     ,"     AR=/AREA/,VN=/VERSION/ COMMAND.  FOR EACH JOB USING THAT   "
     ,"     AREA THE FOLLOWING IS ALSO LISTED --                       "
     ,"           JOB NAME                                             "
     ,"           PROGRAM ID                                           "
     ,"           JOB ACTIVITY (ACTIVE/INACTIVE/ROLLED)                "
     ,"           CURRENT REQUESTED FUNCTION (CODE AND NAME)           "
     ,"           CURRENT REQUESTED VERSION                            "
     ,">09                                                             "
     ," STATUS,JOB=/JOB-NAME/                                          "
     ,"     LISTS THE FOLLOWING INFORMATION FOR THE SPECIFIED JOB --   "
     ,"           JOB NAME                                             "
     ,"           PROGRAM ID                                           "
     ,"           JOB ACTIVITY (ACTIVE/INACTIVE/ROLLED)                "
     ,"           SCHEMA NAME AND ID                                   "
     ,"           SUBSCHEMA NAME                                       "
     ,"           CURRENT REQUESTED FUNCTION (CODE AND NAME)           "
     ,"           CURRENT REQUESTED VERSION                            "
      ];
        END 
  
#     LOCAL ITEMS                                                      #
  
      ITEM I I;              # INDUCTION VARIABLE                      #
  
  
#     E X E C U T A B L E   C O D E   F O R   D B $ D S L 2            #
  
      DB$DBHL;
      FOR I = 1 STEP 1 UNTIL DFMAXHL DO     # ENTER HEADER LINES, ONE  #
        DB$DEHL(HLT[I],DFLL);               # LINE AT A TIME           #
  
      DB$DBLL;
      FOR I = 1 STEP 1 UNTIL DFMAXLL DO     # ENTER LIST LINES, ONE    #
        DB$DELL(LLT[I],DFLL);               # LINE AT A TIME           #
  
      RETURN; 
  
      END   # DB$DSL2 # 
  
      TERM
