Question about how Called Programs are handled in z/OS Dependency Builds
Scenario:
Program A calls Program B (which is statically linked to Program A).
When Program A was last built, the OBJ for Program B was in the build path but Program B's OBJ may have been rebuilt since Program A was last built.
The current process does not require Program A to be rebuilt if Program B was rebuilt but the OBJ for Program B that was used at the time Program A was built isn't preserved and is overlaid the next time Program B is rebuilt.
If RTC attempts to use the linkage information it will detect that Program B has been rebuilt after Program A was last built and may want to rebuild Program A.
This is not desired since rebuilding Program A will require it to be retested.
Program A calls Program B (which is statically linked to Program A).
When Program A was last built, the OBJ for Program B was in the build path but Program B's OBJ may have been rebuilt since Program A was last built.
The current process does not require Program A to be rebuilt if Program B was rebuilt but the OBJ for Program B that was used at the time Program A was built isn't preserved and is overlaid the next time Program B is rebuilt.
If RTC attempts to use the linkage information it will detect that Program B has been rebuilt after Program A was last built and may want to rebuild Program A.
This is not desired since rebuilding Program A will require it to be retested.
Does RTC allow you to handle this case without requiring Program A to be rebuilt?
Accepted answer
Hi Alex,
The statically linkage support added in 4.0.3 requires that you have to manually turn on "link-edit" in your translator. This tells us to run a post-parser BLZLKEPS to collect the static call dependencies. So if you do not check "link-edit" in the translator editor, then the dependencies between A and B are not collected and therefore A will not be rebuilt in your case. Hope that helps.