A daily Intertest IN25UTIL batch job to UNLOAD all the programs in the Intertest PROTSYM source code repository is ending with a return code 8. What is the reason for the return code 8?
UTIL048 DTWPGE CANNOT BE UNLOADED
UTIL123 NUMBER OF SKIPPED PROGRAM ENTRIES : 00000001
UTIL124 BATCH UTILITY COMPLETED, INVALID PROGRAM ENTRIES ENCOUNTERED AND SKIPPED
During the compile of an application program, the 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.
The update phase can fail if:
From 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
To see if a program is IN UPDATE MODE:
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