Home > AS/400 News > Code to verifying backups
AS/400 News:
EMAIL THIS

Code to verifying backups

By Carolyn Yates
15 May 2002 | Search400

Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   

 This is an example of the save command. 
Note the outfile, outmbr, and inftype parameters.SAVLIB     LIB(&SLIB) DEV(&DEV) LABEL(&LABEL) +           
             ENDOPT(*LEAVE) TGTRLS(*PRV) ACCPTH(*YES) +   
             OUTPUT(*OUTFILE) OUTFILE(QTEMP/SAVEOUTF) +   
             OUTMBR(*FIRST *ADD) INFTYPE(*ERR)            

When the backup finishes I run the following CL and RPG programs. I use the same programs for all my backups so I have a parameter to tell the user what backup the report is for.
              PGM        PARM(&PGM)                                                 
              DCL        VAR(&PGM) TYPE(*CHAR) LEN(10)                              
              DCL        VAR(&BKUPNM) TYPE(*CHAR) LEN(30)                           
                                                                                    
              IF         COND(&PGM *EQ 'BKUP30BJ  ') THEN(CHGVAR +                  
                           VAR(&BKUPNM) VALUE('       +                             
                           COMMLIB/INTERNET'))                                      
                                                                                    
              IF         COND(&PGM *EQ 'BKUP38BJ  ') THEN(CHGVAR +                  
                           VAR(&BKUPNM) VALUE('           ALL USER'))               
                                                                                    
              IF         COND(&PGM *EQ 'BKUP39BJ  ') THEN(CHGVAR +                  
                           VAR(&BKUPNM) VALUE('   BILLING CYCLE +                   
                           BACKUP'))                                                
                                                                                    
              IF         COND(&PGM *EQ 'BKUP40BJ  ') THEN(CHGVAR +                  
                           VAR(&BKUPNM) VALUE('          E911 BACKUP'))             
                                                                                    
              IF         COND(&PGM *EQ 'BKUP41BJ  ') THEN(CHGVAR +                  

                                                                              
             CHKOBJ     OBJ(QTEMP/SAVEOUTF) OBJTYPE(*FILE)                    
             MONMSG     MSGID(CPF9801) EXEC(CRTDUPOBJ OBJ(SAVEOUTF) +         
                          FROMLIB(Y2KNEWLIB) OBJTYPE(*FILE) +                 
                          TOLIB(QTEMP))                                       
                                                                              
             OVRPRTF    FILE(QSYSPRT) OUTQ(PRT14) HOLD(*YES)                  
             OVRDBF     FILE(SAVEOUTF) TOFILE(QTEMP/SAVEOUTF)                 
             CALL       PGM(CT0030) PARM(&BKUPNM)                             
                                                                              
             ENDPGM                                                           

The RPG program reads the file and prints a report like the following. If any files are not backed up they are listed individually.

 COMPANY NAME    CHESTER TELEPHONE COMPANY                BACKUP ERROR REPORT FOR            DATE  5/10/2002  TIME  8.40.24 PAGE  
  PROGRAM ID-CT0030                                    System Journal Receivers BKUP                                              
                               LIBRARY             OBJECT                TYPE                                                     
                                            ALL OBJECTS SAVED FOR LIBRARY  QSYS                                                   
                                            ALL OBJECTS SAVED FOR LIBRARY  QSYS                                                   
                                            ALL OBJECTS SAVED FOR LIBRARY  QSYS                                                   
                                            ALL OBJECTS SAVED FOR LIBRARY  QSYS                                                   
                                            ALL OBJECTS SAVED FOR LIBRARY  QSYS                                                   
                                            ALL OBJECTS SAVED FOR LIBRARY  QSYS                                                   
                                            ALL OBJECTS SAVED FOR LIBRARY  QSYS                                                   
                                            ALL OBJECTS SAVED FOR LIBRARY  QSYS                                                   
                                            ALL OBJECTS SAVED FOR LIBRARY  QSYS                                                   
                                            ALL OBJECTS SAVED FOR LIBRARY  QSYS                                                   
                                            ALL OBJECTS SAVED FOR LIBRARY  QSYS                                                   
                                                          * * *END OF REPORT* * *                                                 
                                        Here is the RPG code.
 **************************************************************************  
 * CYATES (CTC) 7/12/2001 CREATE REPORT LISTING OBJECTS NOT SAVED IN BACKUP  
 **************************************************************************  
FSAVEOUTFIF  E                    DISK                                       
FQSYSPRT O   F     132     OF     PRINTER                                    
C           *INLR     DOWEQ*OFF                                              
C           RDNXT     TAG                                                    
C                     READ SAVEOUTF                 LR                       
C           *INLR     IFEQ *OFF                                              
C           SROLIB    IFNE SAVLIB                                            
C           SAVLIB    ANDNE*ALL' '                                           
C           *INOF     IFEQ *ON                                               
C                     EXCPTHDG                                               
C                     MOVE '0'       *INOF                                   
C                     ENDIF                                                  
C           FLAG      IFEQ 'X'                                               
C                     EXCPTTOTERR                                            
C                     ENDIF                                                  
C                     MOVE ' '       FLAG                                    
                                                                                          C                     ENDIF                                       
C                     MOVE SROLIB    SAVLIB                       
 * IF ERROR FIELD IS 0 ALL OBJECTS WERE SAVED                     
C           SROERR    IFEQ 0                                      
C           *INOF     IFEQ *ON                                    
C                     EXCPTHDG                                    
C                     MOVE '0'       *INOF                        
C                     ENDIF                                       
C                     EXCPTNDS                                    
 *                    MOVE '1'       *INLR                        
C                     ELSE                                        
 * ELSE, LIST OBJECTS NOT SAVED                                   
C           SROSTA    CABNE'0'       RDNXT                        
C           *INOF     IFEQ *ON                                    
C                     EXCPTHDG                                    
C                     MOVE '0'       *INOF                        
C                     ENDIF                                       
C                     EXCPTDET                                    
C                     MOVE 'X'       FLAG    1                    
C                     ENDIF                                       C                     ELSE                                                  
C           SAVLIB    IFEQ *ALL' '                                          
C           *INOF     IFEQ *ON                                              
C                     EXCPTHDG                                              
C                     MOVE '0'       *INOF                                  
C                     ENDIF                                                 
C                     EXCPTNORCDS                                           
C                     ENDIF                                                 
C                     ENDIF                                                 
C                     END                                                   
C           *INOF     IFEQ *ON                                              
C                     EXCPTHDG                                              
C                     MOVE '0'       *INOF                                  
C                     ENDIF                                                 
C           FLAG      IFEQ 'X'                                              
C                     EXCPTTOTERR                                           
C                     ENDIF                                                 
C                     EXCPTEOR                                              
 ************************************************************************** 
C           *INZSR    BEGSR                                             *                                                                         
C           *ENTRY    PLIST                                                
C                     PARM           BKUPNM 30                             
 *                                                                         
C                     CALL 'XX0100'                                        
C                     PARM           SCRCNM 30                             
C                     TIME           HHMMSS  60                            
C                     MOVE '1'       *INOF                                 
 *                                                                         
C           *LIKE     DEFN SROLIB    SAVLIB                                
C                     ENDSR                                                
 **************************************************************************
OQSYSPRT E  105           HDG                                              
O                                   12 'COMPANY NAME'                      
O                         SCRCNM    44                                     
O                                   80 'BACKUP ERROR REPORT FOR'           
O                                   96 'DATE'                              
O                         *DATE Y  107                                     
O                                  113 'TIME'                              
O                         HHMMSS   122 '  .  .  '                               


O                                  127 'PAGE'                             
O                         PAGE  Z  132                                    
O        E  2             HDG                                             
O                                   18 'PROGRAM ID-CT0030'                
O                         BKUPNM    84                                    
O        E 23             HDG                                             
O                                   37 'LIBRARY'                          
O                                   56 'OBJECT'                           
O                                   76 'TYPE'                             
O        E  1             DET                                             
O                         SROLIB    40                                    
O                         SRONAM    60                                    
O                         SROTYP    80                                    
O                                 +  3 'NOT SAVED'                        
O        E 33             EOR                                             
O                                   80 '* * *END OF REPORT* * *'          
O        E  2             NDS                                             
O                                   60 'ALL OBJECTS SAVED'                
O                                      ' FOR LIBRARY  '                   
O                         SROLIB                                          
                 O        E  2             TOTERR                                           
O                                   60 'NOT ALL OBJECTS SAVE'              
O                                      'D FOR LIBRARY  '                   
O                         SAVLIB                                           
O        E  2             NORCDS                                           
O                                   60 'NO OBJECTS SAVED'        


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


iSeries Application Development: CL, COBOL, RPG, VB, ILE, Java
HomeNewsTopicsITKnowledge ExchangeTipsBlogsAsk the ExpertsMultimediaWhite PapersProducts
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 1999 - 2010, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts