Previous Topic: PrecompilersNext Topic: DML Precompiler Diagnostic Messages


Interpreting DML Diagnostic Messages

Message severity levels

Messages issued by the DML precompilers identify actual or potential problems in the source code. Messages are issued at five levels of severity, designated as follows:

I

Informational messages that identify conditions that may affect the performance of run units using this source code.

W

Warning messages that identify potential problems in the source code. The user should determine the specific causes for these messages. Reexecution of the DML precompiler may not be required.

E

Error messages that identify individual DML statements that are in error. Reexecution of the DML precompiler is required.

F

Fatal messages that identify errors that affect more than one DML statement. Reexecution of the DML precompiler is required.

T

Terminal messages that identify errors that prevent the precompiler from continued functioning. In most instances, a terminal message indicates the presence of a JCL error. The user should check the execution JCL (for example, ensure proper file assignments).

Four-digit message IDs

In addition to the severity-level designations listed above, each diagnostic message is associated with a specific four-digit ID. In most cases, one general message (for example, UNKNOWN NAME) can apply to a variety of error conditions detected by the DML precompilers. The associated message ID, however, is different for each causal condition.

Message format

All DML diagnostic messages appear in the Listing of Messages and have the same format. A line of erroneous source code is followed immediately by a diagnostic line, which lists the appropriate four-digit message ID (preceded by three asterisks beginning in column 1); the severity level; and the message. An asterisk (*) placed directly below the first character of a word or phrase indicates the erroneous word or phrase within the source line.

Note: If line numbers have been assigned in columns 1 through 6 of the source code, the DML error number is followed immediately by the six-digit number of the associated source line.

Message format example

The sample output below shows the format of diagnostic messages for a COBOL source program.

IDMSDMLC   nn.n          CA, INC.                                DML PROCESSOR FOR COBOL         DATE            TIME          PAGE
                             - - LISTING OF MESSAGES - -                                       mm/dd/yy        08512774        0001
             00002           *DMLIST
             00003           **************************************************************
             00004            IDENTIFICATION DIVISION.
             00005           **************************************************************
             00006           *
             00007            PROGRAM-ID.                     EMPDC1.
             00008            AUTHOR.                         CA, INC.
             00009            DATE-WRITTEN.                   DECEMBER 2007.
             00010            REMARKS.                        THIS PROGRAM DEMONSTRATES
             00011                                            CA IDMS/DC PROGRAMMING.
             00012           *
             00013           ***************************************************************
             00014            ENVIRONMENT DIVISION.
             00015           ***************************************************************
DMLC         00016            IDMS-CONTROL SECTION.
DMLC         00017            PROTOCOL.                      MODE IS IDMS-DC DEBUG
DMLC         00018                                              IDMS-RECORDS MANUAL.
             00019           ***************************************************************
             00020            DATA DIVISION.
             00021           ***************************************************************
DMLC         00022            SCHEMA SECTION.
DMLC         00023                DB EMPSS02 WITHIN EMPSCHM VERSION 100.
***0701                              *  F UNKNOWN NAME
DMLC         00024            MAP SECTION.
DMLC         00025            MAP EMPMAP02 VERSION 1 TYPE IS STANDARD.
***0708                                                              *  E UNKNOWN NAME
             00026           *
             00027            WORKING-STORAGE SECTION.
             00028            01  TASKCODE                   PIC X(8).
             00029                88 FIRSTTIME               VALUE 'DEPTSOL'.
             00030                88 ERRORCALL               VALUE 'DEPTDIS'.
             00031                88 SECONDTIME              VALUE 'DEPTEND'.
             00032            01  MESSAGES.
             00033                05 OUTPUT-MESSAGE          PIC X(80).
             00034                05 INITIAL-MESSAGE         PIC X(48) VALUE
             00035                   'ENTER A DEPT ID AND PRESS ENTER ** CLEAR TO EXIT'.
             00036                05 EDIT-ERROR-MESSAGE      PIC X(41) VALUE
             00037                   'DEPT-ID EITHER NOT ENTERED OR NOT NUMERIC'.
             00038                05 DEPT-NOT-FOUND-MESSAGE   PIC X(39) VALUE
             00039                   'SPECIFIED DEPARTMENT COULD NOT BE FOUND'.
             00040                05 NO-EMP-MESSAGE           PIC X(37) VALUE
             00041                   'SPECIFIED DEPARTMENT HAS NO EMPLOYEES'.
             00042
DMLC         00043            01  COPY IDMS SUBSCHEMA-CTRL.
***0706                                     *  E UNKNOWN NAME
DMLC         00044            01  COPY IDMS DC-AID-CONDITION-NAMES.
***0706                                     *  W UNKNOWN NAME
***0707                                     *  E UNKNOWN NAME
             00045           ************************************************

Output summary

At the end of the Listing of Messages, the precompiler issues the 2400 message: x WAS MOST SEVERE ERROR FOUND. This message indicates the severity level of the most serious diagnostic message issued. Under z/VSE, abnormal termination (JOB CANCELED DUE TO PROGRAM REQUEST) results if an error severity level of E or greater is present. Under z/OS, an abnormal termination with a return code of 8 or higher results if a severity level of E or greater is present.

The precompiler output presents a total of all the diagnostics (including the 2400 message) issued, as shown in this example:

***1900           *  W BIND RUN-UNIT NOT ISSUED
***2000           *  W BIND RECORD NOT ISSUED
***2100           *  W READY NOT ISSUED
***2300           *  W FINISH NOT ISSUED
***2400           *  E WAS MOST SEVERE ERROR FOUND

0014 MESSAGES FOR PROGRAM EMPDC1