E-COB: Why Recompile ALL the COBOL? [ID 607738.1] | |||||
| |||||
Modified 31-AUG-2012 Type HOWTO Status PUBLISHED |
In this Document
Goal |
Fix |
References |
Applies to:
PeopleSoft Enterprise PT PeopleTools - Version 8.2 and laterInformation in this document applies to any platform.
SPECIFIC TO:
Applicable to All/ Any PeopleTools and Application release
This document was previously published as Customer Connection Solution 43949
***Checked for relevance on 19-OCT-2010*** ARCHIVED
Goal
Whenever fixes are applied, PeopleSoft recommends that ALL cobol be recompiled ? Why is this the case ?
Fix
COBOL programs interact with each other via shared memory areas called linkage. Linkage is usually defined by additional source files called "copy books". These files are incorporated into the programs during the compile process. When a Tax Update or other COBOL update includes a change to linkage all the programs that share that linkage must be recompiled to include the change.
Some linkage is not maintained in Copy Books, this will normally be only the linkage for two programs--the calling and the called. These program pairs should be delivered together if the linkage changes, but if other logic or data changes, they may not both be delivered in the update.
Copy books are not recompiled by themselves, thus they are segregated from the program files. For delivery, this separation is accomplished by our naming convention -- aaCppppp.cbl for copy books. When a copy book changes, all the programs that use the copy book must be recompiled to update the linkage information.
If one does a perfect job of managing the source code, then one may be able to rely on this rule. BUT PSFT RECOMMENDS COMPILING ALL COBOL WHENEVER FIXES ARE APPLIED. Another way to look at it is, when testing cobol processes, you are testing the compiled code. If all the modules are not compiled, how old might be the program that is being run ? It is difficult to be sure that the compiled version being tested is the version of the source file you are looking at.
What to do if the recompile does not solve the problem?
One more step to consider is to add a display to the program (or programs) involved to be sure the results of the compile process are the object programs executed during the process.
Review the proper staging of the source modules -- perhaps the source set being recompiled does not contain the current version for all modules.
KEYWORDS:
E-COB, recompile all cobol, FREQUENTLY USED
REFERENCES:
Document:607214.1 Unix COBOL modules must be UPPER CASE.lower case
Document:608852.1 How do customers know which files should be compiled as ".int" versus ".gnt" ?
Document:616281.1 Why run STOREPT,STOREPAY, STOREBAS, STOREHR, STOREPYI, etc.
Document:619079.1 Troubleshooting COBOL with TraceSQL
References
NOTE:607214.1 - Unix COBOL modules must be UPPER CASE.lower caseNOTE:608852.1 - How do customers know which files should be compiled as ".int" versus ".gnt" ?
NOTE:616281.1 - EPY: Why run STOREPT,STOREPAY, STOREBAS, STOREHR, STOREPY, etc.
NOTE:619079.1 - E-COB: How to Troubleshoot COBOL with TraceSQL and RemoteCall from Application Engine
Products
|