0

当我尝试预编译包含嵌入式 SQL 语句的 DB2 Cobol 应用程序时,我的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 ********************************

我认为错误在于它找不到“程序部门”部分,但它在此处的代码中:

*---------------------------------------------------------------*
*          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.
4

2 回答 2

1

查看示例代码,您似乎开始在第 1 列进行编码。

传统大型机编译器期望特定列中的代码:

----+----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. 
于 2011-04-04T09:34:19.047 回答
0

我通过在 DB2 大型机上使用相同的数据重新创建数据集来修复它。他们的设置参数有问题。

于 2011-04-14T02:03:06.967 回答