What causes a program in the CA InterTest for CICS PROTSYM file to show a status of 'PROGRAM IS IN UPDATE MODE' and how do I resolve this problem?
During the compile of an application program, the CA InterTest for CICS post processing programs copy the program listing information into the PROTSYM file. While executing this copy, the post processing program, (for example IN25COB2, the COBOL post processor), starts to update the PROTSYM file with the data and sets a flag "IN UPDATE MODE". The flag is removed once the update phase has completed successfully. However, if the post processing step is unsuccessful and fails during the update phase, the flag is left on which results in the 'PROGRAM IS IN UPDATE MODE' status.
Why can the update phase fail?
- A system failure, the LPAR-image comes down
- The end user cancels the compile during the update phase
- The PROTSYM file runs out of space
- The post processing step receives a Return Code greater than 4
- The post processing program abends
There are two ways to see if a program is IN UPDATE MODE:
- Use CA InterTest for CICS online transaction ITST to display your PROTSYM file program entries
- Run the batch utility program IN25UTIL with the REPORT control card (see the example below)
- The REPORT control card generates a report of all programs contained in the PROTSYM file along with their status, such as 'PROGRAM IS IN UPDATE MODE'
To remove this flag you can either:
- Simply recompile the program and replace the failed entry
- DELETE the program from the PROTSYM file using the IN25UTIL batch utility program before recompiling
An example of the IN25UTIL utility program JCL using both the REPORT and DELETE control cards follows. The REPORT is used twice to show the contents of the file before and after the DELETE takes place. The first REPORT will show the program in update mode, the second verifies that the DELETE was successful.
//DELETE EXEC PGM=IN25UTIL,REGION=1024K
//STEPLIB DD DISP=SHR,DSN=your.intertest.loadlib
//PROTSYM DD DISP=SHR,DSN=your.protsym.file
//MESSAGE DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//OUTPUT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=121,BLKSIZE=2420)
//CARDS DD *
PASSWORD=12345678 default password as shipped with the product - each IN25UTIL control card must begin in column 1
The CA Application Quality and Testing Tools Symbolic Guide provides more detailed information about the IN25UTIL batch utility.