Why are there two copies of a program loaded?

Document ID : KB000126395
Last Modified Date : 08/02/2019
Show Technical Document Details
Introduction:
This document describes why it is possible that two copies of the same program might be loaded into the program pools.
Question:
Why are there two copies of a program loaded?

For example, DCMT D PROG may show something like this at the end of the ouput:
 Address   Debug   In Pool   Copy
3F34AC00    NO       YES     TEMP
003AE000    NO       YES     TEMP

 
Environment:
CA IDMS, all supported releases.
Answer:
Note that one of the addresses is a 31-bit address (3F34AC00) and the other one is 24-bit (003AE000).
The most common cause of this situation is that the program is being invoked under at least one task defined with LOCATION IS ANY and also at least one task defined with LOCATION IS BELOW.
LOCATION IS BELOW is unusual and if there are tasks defined in that way, then you should investigate if that really should be the case.
Additional Information:
TASK Statement