Как решить или начать решать проблему DB2?

Когда я пытаюсь предварительно скомпилировать свое приложение DB2 Cobol, которое содержит встроенные операторы SQL, я получаю эту ошибку в своем SYSTERM файл:

********************************* TOP OF DATA **********************************
DSNH527I W     DSNHOPTS  THE PRECOMPILER OR DB2 COPROCESSOR ATTEMPTED TO USE THE
DSNH004I S     DSNHLEXC  PROCEDURE DIVISION COULD NOT BE FOUND

DSNH053I W     DSNHMAIN  NO SQL STATEMENTS WERE FOUND
SOURCE STATISTICS
SOURCE LINES READ: 205
NUMBER OF SYMBOLS: 10
SYMBOL TABLE BYTES EXCLUDING ATTRIBUTES: 1640
THERE WERE 3 MESSAGES FOR THIS PROGRAM.
THERE WERE 0 MESSAGES SUPPRESSED BY THE FLAG OPTION.
188712 BYTES OF STORAGE WERE USED BY THE PRECOMPILER.
RETURN CODE IS 12
******************************** BOTTOM OF DATA ********************************

Я думаю, что ошибка в том, что он не может найти раздел Division Division, но это в коде здесь:

*---------------------------------------------------------------*
*          P R O C E D U R E     D I V I S I O N                *
*---------------------------------------------------------------*
PROCEDURE DIVISION USING LK-TRANS-INPUT.
000-MAIN.

2 ответа

Решение

Я исправил это, воссоздав наборы данных на мэйнфрейме DB2 с теми же данными в них. Что-то не так с их настройками.

Глядя на пример кода, вы начинаете кодировать в столбце 1.

Компиляторы мэйнфреймов Trad ожидают код в определенных столбцах:

----+----1----+-----
      *  comment star goes in column 7
       PROCEDURE DIVISION.
       PARAGRAPH_NAME.
      * All start between cols 8 and 11
      *
           ADD +1 TO COBVER.
      * Other operations start in col 12 or after.
      * Anything after column 71 will be ignored. 
Другие вопросы по тегам