DC026001 LINK TO Progname FAILED--NOT DEFINED TO SYSTEM - but it is defined in sysgen.
search cancel

DC026001 LINK TO Progname FAILED--NOT DEFINED TO SYSTEM - but it is defined in sysgen.

book

Article ID: 250480

calendar_today

Updated On:

Products

IDMS

Issue/Introduction

Task abends with DC026001 but the named cobol program is defined.  If we get into SYSGEN compiler in SYSTEM Dictionary,  DISPLAY SYSTEM nn and then DISPLAY PROGRAM progname it displays the program correctly.

  But DCMT D PROG *.progname   says NOT FOUND

Environment

IDMS 19.0

Cause

The program in question is defined in the SYSTEM dictionary and may be added to one or more System numbers but it is not defined to the System number CV is running.

 

Resolution

When in the SYSGEN compiler, connected to the SYSTEM dictionary and current on a specific System number,  a DISPLAY PROGRAM (or other sysgen entity) will CALC to the specified program definition.

If it finds the program it means it is defined in the SYSTEM dictionary but it does not necessarily mean it is included in the specified system.

To see all PROGRAMs defined to the System for which you have established currency in the SYSGEN Compiler, the DISPLAY ALL PROGRAMS command will display only the programs that have been explicitly added to that system number.

To see which System numbers a given Program has been included in,  get into IDD, SIG DICT SYSTEM and DISPLAY PROGRAM progname. This will show a WITHIN SYSTEM clause for all systems to which the program has been added.

Example:

DISPLAY PROGRAM PROGA1.                         
*+   ADD                                          
*+   PROGRAM NAME IS PROGA1 VERSION IS 1        
*+       DATE CREATED IS      06/04/93            
*+       DATE LAST UPDATED IS 02/26/20            
*+       PREPARED BY xxxx                          
*+       REVISED  BY xxxx                          
*+       PUBLIC ACCESS IS ALLOWED FOR ALL         
*+       SEQUENCE FROM 0                          
*+       DC OPTION IS (                           
*+               CONCURRENT                       
*+               ENABLED                          
*+               RESIDENT                         
*+               NONPROTECT                       
*+               OVERLAYABLE                      
*+               REENTRANT                        
*+               REUSABLE                         
*+               NOSAVEAREA                       
*+               LANGUAGE IS ASSEMBLER            
*+               PROGRAM                          
*+               )                                
*+       WITHIN SYSTEM DCSYSTEM VERSION IS 90     
*+       WITHIN SYSTEM DCSYSTEM VERSION IS 99     
*+       WITHIN SYSTEM DCSYSTEM VERSION IS 1800   
*+       WITHIN SYSTEM DCSYSTEM VERSION IS 1900   

  You can add the program temporarily to the system you can use DCMT Vary Dynamic Program command.

  If the program must be permanently added to System 25, this is how that would be done.

  Get into the SYSGEN compiler

SIG DICT SYSTEM.
MOD SYSTEM 25.
DISPLAY PROG PROGA1 AS SYNTAX.

* next Erase the DISPLAY command so that the ADD PROGRAM syntax is the only thing shown and hit ENTER to add the program to system 25.
GENERATE.
 
* to get the program definition element defined at startup when bringing up System 25 you must recycle the CV.