search cancel

Multiple program copies loaded in program pool

book

Article ID: 241133

calendar_today

Updated On:

Products

IDMS

Issue/Introduction

It is possible that two copies of a program load module may be loaded in the program pool at the same time.

DCMT DISPLAY PROGRAM

    *** Program Definition Table - Dictionary Modules Indicated by "D" ***
Program   Typ  D  DDname/Version#     DictName   Node                     
...                              
EMPSS01   SUB  D  Version 1                                               
EMPSS01   SUB  D  Version 1           APPLDICT

Cause

What causes this is a user running a program that needed to load EMPSS01 while having dictname APPLDICT set, and another user doing the same thing while no dictname is set (indicating the default dictionary). Typically APPLDICT is the default dictionary so the two loaded modules are the same.                              

If the load module is recompiled, how do you ensure that both copies are refreshed?

Environment

Release : All supported releases.
Component : IDMS/DB

Resolution

The DCMT DISPLAY PROGRAM and DCMT VARY PROGRAM commands allow the program name to be prefixed by a dictname.

To refresh the APPLDICT version:

DCMT VARY PROGRAM APPLDICT.EMPSS01 NCI

To refresh the default dictionary version:

DCMT VARY PROGRAM *.EMPSS01 NCI

If you do not qualify the module name in the command with a dictname:

DCMT VARY PROGRAM EMPSS01 NCI

then the command will apply to the copy of the program loaded from the dictname that is currently set in the user session at the time the command is issued.