Program checks and unpredictable errors in undefined dc-cobol programs.

book

Article ID: 53279

calendar_today

Updated On:

Products

CA IDMS CA IDMS - Database CA IDMS - ADS

Issue/Introduction

Description:

If a client forgets to define an online DC COBOL program to the System Generation, they may encounter random program checks and other unpredictable errors, or a DC090002 abend.

Solution:

Online DC COBOL programs MUST be defined to the System Generation.

Normally, if you try to run a DC COBOL program which has not been defined to SYSGEN, you will get a specific and accurate error message such as DC171030 or a 3020 error-status.

However, there are some scenarios where a NULL PDE can be built for a DC COBOL program which is not previously defined to the SYSGEN. This NULL PDE will be built with TYPE UNDEFINED and LANGUAGE ASSEMBLER. Such a definition can cause the unpredictable results when the program is executed.

The scenarios which can cause this situation are as follows:

  1. The LOOK or SHOWMAP task code is run with the program in question as input (see System Tasks and Operator Commands for more information on these tasks).
  2. CA IDMS/DC support for LE runtime may cause the program to be defined with the NULL PDE when loaded.

The ultimate solution is to define the program to SYSGEN with LANGUAGE IS COBOL. Programs can also be dynamically defined to the system with the following command:

DCMT VARY DYNAMIC PROGRAM program-name COBOL.

However such a definition lasts only as long as the CV is active. For definitions to be persistent across a CV shutdown, they must be defined to the SYSGEN.

Environment

Release:
Component: IDMS