View previous topic :: View next topic
|
Author |
Message |
jagankallis Warnings : 1 New User
Joined: 28 Jun 2006 Posts: 29 Location: DUISBURG
|
|
|
|
Dear Members,
I am a PL1 programmer. I have a doubt related to preparation of re-compilation list.
Consider a scenario where module A calls sub-module B. Sub-module B calls sub-module C. Sub-module C has undergone a code change and sub-module B and module A do not require any code change.
1) In one shop, it is required to compile sub-module C and recompile module A. Sub-module B doesn't require any compilation.
2) In another shop, it is required to compile sub-module C, then recompile sub-module B and recompile module A.
3) Yet in another shop, it is required to compile only sub-module C provided module A is an online program.
What is the reason behind such handling in verious shops. What is the main driving force in the background for such handling in verious shops. Please help me understand this in a detail way. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Site standards are typically the driving force. If modules B and C are dynamically called, there's no requirement to recompile any but the changed module -- but site standards may dictate otherwise.
Sites may mandate, for example, that all programs that use a copy book be recompiled if the copy book changes -- even if there's no length change involved -- just to ensure that all programs are current with the copy book. |
|
Back to top |
|
|
Garry Carroll
Senior Member
Joined: 08 May 2006 Posts: 1193 Location: Dublin, Ireland
|
|
|
|
There can be many reasons why an installation decides to do things a particular way.
1) The 'called' modules are linkedited with NCAL, so the 'driver' program - Program A - resolves all references. Since Program B didn't change, the unchanged version will be included at linkedit.
2) If the 'called' modules are not linkedited with NCAL, then Program B resolves the changed Program C at linkedit. Program B is then resolved by Program A's linkedit.
3) In this scenario, I'd say that the 'called' programs are dynamically called (FETCHed). These programs are not resolved at linkedit, being resolved at execution time. There is no dependency on the programs being 'online'.
From my point of view, if resolving modules at linkedit, it is preferable to specify NCAL for the sub-modules. Where multiple modules resolve a program name, which copy of that module is in effect is dependent on the linkage editor's selection. All copies, however, contribute to the load module size. Using NCAL for submodules removes the uncertainty and results in a smaller load module.
Garry. |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
Jagannathan B wrote: |
Please help me understand this in a detail way.
|
why have you not bothered to ask the site support people why their standards are so?
stop making uselss posts and talk to the people concerned, we can't. |
|
Back to top |
|
|
jagankallis Warnings : 1 New User
Joined: 28 Jun 2006 Posts: 29 Location: DUISBURG
|
|
|
|
Thanks to members for your time and patience. I got the answer.
Our site support are Japanese. They dont understand english like our senior member "Dick Brenholtz" |
|
Back to top |
|
|
|