          PROCEDURE MGRB2310                                                    
                    USING &TAPE_FILE as String (16)                             
          OPTIONS PROCMSG = NO                                                  
***********************************************************************         
* Procedure:  MGRB2310                                                *         
* Title:      Tape Archive Report                                     *         
* Author:     JMC                                                     *         
* Date:       Oct 21, 1992                                            *         
*                                                                     *         
*---------------------------------------------------------------------*         
*                             MODIFICATIONS                           *         
*                            ===============                          *         
*                                                                     *         
* Version  Who   Date   Why                                           *         
* -------- --- -------- --------------------------------------------- *         
* 00.01.00 JMC 05/04/94 Changed prompts to allow OPEN/ANM Logging     *         
* 00.00.00 JMC 10/21/92 Original Version                              *         
*                                                                     *         
***********************************************************************         
                                                                                
          DECLARE &RPT_FILE     as String (08) Initial " "                      
          DECLARE &LOCAL_WSN    as String (08) Initial " "                      
          DECLARE &REPORT_TYPE  as String (02) Initial "  "                     
          DECLARE &XLABEL       as String (08) Initial "  "                     
          DECLARE &REPORT_PAGES as Integer     Initial 0                        
          DECLARE &MAX_PAGES    as Integer     Initial 500                      
                                                                                
***** EXTRACT area                                                              
          DECLARE &EXTRACT_KEYWORD   as String (02) Initial "SS"                
          DECLARE &EXTRACT_MEMORY    as Integer     Initial 0                   
                                                                                
**** 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)               
                                                                                
****** SCREEN AREA                                                              
          DECLARE &RPT_FILE            as String(08) Initial " "                
          DECLARE &RPT_LIB             as String(08) Initial " "                
          DECLARE &RPT_VOL             as String(06) Initial " "                
          DECLARE &Pf,                                                          
                  &TIME_N,                                                      
                  &PACE_Pf,                                                     
                  &CURSOR_COL,                                                  
                  &CURSOR_ROW           as Integer     Initial 0                
          DECLARE &MESSAGE,                                                     
                  &SPACE_79             as String (79) Initial " "              
          DECLARE &FORM                 as String (06) Initial " "              
          DECLARE &AM_PM,                                                       
                  &PF_LITERAL           as String (02) Initial " "              
          DECLARE &SCREEN_TIME          as String (05) Initial " "              
          DECLARE &TITLE_01         as String (79) Initial                      
                  "MGRB2310         " !!                                        
                  "W A N G    L A B O R A T O R I E S,    I N C." !!            
                  "       00.01.00  "                                           
          DECLARE &TITLE_02         as String (79) Initial                      
                  "                    " !!                                     
                  "Divisional Finance Information Systems " !!                  
                  "                    "                                        
          DECLARE &TITLE_03         as String (79) Initial                      
                  "                         " !!                                
                  "File Disposition Log Listing" !!                             
                  "                         "                                   
                                                                                
                                                                                
***********************************************************************         
* STEP00 -- Initialize/Extract area                                   *         
***********************************************************************         
STEP00:   ASSIGN  &FORM          = &DATE                                        
          ASSIGN  &TITLE_03(1,8) = &FORM(1,2)!!"/"!!&FORM(3,2)!!"/"!!           
                                   &FORM(5,2)                                   
                                                                                
***********************************************************************         
* STEP01 -- Get disk volume location                                  *         
***********************************************************************         
STEP01:   RUN MU5350                                                            
               ENTER CATGET     CATNAME  = &TAPE_FILE                           
     MG23001C: ENTER LOCATION                                                   
               ENTER CATGET     CATNAME  = FPSULOAD                             
     FPSULOAD: ENTER LOCATION                                                   
               ENTER CATGET     CATNAME  = VSSUBS                               
       VSSUBS: ENTER LOCATION                                                   
               ENTER CATGET                                                     
                                                                                
          IF STEP01 ne 0 RETURN CODE = 1000 + STEP01                            
                                                                                
          IF NOT EXISTS FILE (MG23001C) RETURN CODE = 1999                      
                                                                                
***********************************************************************         
* STEP02 -- Prompt for Action                                         *         
***********************************************************************         
STEP02:   ASSIGN  &FORM    = &TIME                                              
          ASSIGN  &TIME_N  = &FORM(1,2)                                         
          IF      &TIME_N  > 12 GOTO STEP02a                                    
          IF      &TIME_N  > 12 GOTO STEP02a                                    
          ASSIGN  &AM_PM   = "am"                                               
          IF      &TIME_N  = 12 ASSIGN &AM_PM = "pm"                            
          GOTO    STEP02b                                                       
                                                                                
STEP02a:  ASSIGN &TIME_N     = &TIME_N - 12                                     
          ASSIGN &FORM(1,2)  = &TIME_N                                          
          ASSIGN &AM_PM      = "pm"                                             
                                                                                
STEP02b:  IF    &TIME_N      < 10 ASSIGN &FORM(1,2) = " " !! &TIME_N            
          ASSIGN  &TITLE_02(1,6)  = "STEP02"                                    
          ASSIGN  &TITLE_03(70,7) = &FORM(1,2) !! ":" !! &FORM(3,2) !!          
                                    &AM_PM                                      
                                                                                
          MESSAGE ERASE = YES ROW 1                                             
               DIM &TITLE_01;                                                   
               DIM &TITLE_02;                                                   
               DIM &TITLE_03                                                    
                                                                                
          MESSAGE ERASE = NO ROW 22                                             
               BRIGHT &MESSAGE;                                                 
               LINE   &SPACE_79;                                                
               DIM    "(ENTER) Continue;  (16) Exit"                            
                                                                                
          PROMPT ERASE = NO,                                                    
                 CURROW = &CURSOR_ROW, CURCOL = &CURSOR_COL,                    
                 PFKEY = &Pf           ROW 6                                    
               DIM "   ", "    " !!                                             
                       &LOPROUL !! "Pf" !! &LOPROUL !!                          
                       "Report Sort                          " !!               
                       "                         ";                             
               DIM "   ", "  ",                                                 
                   TAB " 01 By Occurrence Date";                                
               DIM "   ", "  ",                                                 
                   TAB " 02 By File Name";                                      
                                                                                
          IF &Pf = 00 GOTO STEP02e                                              
          GOTO STEP02f                                                          
                                                                                
STEP02e:                                                                        
          IF &CURSOR_ROW = 08 ASSIGN &Pf = 2                                    
          IF &CURSOR_ROW = 07 ASSIGN &Pf = 1                                    
          IF &Pf ne 00 GOTO STEP02f                                             
          ASSIGN &MESSAGE = "Invalid Cursor Position"                           
          GOTO STEP02                                                           
                                                                                
STEP02f:  ASSIGN &RPT_FILE = "        "                                         
          ASSIGN &XLABEL   = "        "                                         
          ASSIGN &XLABEL   = "STEP03" !! &Pf                                    
          IF     &Pf < 10 ASSIGN &XLABEL(8,1) = "X"                             
          IF     &LABEL(&XLABEL) GOTO STEP03                                    
          ASSIGN &MESSAGE = "Invalid Pf-Key Selected"                           
          GOTO STEP02                                                           
                                                                                
***********************************************************************         
* STEP03 -- Determine Remaining memory                                *         
***********************************************************************         
STEP03:   RUN EXTRACT in (VSSUBS.LIBRARY) on (VSSUBS.VOLUME)                    
              using &EXTRACT_KEYWORD, &EXTRACT_MEMORY                           
              CANCEL EXIT is STEP03z                                            
                                                                                
          ASSIGN &EXTRACT_MEMORY = &EXTRACT_MEMORY / 1024 - 64                  
          IF     &EXTRACT_MEMORY > 0 GOTO STEP03z                               
                                                                                
STEP03x:  ASSIGN &EXTRACT_MEMORY = 512                                          
                                                                                
STEP03z:  GOTO &XLABEL                                                          
                                                                                
STEP031X: ASSIGN &REPORT_TYPE = "01"  [ Pf-key 1 selected ]                     
          GOTO   STEP04                                                         
STEP032X: ASSIGN &REPORT_TYPE = "02"  [ Pf-key 2 selected ]                     
          GOTO   STEP05                                                         
STEP0316: GOTO EOJ                    [ Pf-key 16 selected ]                    
                                                                                
***********************************************************************         
* STEP04 -- Sort PDDSCHED by: 1. Create Date (Decending)              *         
*                             2. Create Time (Decending)              *         
*                             3. File Name                            *         
***********************************************************************         
STEP04:                                                                         
                                                                                
STEP04b:  RUN SORT                                                              
              CANCEL EXIT is STEP04x                                            
               ENTER OPTIONS    FUNCTION = SORT,                                
                                MEMORY   = &EXTRACT_MEMORY,                     
                                ADDROUT  = NO,                                  
                                KEYOUT   = NO,                                  
                                STABLE   = NO,                                  
                                REFORMAT = NO,                                  
                                ALTSEQ   = NONE                                 
               ENTER INPUT      FILE     = (MG23001C.FILE),                     
                                LIBRARY  = (MG23001C.LIBRARY),                  
                                VOLUME   = (MG23001C.VOLUME)                    
               ENTER LOCK       LOCK     = NO                                   
               ENTER KEYS       KEYS = 3,                                       
                     POST1 = 2,   LENGTH1 = 6,  TYPE1 = C, ORDER1 = D,          
                     POST2 = 8,   LENGTH2 = 8,  TYPE2 = C, ORDER2 = D,          
                     POST3 = 42,  LENGTH3 = 8,  TYPE3 = C, ORDER3 = A           
    MG23001S:  ENTER OUTPUT     FILE     = ##PDDS                               
                                                                                
          IF     STEP04b = 0 GOTO STEP50                                        
                                                                                
          ASSIGN &Pf = STEP04b                                                  
          ASSIGN &MESSAGE = "SORT Error, Return Code = " !! &Pf                 
          IF &Pf = 4 ASSIGN &MESSAGE = "No Records to SORT"                     
          GOTO STEP02                                                           
                                                                                
STEP04x:  ASSIGN &MESSAGE = "SORT Cancelled"                                    
          GOTO STEP02                                                           
                                                                                
***********************************************************************         
* STEP05 -- Sort PDDSCHED by: 1. File,                                *         
*                             2. Library                              *         
*                             3. Volume                               *         
*                             4. Create Date (Decending)              *         
*                             5. Create Time (Decending)              *         
***********************************************************************         
STEP05:                                                                         
                                                                                
STEP05b:  RUN SORT                                                              
              CANCEL EXIT is STEP05x                                            
               ENTER OPTIONS    FUNCTION = SORT,                                
                                MEMORY   = &EXTRACT_MEMORY,                     
                                ADDROUT  = NO,                                  
                                KEYOUT   = NO,                                  
                                STABLE   = NO,                                  
                                REFORMAT = NO,                                  
                                ALTSEQ   = NONE                                 
               ENTER INPUT      FILE     = (MG23001C.FILE),                     
                                LIBRARY  = (MG23001C.LIBRARY),                  
                                VOLUME   = (MG23001C.VOLUME)                    
               ENTER LOCK       LOCK     = NO                                   
               ENTER KEYS       KEYS = 4,                                       
                     POST1 = 42,  LENGTH1 = 8,  TYPE1 = C, ORDER1 = A,          
                     POST2 = 34,  LENGTH2 = 8,  TYPE2 = C, ORDER2 = A,          
                     POST3 = 28,  LENGTH3 = 7,  TYPE3 = C, ORDER3 = A,          
                     POST4 = 2,   LENGTH4 = 6,  TYPE4 = C, ORDER4 = D,          
                     POST5 = 8,   LENGTH5 = 8,  TYPE5 = C, ORDER5 = D           
    MG23001S:  ENTER OUTPUT     FILE     = ##PDDS                               
                                                                                
          IF STEP05b = 0 GOTO STEP50                                            
                                                                                
          ASSIGN &Pf = STEP05b                                                  
          ASSIGN &MESSAGE = "SORT Error, Return Code = " !! &Pf                 
          IF &Pf = 4 ASSIGN &MESSAGE = "No Records to SORT"                     
          GOTO STEP02                                                           
                                                                                
STEP05x:  ASSIGN &MESSAGE = "SORT Cancelled"                                    
          GOTO STEP02                                                           
                                                                                
***********************************************************************         
* STEP50 --- Execute Report                                           *         
***********************************************************************         
STEP50:   RUN MG2310 in (FPSULOAD.LIBRARY) on (FPSULOAD.VOLUME)                 
              using &REPORT_TYPE,                                               
                    &REPORT_PAGES                                               
               ENTER MG23001C   (MG23001S)                                      
     MG2310A:  ENTER MG2310A    FILE     = &RPT_FILE,                           
                                FILECLAS = " ",                                 
                                RELEASE  = YES                                  
                                                                                
          ASSIGN &RPT_FILE = (MG2310A.FILE)                                     
          ASSIGN &RPT_LIB  = (MG2310A.LIBRARY)                                  
          ASSIGN &RPT_VOL  = (MG2310A.VOLUME)                                   
                                                                                
***********************************************************************         
* STEP51 -- Prompt for Action                                         *         
***********************************************************************         
STEP51:   ASSIGN  &FORM    = &TIME                                              
          ASSIGN  &TIME_N  = &FORM(1,2)                                         
          IF      &TIME_N  > 12 GOTO STEP51a                                    
          IF      &TIME_N  > 12 GOTO STEP51a                                    
          ASSIGN  &AM_PM   = "am"                                               
          IF      &TIME_N  = 12 ASSIGN &AM_PM = "pm"                            
          GOTO    STEP51b                                                       
                                                                                
STEP51a:  ASSIGN &TIME_N     = &TIME_N - 12                                     
          ASSIGN &FORM(1,2)  = &TIME_N                                          
          ASSIGN &AM_PM      = "pm"                                             
                                                                                
STEP51b:  IF    &TIME_N      < 10 ASSIGN &FORM(1,2) = " " !! &TIME_N            
          ASSIGN  &TITLE_02(1,6)  = "STEP51"                                    
          ASSIGN  &TITLE_03(70,7) = &FORM(1,2) !! ":" !! &FORM(3,2) !!          
                                    &AM_PM                                      
                                                                                
          MESSAGE ERASE = YES ROW 1                                             
               DIM &TITLE_01;                                                   
               DIM &TITLE_02;                                                   
               DIM &TITLE_03                                                    
                                                                                
          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,*)    !! &LOPRO  !!                           
                       "-- # Pages: "   !!                                      
                       &REPORT_PAGES                                            
                                                                                
          IF &Pf = 00 GOTO STEP51e                                              
          GOTO STEP51f                                                          
                                                                                
STEP51e:  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 STEP51f                                             
          ASSIGN &MESSAGE = "Invalid Cursor Position"                           
          GOTO STEP51                                                           
                                                                                
STEP51f:  IF &Pf = 16 GOTO EOJ                                                  
          IF &Pf = 05 GOTO STEP02                                               
          IF &Pf = 03 GOTO STEP52                                               
          IF &Pf = 01 GOTO STEP51i                                              
          ASSIGN &MESSAGE = "Invalid Pf-Key Selected"                           
          GOTO STEP51                                                           
                                                                                
STEP51i:  RUN DISPLAY                                                           
               ENTER INPUT      FILE     = (MG2310A.FILE),                      
                                LIBRARY  = (MG2310A.LIBRARY),                   
                                VOLUME   = (MG2310A.VOLUME),                    
                                ACCESS   = PRINT                                
          ASSIGN &MESSAGE = "Report Display Complete"                           
          GOTO STEP51                                                           
                                                                                
                                                                                
***********************************************************************         
* STEP52 -- Print Report                                              *         
***********************************************************************         
STEP52:   IF &REPORT_PAGES > &MAX_PAGES GOTO STEP55                             
                                                                                
STEP52p:  PRINT (MG2310A)                                                       
          ASSIGN &MESSAGE = "Report Queued for Printing"                        
          GOTO STEP51                                                           
                                                                                
***********************************************************************         
* STEP55 -- Verify Prompt before printing                             *         
***********************************************************************         
STEP55:   ASSIGN &MESSAGE  = " "                                                
STEP55a:  ASSIGN  &FORM    = &TIME                                              
          ASSIGN  &TIME_N  = &FORM(1,2)                                         
          IF      &TIME_N  > 12 GOTO STEP55b                                    
          IF      &TIME_N  > 12 GOTO STEP55b                                    
          ASSIGN  &AM_PM   = "am"                                               
          IF      &TIME_N  = 12 ASSIGN &AM_PM = "pm"                            
          GOTO    STEP55c                                                       
                                                                                
STEP55b:  ASSIGN &TIME_N     = &TIME_N - 12                                     
          ASSIGN &FORM(1,2)  = &TIME_N                                          
          ASSIGN &AM_PM      = "pm"                                             
                                                                                
STEP55c:  IF    &TIME_N      < 10 ASSIGN &FORM(1,2) = " " !! &TIME_N            
          ASSIGN  &TITLE_02(1,6)  = "STEP55"                                    
          ASSIGN  &TITLE_03(70,7) = &FORM(1,2) !! ":" !! &FORM(3,2) !!          
                                    &AM_PM                                      
                                                                                
          MESSAGE ERASE = YES ROW 1                                             
               DIM &TITLE_01;                                                   
               DIM &TITLE_02;                                                   
               DIM &TITLE_03                                                    
                                                                                
          MESSAGE ERASE = NO ROW 22                                             
               BRIGHT &MESSAGE;                                                 
               LINE   &SPACE_79;                                                
               DIM    "(1) Print;  (16) Bypass Print         "                  
                                                                                
          PROMPT ERASE = NO,                                                    
                 CURROW = &CURSOR_ROW, CURCOL = &CURSOR_COL,                    
                 PFKEY = &Pf           ROW 8                                    
               BRIGHT BLINK "WARNING",                                          
                      DIM  "This Report contains", &REPORT_PAGES,               
                           " Pages.";;                                          
                BRIGHT "Are you sure you want to Print it ?";                   
               DIM "     " !!                                                   
                      "Pf-1 to Print, Pf-16 to Bypass Print";;                  
               DIM "You may call PC at x73248 and ask for this " !!             
                   "Report to be Printed in the LDC.";                          
               DIM "When you call ask them to print Report " !!                 
                   &RPT_FILE(1,*) !! " in " !! &RPT_LIB(1,*) !!                 
                   " on " !! &RPT_VOL(1,*)                                      
                                                                                
                                                                                
          IF &Pf = 01 GOTO STEP52p   [ Print Report ]                           
          IF &Pf = 16 GOTO STEP55d                                              
          ASSIGN &MESSAGE = "Please press Pf-1 to print OR " !!                 
                            "Pf-16 to BYPASS print"                             
          GOTO STEP55a                                                          
STEP55d:  ASSIGN &MESSAGE = "Print of Report BYPASSED"                          
          GOTO STEP51                                                           
                                                                                
                                                                                
***********************************************************************         
* EOJ -- End of Job                                                   *         
***********************************************************************         
EOJ:      RETURN                                                                
                                                                                
************########## End of Procedure PDC11202 ##########************         
