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

Document ID : KB000025190
Last Modified Date : 14/02/2018
Show Technical Document Details

Problem: 

The following error message is issued when trying to execute a dialog:

DC171028 APPLICATION NOT EXECUTED. DIALOG LOAD MODULE <name> MISSING

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

 

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.

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, you need to identify the location of the dialog, either DICTNAME IS SYSTEM-DEFAULT or LOADLIB. Ensure that this location is defined correctly. Note that you cannot 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 you receive message DC262911 V12 PROGRAM <dialogname> DICTNAME: NOT FOUND 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 your session profile currently 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 you are using 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 
                    Loadlib    00001 

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

If the program name in the error message is an ADSA application name 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 

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 you see any non-zero values for "Load conflicts" or "Loads overlaying program in use" it indicates the program pool is too small and it's size increased in the SYSGEN.