Code to verifying backups

Article

Code to verifying backups

Carolyn Yates
 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

    Requires Free Membership to View

    Register today to access targeted resources from our editorial writers and independent industry experts including news, tips, and advice to help you do your job more efficiently and effectively. Stay informed on the hottest topics and biggest challenges faced by IT professionals working with iSeries products and services.

    By submitting your registration information to Search400.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of Search400.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

'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'