DC171028 APPLICATION NOT EXECUTED. DIALOG LOAD MODULE MISSING but the dialog is there
search cancel

DC171028 APPLICATION NOT EXECUTED. DIALOG LOAD MODULE MISSING but the dialog is there

book

Article ID: 25190

calendar_today

Updated On:

Products

IDMS IDMS - Database IDMS - ADS

Issue/Introduction

The following error messages are issued when trying to execute an IDMS ADS dialog or ADSA application:

DC171028 APPLICATION NOT EXECUTED. DIALOG LOAD MODULE <name> MISSING 
DC466018 Unable to display source.

However, the dialog or application does exist either in the load area of the dictionary or in the load library. What else could cause this error?

Environment

Release: All supported releases.
Component: ADS.

Cause

The DC171028 error message can also be caused by the following:

  • The dialog is not defined in the SYSGEN correctly.
  • The dialog exists in a different dictionary to the one currently set.
  • If the <name> in the message is an ADSA application name it means the application has not been defined in the ADSO TAT. Another reason could be that the TAT has been disabled.
  • A user defined loadlist is in use which does not include the dictionary the dialog resides in
  • The program has been disabled
  • There is insufficient space in the program pools to load the dialog

Resolution

Follow the following procedure to determine the cause of the problem.

ADS Dialogs

A dialog can be defined automatically at runtime or explicitly in the SYSGEN. For automatic definition, the SYSTEM statement in the SYSGEN must specify the UNDEFINED PROGRAM COUNT parameter. Ensure that a secondary allocation count is specified and that the FOR parameter is ALL or include DIALOGS.

For explicit program definition with a PROGRAM statement in the SYSGEN, identify the location of the dialog, either DICTNAME IS SYSTEM-DEFAULT or LOADLIB. Ensure that this location is defined correctly. Note that it is not possible to define dialogs that reside in secondary dictionaries in the SYSGEN.

Enter the command DCMT D PROGRAM <dialogname>. This will display the dialog definition in the current dictionary or in the loadlib.

       D PRO dialogname 
   Program Name dialogname          Version         1 
   Type         DIALOG MAINLINE Type            DICTIONARY 
   Language     ADSO Dictname        APPLDICT 
   Size (bytes) 00001660            Dictnode 
   ISA size     00000000            Database key    00070184:008 
   Status       ENABLED AND INSRV   Storage Prot    YES 
   Dynamic      ALLOWED             Residence       IN POOL AT 36B06C00 
   Reusable     YES                 Threading       CONCURRENT 
   Reentrant    FULLY REENTRANT     Overlayable     NO 
   Tasks use ct 000                 New Copy        ENABLED 
   Times called 00000001            Times loaded    000001 
   PGM chk thrh 005                 Pgm check ct    000 
   Dump thrh    000                 Dump ct         000 
   Amode        ANY                 Rmode           ANY 
   PDE address  36519884            MPmode          SYSTEM 
   Savearea     NO                  Mult Enclave 

 

Check the following items:

  • The Status is not disabled, it should be ENABLED AND INSRV.
  • The Type is correct, either DICTIONARY or LOADLIB.
  • If there is a Dictname, that it is the correct dictionary name where the dialog resides in.

If the program is disabled, issue the following commands to enable it:

DCMT VARY PROGRAM <name> ENABLE 
DCMT VARY PROGRAM <name> NEW COPY 

If the DICTIONARY or LOADLIB specification is incorrect this indicates the program was defined in the SYSGEN incorrectly.

If message DC262911 V12 PROGRAM <dialogname> DICTNAME: NOT FOUND is issued in response to the DCMT D PROGRAM command then it means it could not find the program in the loadlib or in the current dictionary. Check that the current session profile is set to the correct dictionary by doing a DCUF SHOW DICTNAME. Also check the loadlist in use, issue a DCUF SHOW LOADLIST to show the loadlist in use then DCMT D LOADLIST <name>. If no loadlist is set issue a DCMT D LOADLIST to display the default loadlist:

     D LOADLIST 
           ***  Loadlist Table Display for System 90  *** 
                  System Loadlist SYSLOAD 
                    Type       Version            Dictnode/Dictname 

 LOADLIST SYSLOAD   Dict       USER-DEF                    USER-DEF 
                    Dict       USER-DEF                    SYST-DEF 
                    Loadlib    USER-DEF 
                    Dict       00001                       USER-DEF 
                    Dict       00001                       SYST-DEF 

If loadling from a dictionary, ensure the loadlist specifies the USER-DEF dictionary. If loadling from the load library ensure it specifies Loadlib

ADSA Application

If the program name in the error message is an ADSA application name, check the task code for the application has ben defined in the TAT. 

Display the contents of the TAT with:

DCMT D TAT

Use the ADSOTATU task code to add the application name to the TAT.

Check the status of the TAT using the command DCMT D PRO $ACF@TAT

      D PRO $ACF@TAT 
   Program Name $ACF@TAT            Version         1 
   Type         TABLE               Type            DICTIONARY 
   Language     ASM                 Dictname 
   Size (bytes) 00000172            Dictnode 
   ISA size     00000000            Database key    00070376:001 
   Status       ENABLED AND INSRV   Storage Prot    NO 
   Dynamic      ALLOWED             Residence       IN POOL AT 2D95B600 
   Reusable     YES                 Threading       CONCURRENT 
   Reentrant    FULLY REENTRANT     Overlayable     NO 
   Tasks use ct 000                 New Copy        ENABLED 
   Times called 00000001            Times loaded    000001 
   PGM chk thrh 005                 Pgm check ct    000 
   Dump thrh    000                 Dump ct         000 
   Amode        ANY                 Rmode           ANY 
   PDE address  2D5ED20C            MPmode          SYSTEM 
   Savearea     NO                  Mult Enclave 

Check that the status is not disabled, it should be ENABLED AND INSRV. If the program is disabled, issue the following commands to enable it:

DCMT VARY PROGRAM $ACF@TAT ENABLE
DCMT VARY PROGRAM $ACF@TAT NEW COPY

Program Pool Space

Finally check that there is sufficient space in the program pools. Dialogs will normally be loaded into the XA reentrant pool provided the task code that invokes it specifies LOCATION ANY. Issue the command DCMT D ACT XA REENT PROG.

       D ACT XA REENT PROG. 
  ***  Display of XA Reentrant Pool  *** 
                       Pages in pool      8520 
                       Bytes in pool   4362240 
                       Loads to pool       128 
                        Pages loaded      5132 
                      Load conflicts         0

                CURRENT ALLOCATIONS
                    Pages allocated       5132  60% of pool
        Pages in use by one program        164   2% of pool
  Pages in use by multiple programs          0   0% of pool
 High-Water mark of pages allocated       5132  60% of pool
       Loads into unallocated space        128 100% of loads
Loads overlaying program not in use          0   0% of loads
    Loads overlaying program in use          0   0% of loads

If there are any non-zero values for "Load conflicts" or "Loads overlaying program in use" it indicates the program pool is too small and its size should be increased in the SYSGEN.