TechTalk: Quick Fix for CHKOBJDMG

CL
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

After our disk crashed and we had to restore all our software from backups, I decided to use the user tools that were shipped with V2R1 of OS/400 to check our system for damaged objects. To my dismay, I had 24 pages of damaged objects listed (the program took about 8 hours to run). After many hours of working on getting a clean report and getting IBM Level 2 help, I discovered the answer was simple. The user tool CHKOBJDMG uses the command SAVOBJ to save the library objects to a save file. An object that has type *DOC, *FLR, *PRDLOD or *PRDDFN will not work with the command SAVOBJ because it will say it's an invalid type.

I easily changed the program TAALIBFC in source member QUSRTOOL/QATTCL to use the command SAVLIB when the object type is one of the above types, instead of SAVOBJ. Also, I added the system libraries QDOC, QRECOVERY, QRPLOBJ, QSPL, QSRV and QTEMP to the libraries that it can't check (it already skips QSYS). Now I have a clean report. 1 shows TAALIBFC with my additions highlighted.

I easily changed the program TAALIBFC in source member QUSRTOOL/QATTCL to use the command SAVLIB when the object type is one of the above types, instead of SAVOBJ. Also, I added the system libraries QDOC, QRECOVERY, QRPLOBJ, QSPL, QSRV and QTEMP to the libraries that it can't check (it already skips QSYS). Now I have a clean report. Figure 1 shows TAALIBFC with my additions highlighted.

Editor's Note: We like to test what we publish, but this contribution presented a problem. Our system has no damaged objects, and we don't know of a way to damage an object intentionally. Therefore we trust the author's word that the technique presented here works.


TechTalk: Quick Fix for CHKOBJDMG

Figure 1 Fragment of program TAALIBFC

 Figure 1: Fragment of Program TAALIBFC LOOP: RCVF MONMSG MSGID(CPF0864) EXEC(GOTO EOF) /* CAN'T CHECK SYSTEM LIBRARIES QDOC, QRECOVERY, + QRPLOBJ, QSPL, QSRV AND QTEMP */ IF COND(&ODLBNM *EQ 'QDOC' *OR + &ODLBNM *EQ 'QRECOVERY' *OR + &ODLBNM *EQ 'QRPLOBJ' *OR + &ODLBNM *EQ 'QSPL' *OR + &ODLBNM *EQ 'QSRV' *OR + &ODLBNM *EQ 'QSYS' *OR + &ODLBNM *EQ 'QTEMP') THEN(GOTO LOOP) /* Check Phy file for bypass condition */ IF COND(&ODOBAT *EQ 'PF') GOTO PFCHECK IF COND(&ODOBAT *EQ 'PF38') GOTO PFCHECK GOTO COUNT PFCHECK: IF (&CHKPF *EQ '*NO') GOTO LOOP COUNT: CHGVAR &OBJCNT (&OBJCNT + 1) /* Check for detected damage */ IF (&ODOBDM *EQ '1') DO /* Detected damage */ CHGVAR &ERRCNT (&ERRCNT + 1) CHGVAR &MSG 'Object is marked as damaged' GOTO PRINT ENDDO /* Detected damage */ SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) TOPGMQ(*EXT) + MSGDTA('Saving ' *CAT &ODOBNM *TCAT + ' of type ' *CAT &ODOBTP *TCAT + ' in library ' *CAT &ODLBNM) + MSGTYPE(*STATUS) /* Status message */ /* Save to save file */ /* CAN'T CHECK SYSTEM LIBRARIES QDOC, QRECOVERY, + QRPLOBJ, QSPL, QSRV, QSYS OR QTEMP */ IF COND(&ODLBNM *EQ 'QDOC' *OR + &ODLBNM *EQ 'QRECOVERY' *OR + &ODLBNM *EQ 'QRPLOBJ' *OR + &ODLBNM *EQ 'QSPL' *OR + &ODLBNM *EQ 'QSRV' *OR + &ODLBNM *EQ 'QSYS' *OR + &ODLBNM *EQ 'QTEMP') THEN(GOTO LOOP) IF COND(&ODOBTP *EQ '*DOC' *OR + &ODOBTP *EQ '*FLR' *OR + 
BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  •  

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: