               PROCEDURE MGRB2300                                               
                                                                                
               OPTIONS PROCMSG = NO                                             
***********************************************************************         
* PROCEDURE:        MGRB2300                                          *         
* AUTHOR:           JMC                                               *         
* DATE CREATED:     January 14, 1993                                  *         
* PURPOSE:          Will create a listing of the History File.        *         
*                   This file may contain information of Tapes        *         
*                   created or Files Transferred/Archived             *         
*                                                                     *         
*---------------------------------------------------------------------*         
*                            MODIFICATIONS                            *         
*                           ===============                           *         
* Version    Date   Wwo Why                                           *         
* -------- -------- --- --------------------------------------------- *         
* 00.02.00 05/04/94 JMC Added OPEN/ANM Log File                       *         
* 00.01.00 06/17/93 JMC Added Detail Report MGRB2310                  *         
* 00.00.00 01/14/93 JMC Original Version                              *         
*                                                                     *         
***********************************************************************         
          MESSAGE ERASE = YES                                                   
                  CENTER "Procedure MGRB2300 in Progress"                       
                                                                                
         DECLARE &VERSION           as String (08) Initial "00.02.00"           
         DECLARE &R_C               as Integer     Initial 0                    
         DECLARE &RECORDS           as Integer     Initial 0                    
         DECLARE &REPORT_USE_FILE   as String (08) Initial " "                  
         DECLARE &REPORT_USE_LIB    as String (08) Initial " "                  
         DECLARE &REPORT_USE_VOL    as String (06) Initial " "                  
         DECLARE &PRINT_FILE        as String (08) Initial "MG23001P"           
         DECLARE &TAPE_CAT_ENTRY    as String (08) Initial "MG23001C"           
         DECLARE &SYSTEM_MSG        as String (15) Initial                      
                 "Default Log"                                                  
                                                                                
***** Area for Set Defaults (SETDEF)                                            
         DECLARE &RUN_LIB             as String (08) Initial "        "         
         DECLARE &RUN_VOL             as String (06) Initial "      "           
         DECLARE &IN_LIB_OLD          as String (08) Initial "        "         
         DECLARE &IN_VOL_OLD          as String (06) Initial "      "           
         DECLARE &OUT_LIB_OLD         as String (08) Initial "        "         
         DECLARE &OUT_VOL_OLD         as String (06) Initial "      "           
         DECLARE &SPOOL_LIB           as String (08) Initial " "                
         DECLARE &SPOOL_VOL           as String (06) Initial "      "           
         DECLARE &SPOOL_VOL_OLD       as String (06) Initial "      "           
         DECLARE &FILE_CLASS_OLD      as String (01) Initial " "                
         DECLARE &USER_ID             as String (03) Initial " "                
                                                                                
**** Screen FACs                                                                
          DECLARE &LOPROUL      as String (01) Initial &BYTE(172)               
          DECLARE &FLPRO        as String (01) Initial &BYTE(148)               
          DECLARE &HIPRO        as String (01) Initial &BYTE(132)               
          DECLARE &LOPRO        as String (01) Initial &BYTE(140)               
                                                                                
***** Declares for the Subroutine "VOLEDIT"                                     
         DECLARE &VOLUME_NAME       as String (06) Initial "      "             
         DECLARE &CHARS             as String (40) Initial                      
                 "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ@#$ "                     
         DECLARE &CURLENGTH         as Integer     Initial 0                    
                                                                                
                                                                                
*****  PROMPT Area                                                              
         DECLARE &RPT_FILE            as String(08) Initial " "                 
         DECLARE &RPT_LIB             as String(08) Initial " "                 
         DECLARE &RPT_VOL             as String(06) Initial " "                 
         DECLARE &PF,                                                           
                 &CURSOR_ROW,                                                   
                 &CURSOR_COL        as Integer     Initial 0                    
         DECLARE &TITLE_01          as String (79) Initial                      
                 "MGRB2300              Tape or OPEN/ANM " !!                   
                 "History Log Listing           " !! &VERSION                   
         DECLARE &MESSAGE           as String (79) Initial " "                  
         DECLARE &SPACE_79          as String (79) Initial " "                  
                                                                                
***********************************************************************         
* STEP01 -- Get Location of MG23001C; Data, Control & Report Files    *         
***********************************************************************         
STEP01:  MESSAGE ERASE = NO ROW 23                                              
                 CENTER "Step 1, MU5350 in Progress"                            
                                                                                
STEP01A: RUN MU5350                                                             
               ENTER CATGET    CATNAME = FPSUPROC                               
     FPSUPROC: ENTER LOCATION                                                   
               ENTER CATGET    CATNAME = MG23001DREPORT                         
     MG23001D: ENTER LOCATION                                                   
               ENTER CATGET    CATNAME = MG23001SREPORT                         
     MG23001S: ENTER LOCATION                                                   
               ENTER CATGET    CATNAME = MG23001CCONTROL                        
     CTLFILE:  ENTER LOCATION                                                   
               ENTER CATGET                                                     
                                                                                
         IF STEP01A ne 0 RETURN CODE = STEP01A + 1000                           
                                                                                
***********************************************************************         
* Will set Defaults                                                   *         
***********************************************************************         
         CALL SETDEF                                                            
                                                                                
***********************************************************************         
* STEP05 -- Prompt for Report                                         *         
***********************************************************************         
STEP05:   MESSAGE ERASE = YES ROW 1                                             
            LINE &TITLE_01                                                      
          MESSAGE ERASE = NO ROW 22                                             
               BRIGHT &MESSAGE;                                                 
               LINE   &SPACE_79;                                                
               DIM    "(1) Summary Report;  " !!                                
                      "(3) Desc Report;  "   !!                                 
                      "(5) Detail Reports;  "   !!                              
                      "(16) Exit"                                               
                                                                                
         PROMPT ERASE = NO,                                                     
                CURROW = &CURSOR_ROW, CURCOL = &CURSOR_COL,                     
                PFKEY = &PF ROW 6                                               
            DIM  "                ",                                            
                 LINE "Please Select System              ";                     
            DIM "                ",                                             
                TAB " Default Tape Log (includes IRS)";                         
            DIM "                ",                                             
                TAB " OPEN/ANM Transfer Log";                                   
            DIM "                ",                                             
                TAB " CITS";                                                    
            DIM "                ",                                             
                TAB " MACS";                                                    
            DIM "                ",                                             
                TAB " SMS WIP";                                                 
                                                                                
          IF &Pf = 16 GOTO EOJ                                                  
          IF &Pf =  1 GOTO STEP06                                               
          IF &Pf =  3 GOTO STEP06                                               
          IF &Pf =  5 GOTO STEP06                                               
                                                                                
STEP05d:  ASSIGN &MESSAGE = "Invalid Pf-Key Selected"                           
          GOTO STEP05                                                           
                                                                                
***********************************************************************         
* STEP06 -- Determine System                                          *         
***********************************************************************         
STEP06:   MESSAGE ERASE = YES                                                   
                  CENTER "Procedure MGRB2300 in Progress"                       
                                                                                
          IF &CURSOR_ROW = 7  GOTO STEP06a   [ Default ]                        
          IF &CURSOR_ROW = 8  GOTO STEP06d   [ OPEN/ANM]                        
          IF &CURSOR_ROW = 9  GOTO STEP06b   [ CITS    ]                        
          IF &CURSOR_ROW = 10 GOTO STEP06e   [ MACS    ]                        
          IF &CURSOR_ROW = 11 GOTO STEP06c   [ SMS WIP ]                        
                                                                                
          ASSIGN &MESSAGE = "Invalid Cursor Position"                           
          GOTO STEP05                                                           
                                                                                
STEP06a:  ASSIGN &TAPE_CAT_ENTRY = "MG23001C        "  [ DEFAULT ]              
          ASSIGN &SYSTEM_MSG     = "Default Log    "                            
          ASSIGN &PRINT_FILE     = "MG23001P"                                   
          GOTO   STEP06z                                                        
STEP06b:  ASSIGN &TAPE_CAT_ENTRY = "CI77770C        "  [ CITS    ]              
          ASSIGN &SYSTEM_MSG     = "CITS           "                            
          ASSIGN &PRINT_FILE     = "MG23001P"                                   
          GOTO   STEP06z                                                        
STEP06c:  ASSIGN &TAPE_CAT_ENTRY = "MS00099C        "  [ SMS WIP ]              
          ASSIGN &SYSTEM_MSG     = "SMS WIP        "                            
          ASSIGN &PRINT_FILE     = "MG23001P"                                   
          GOTO   STEP06z                                                        
STEP06d:  ASSIGN &TAPE_CAT_ENTRY = "MG23002C        "  [ OPEN/ANM ]             
          ASSIGN &SYSTEM_MSG     = "OPEN/ANM       "                            
          ASSIGN &PRINT_FILE     = "MG23002P"                                   
          GOTO   STEP06z                                                        
STEP06e:  ASSIGN &TAPE_CAT_ENTRY = "PA09100C        "  [ MACS    ]              
          ASSIGN &SYSTEM_MSG     = "MACS           "                            
          ASSIGN &PRINT_FILE     = "PA09100C"                                   
          GOTO   STEP06z                                                        
                                                                                
STEP06z:  [ continue ]                                                          
                                                                                
***********************************************************************         
* STEP07 -- Create Report                                             *         
***********************************************************************         
STEP07:   IF &Pf = 1  GOTO STEP07e                                              
          IF &Pf = 3  GOTO STEP07f                                              
          IF &Pf = 5  GOTO STEP08                                               
                                                                                
STEP07e:  ASSIGN &REPORT_USE_FILE = (MG23001S.FILE)                             
          ASSIGN &REPORT_USE_LIB  = (MG23001S.LIBRARY)                          
          ASSIGN &REPORT_USE_VOL  = (MG23001S.VOLUME)                           
          GOTO STEP07z                                                          
STEP07f:  ASSIGN &REPORT_USE_FILE = (MG23001D.FILE)                             
          ASSIGN &REPORT_USE_LIB  = (MG23001D.LIBRARY)                          
          ASSIGN &REPORT_USE_VOL  = (MG23001D.VOLUME)                           
          GOTO STEP07z                                                          
                                                                                
STEP07z:  GOTO STEP70                                                           
                                                                                
***********************************************************************         
* STEP08 -- Run Detail Report                                         *         
***********************************************************************         
STEP08:   RUN MGRB2310 in (FPSUPROC.LIBRARY) on (FPSUPROC.VOLUME)               
              using &TAPE_CAT_ENTRY                                             
              CANCEL EXIT is STEP08x                                            
                                                                                
          IF STEP08 = 0 GOTO STEP08g                                            
                                                                                
          ASSIGN &R_C     = STEP08                                              
          IF     &R_C     = 1999 GOTO STEP08w                                   
          IF     &R_C     > 1999 GOTO STEP08y                                   
          IF     &R_C     < 1000 GOTO STEP08y                                   
          ASSIGN &MESSAGE = "History for " !!                                   
                            &SYSTEM_MSG(1,*)     !!                             
                            " NOT Cataloged"                                    
          GOTO STEP05                                                           
                                                                                
STEP08g:  ASSIGN &MESSAGE = "History Detail for " !!                            
                            &SYSTEM_MSG(1,*)     !!                             
                            " Complete"                                         
          GOTO STEP05                                                           
                                                                                
STEP08w:  ASSIGN &MESSAGE = "History File (Cat Entry: " !!                      
                            &TAPE_CAT_ENTRY(1,*)             !!                 
                            ") for "                         !!                 
                            &SYSTEM_MSG(1,*)                 !!                 
                            " Cannot be Located"                                
          GOTO STEP05                                                           
                                                                                
STEP08x:  ASSIGN &MESSAGE = "History Detail for " !!                            
                            &SYSTEM_MSG(1,*)     !!                             
                            " Cancelled by User"                                
          GOTO STEP05                                                           
                                                                                
STEP08y:  ASSIGN &MESSAGE = "History Detail for " !!                            
                            &SYSTEM_MSG(1,*)     !!                             
                            " Abended, R/C = "   !! &R_C                        
          GOTO STEP05                                                           
                                                                                
*#####################################################################*         
* CREATE REPORT AREA                                                  *         
*#####################################################################*         
***********************************************************************         
* STEP70 -- Get Location of MG23001C; Data, Control & Report Files    *         
***********************************************************************         
STEP70:  MESSAGE ERASE = NO ROW 23                                              
                 CENTER "Step 70, MU5350 in Progress"                           
                                                                                
STEP70a: RUN MU5350                                                             
             CANCEL EXIT is STEP70x                                             
             ERROR  EXIT is STEP70y                                             
               ENTER CATGET    CATNAME = &TAPE_CAT_ENTRY                        
     MG23001C: ENTER LOCATION                                                   
               ENTER CATGET                                                     
                                                                                
          IF STEP70a = 0 GOTO STEP70z                                           
          ASSIGN &MESSAGE = "History for " !!                                   
                            &SYSTEM_MSG(1,*)     !!                             
                            " NOT Cataloged"                                    
          GOTO STEP05                                                           
                                                                                
STEP70x: ASSIGN &MESSAGE = "MU5350 Cancelled"                                   
         GOTO STEP05                                                            
STEP70y: ASSIGN &MESSAGE = "MU5350 Error Exit Taken"                            
         GOTO STEP05                                                            
STEP70z:  [ continue ]                                                          
                                                                                
***********************************************************************         
* STEP71 --  verify File                                              *         
***********************************************************************         
STEP71:   IF EXISTS FILE (MG23001C) GOTO STEP71a                                
                                                                                
          ASSIGN &MESSAGE = "History for: " !!                                  
                            &SYSTEM_MSG(1,*)     !!                             
                            " cannot be located"                                
          GOTO STEP05                                                           
                                                                                
STEP71a:  EXTRACT &RECORDS = RECORDS used by (MG23001C)                         
                                                                                
          IF &RECORDS > 0 GOTO STEP71b                                          
          ASSIGN &MESSAGE = "History for: " !!                                  
                            &SYSTEM_MSG(1,*)     !!                             
                            " has zero records"                                 
          GOTO STEP05                                                           
                                                                                
STEP71b:  [ continue ]                                                          
                                                                                
***********************************************************************         
* STEP73 -- Will create the report                                    *         
***********************************************************************         
STEP73:  SCRATCH &PRINT_FILE in &SPOOL_LIB on &SPOOL_VOL                        
                                                                                
         MESSAGE ERASE = NO ROW 23                                              
                 CENTER "STEP73, REPORT in Progress"                            
                                                                                
STEP73a: RUN REPORT     [ To Print the Report ]                                 
             CANCEL EXIT is STEP73x                                             
             ERROR  EXIT is STEP73y                                             
               ENTER FUNCTION  04                                               
               ENTER RPTDEF    FILE     = &REPORT_USE_FILE,                     
                               LIBRARY  = &REPORT_USE_LIB,                      
                               VOLUME   = &REPORT_USE_VOL                       
               ENTER OPTIONS   ID       = &REPORT_USE_FILE,                     
                               FILES    = YES                                   
               ENTER INPUT1    FILE     = (MG23001C.FILE),                      
                               LIBRARY  = (MG23001C.LIBRARY),                   
                               VOLUME   = (MG23001C.VOLUME),                    
                               MODE     = INPUT                                 
               ENTER CONTROL   FILE     = (CTLFILE.FILE),                       
                               LIBRARY  = (CTLFILE.LIBRARY),                    
                               VOLUME   = (CTLFILE.VOLUME)                      
     MG23001P: ENTER PRINT     FILE     = &PRINT_FILE,                          
                               LIBRARY  = &SPOOL_LIB,                           
                               VOLUME   = &SPOOL_VOL,                           
                               FILECLAS = " ",                                  
                               RECORDS  = 20000                                 
               ENTER FUNCTION  16                                               
                                                                                
                                                                                
         GOTO STEP73z                                                           
                                                                                
STEP73x: ASSIGN &MESSAGE = "REPORT Cancelled"                                   
         GOTO STEP05                                                            
STEP73y: ASSIGN &MESSAGE = "REPORT Error Exit Taken"                            
         GOTO STEP05                                                            
                                                                                
STEP73z:  [ continue ]                                                          
                                                                                
***********************************************************************         
* STEP81 -- Prompt for Action                                         *         
***********************************************************************         
STEP81:   ASSIGN  &RPT_FILE = (MG23001P.FILE)                                   
          ASSIGN  &RPT_LIB  = (MG23001P.LIBRARY)                                
          ASSIGN  &RPT_VOL  = (MG23001P.VOLUME)                                 
                                                                                
          MESSAGE ERASE = YES ROW 1                                             
               LINE &TITLE_01                                                   
                                                                                
          MESSAGE ERASE = NO ROW 22                                             
               BRIGHT &MESSAGE;                                                 
               LINE   &SPACE_79;                                                
               DIM    "(ENTER) or (Pf-Key) Process; (16) Exit"                  
                                                                                
          PROMPT ERASE = NO,                                                    
                 CURROW = &CURSOR_ROW, CURCOL = &CURSOR_COL,                    
                 PFKEY = &Pf           ROW 6                                    
               DIM "       ",                                                   
                   "Please position cursor and press enter:";;                  
               DIM "                      ", "    " !!                          
                       &LOPROUL !! "Pf" !! &LOPROUL !!                          
                       "Action                  ";                              
               DIM "                      ", "  ",                              
                   TAB " 01 Display Report";;                                   
               DIM "                      ", "  ",                              
                   TAB " 03 Print Report  ";;                                   
               DIM "                      ", "  ",                              
                   TAB " 05 Create Another Report";;                            
               DIM "                      ", "  ",                              
                   TAB " 16 Return to Main Selection";;                         
               CENTER  "Report is"      !! &LOPRO  !!                           
                       "File"           !! &HIPRO  !!                           
                       &RPT_FILE(1,*)   !! &LOPRO  !!                           
                       "in Lib"         !! &HIPRO  !!                           
                       &RPT_LIB(1,*)    !! &LOPRO  !!                           
                       "on Vol"         !! &HIPRO  !!                           
                       &RPT_VOL(1,*)                                            
                                                                                
          IF &Pf = 00 GOTO STEP81e                                              
          GOTO STEP81f                                                          
                                                                                
STEP81e:  IF &CURSOR_ROW = 15 ASSIGN &Pf = 16                                   
          IF &CURSOR_ROW = 13 ASSIGN &Pf = 5                                    
          IF &CURSOR_ROW = 11 ASSIGN &Pf = 3                                    
          IF &CURSOR_ROW = 09 ASSIGN &Pf = 1                                    
          IF &Pf ne 00 GOTO STEP81f                                             
          ASSIGN &MESSAGE = "Invalid Cursor Position"                           
          GOTO STEP81                                                           
                                                                                
STEP81f:  IF &Pf = 16 GOTO EOJ                                                  
          IF &Pf = 05 GOTO STEP05                                               
          IF &Pf = 03 GOTO STEP82                                               
          IF &Pf = 01 GOTO STEP81i                                              
          ASSIGN &MESSAGE = "Invalid Pf-Key Selected"                           
          GOTO STEP81                                                           
                                                                                
STEP81i:  RUN DISPLAY                                                           
               ENTER INPUT      FILE     = (MG23001P.FILE),                     
                                LIBRARY  = (MG23001P.LIBRARY),                  
                                VOLUME   = (MG23001P.VOLUME),                   
                                ACCESS   = PRINT                                
          ASSIGN &MESSAGE = "Report Display Complete"                           
          GOTO STEP81                                                           
                                                                                
                                                                                
***********************************************************************         
* STEP82 -- Print Report                                              *         
***********************************************************************         
STEP82:   PRINT (MG23001P)                                                      
          ASSIGN &MESSAGE = "Report Queued for Printing"                        
          GOTO STEP81                                                           
                                                                                
***********************************************************************         
* EOJ -- End of Job                                                   *         
***********************************************************************         
EOJ:     CALL SETOLD                                                            
         RETURN                                                                 
                                                                                
*#####################################################################*         
*                                SUBROUTINES                          *         
*#####################################################################*         
***********************************************************************         
* SETOLD -- Will Set the Defaults back to what they were              *         
***********************************************************************         
SETOLD:                                                                         
                                                                                
         IF &IN_LIB_OLD     = "        " SET INLIB    = "        "              
         IF &IN_VOL_OLD     = "        " SET INVOL    = "      "                
         IF &OUT_LIB_OLD    = "        " SET OUTLIB   = "        "              
         IF &OUT_VOL_OLD    = "        " SET OUTVOL   = "      "                
         IF &SPOOL_VOL_OLD  = "        " SET SPOOLVOL = "      "                
         IF &FILE_CLASS_OLD = "        " SET FILECLAS = " "                     
                                                                                
         IF &IN_LIB_OLD     ne "        " SET INLIB    = &IN_LIB_OLD            
         IF &IN_VOL_OLD     ne "      "   SET INVOL    = &IN_VOL_OLD            
         IF &OUT_LIB_OLD    ne "        " SET OUTLIB   = &OUT_LIB_OLD           
         IF &OUT_VOL_OLD    ne "      "   SET OUTVOL   = &OUT_VOL_OLD           
         IF &SPOOL_VOL_OLD  ne "      "   SET SPOOLVOL = &SPOOL_VOL_OLD         
         IF &FILE_CLASS_OLD ne " "        SET FILECLAS =                        
                                              &FILE_CLASS_OLD                   
                                                                                
END   [ SETOLD ]                                                                
                                                                                
***********************************************************************         
* SETDEF -- Will Set the Defaults, saving old defaults.               *         
*           Will get the correct Spool Volume                         *         
***********************************************************************         
SETDEF:                                                                         
          EXTRACT &RUN_LIB        =  PROGLIB,                                   
                  &USER_ID        =  USERID,                                    
                  &SPOOL_LIB      =  SPOOLIB,                                   
                  &RUN_VOL        =  PROGVOL,                                   
                  &IN_LIB_OLD     =  INLIB,                                     
                  &IN_VOL_OLD     =  INVOL,                                     
                  &OUT_LIB_OLD    =  OUTLIB,                                    
                  &OUT_VOL_OLD    =  OUTVOL,                                    
                  &SPOOL_VOL_OLD  =  SPOOLVOL,                                  
                  &FILE_CLASS_OLD =  FILECLAS                                   
                                                                                
          IF &SPOOL_LIB = "        " ASSIGN &SPOOL_LIB = "#" !!                 
                                            &USER_ID(1,*) !! "PRT"              
                                                                                
          ASSIGN  &SPOOL_VOL      =  &SPOOL_VOL_OLD                             
                                                                                
          CALL GET                                                              
          CALL CKSPOOL                                                          
                                                                                
          SET     INLIB           = TEMPDATA                                    
          SET     OUTLIB          = TEMPDATA                                    
          SET     INVOL           = &SPOOL_VOL                                  
          SET     OUTVOL          = &SPOOL_VOL                                  
          SET     SPOOLVOL        = &SPOOL_VOL                                  
          SET     FILECLAS        = "M"                                         
                                                                                
END   [ SETDEF ]                                                                
                                                                                
***********************************************************************         
* CKSPOOL -- Will Make sure the Spool Volume is set                   *         
***********************************************************************         
CKSPOOL:                                                                        
         IF &SPOOL_VOL = "      " GOTO CKSPOOL1                                 
                                                                                
         ASSIGN &VOLUME_NAME = &SPOOL_VOL                                       
         CALL   VOLEDIT                                                         
         IF     &VOLUME_NAME = "      " GOTO CKSPOOL1                           
                                                                                
         IF EXISTS VOLUME &SPOOL_VOL GOTO CKSPOOL9                              
                                                                                
CKSPOOL1: PROMPT PFKEY = &PF ROW 1                                              
            LINE &TITLE_01;;;;;                                                 
            CENTER "The Spool Volume is either invalid or it ";                 
            CENTER "is not mounted, please assign the current";                 
            CENTER "Spool Volume below.                      ";;                
            CENTER "What is the Current Spool Volume ?",                        
                   BRIGHT UPPER &SPOOL_VOL;;                                    
            CENTER "Note: The Spool Volume is used to hold   ";                 
            CENTER "      the reports created & any temporary";                 
            CENTER "      files created.                     ";;                
            CENTER "Select ENTER to Continue"                                   
                                                                                
         GOTO CKSPOOL                                                           
                                                                                
CKSPOOL9: END                                                                   
                                                                                
***********************************************************************         
* GET:  Will get the work volume if the spool vol = spaces            *         
***********************************************************************         
GET:     IF &SPOOL_VOL = "      "    GOTO GET01                                 
         IF EXISTS VOLUME &SPOOL_VOL GOTO GET99                                 
                                                                                
GET01:   RUN CREATE                                                             
            X: ENTER OUTPUT  FILE     = ##000001,                               
                             TYPE     = C,                                      
                             RECSIZE  = 1,                                      
                             RECORDS  = 1                                       
               ENTER INPUT   16                                                 
               ENTER EOJ     16                                                 
                                                                                
         IF GET01 ne 0 GOTO GET99                                               
                                                                                
         ASSIGN &SPOOL_VOL = (X.VOLUME)                                         
                                                                                
GET99:   END                                                                    
                                                                                
                                                                                
***********************************************************************         
* VOLEDIT -- This subroutine will validate a volume name to make sure *         
*            there are no invalid characters in the name.             *         
*            If the volume name is invalid it will be set = spaces.   *         
***********************************************************************         
VOLEDIT: ASSIGN &CURLENGTH = &LENGTH(&VOLUME_NAME(1,*))                         
                                                                                
***** VOLUME NAME MUST NOT CONTAIN SPECIAL CHARACTERS                           
                                                                                
         IF &VERIFY(&VOLUME_NAME,&CHARS) NE 0                                   
           THEN ASSIGN &VOLUME_NAME = "      "                                  
                                                                                
***** VOLUME NAME MUST NOT CONTAIN EMBEDDED BLANKS                              
                                                                                
        IF &INDEX(&VOLUME_NAME," ") NE 0                                        
        IF &INDEX(&VOLUME_NAME," ") NE &CURLENGTH+1                             
           THEN ASSIGN &VOLUME_NAME = "      "                                  
                                                                                
END [  VOLEDIT   ]                                                              
                                                                                
