解决 COBOL 导入器错误

当应用程序未成功地将 COBOL 文件导入项目中时,应用程序就会显示一条错误消息。您可以更正该问题,然后重新导入该文件。

错误消息的类型
  1. 作为工作空间的一部分(本地)的 COBOL 文件:当应用程序未成功地将本地 COBOL 文件(它是工作空间的一部分)导入项目中时,语法错误消息就会出现在任务列表中。要查看代码中的错误的来源,单击问题任务列表中的错误消息行,如下所示:
    COBOL 语法错误消息
    错误还会记录在源数据目录下的一般日志文件中:[workspace]\.metadata\CommonBaseEvents.log
  2. 不在工作空间中的 COBOL 文件:如果某个文件不在工作空间中,则语法错误消息(如果有的话)将记录在日志文件中。
  3. 数据名称混成:数据名称混成:只有 Filler 数据项名称会被混成为 fill_XX(其中 XX 是后缀,该后缀在一个 01 级别数据结构下每遇到一个 filler 数据项就会递增。每当出现新的 01 级别的数据结构时,它就会复位)。例如:
    1 struct. 
               5 Group1. 
                 10 Filler   PIC X(30). -> fill_0
                 10 Sub-Group1.
                    15 Filler PIC x(10). -> fill_1
               5 Group2. 
                 10 Filler   PIC X(30). -> fill_2
                 10 Sub-Group1.
                    15 Filler PIC x(10). -> fill_3
     1 struct1.
               5 Group1. 
                 10 Filler   PIC X(30). -> fill_0
                 10 Sub-Group1.
                    15 Filler PIC x(10). -> fill_1
               5 Group2. 
                 10 Filler   PIC X(30). -> fill_2
                 10 Sub-Group1.
                    15 Filler PIC x(10). -> fill_3

解决导入问题

  1. 问题:虽然导入成功,但是没有任何数据:此问题的可能原因包括:
    • COBOL 源代码是一个嵌套程序(COBOL 导入器不支持这种程序)。
    • 副本(.cpy 文件)包含完整程序。
      解决方案
      • 将它重命名为 .cbl、.cob 或 .ccp
      • 更改文件扩展名 .cpy 的缺省行为,以表示“完整程序”。通过使用“COBOL 导入器首选项”页面(窗口 > 首选项 > 导入器 > COBOL)的“更多 COBOL 选项”选项卡中的“文件扩展名支持”表,可以更改 .cpy 的文件扩展名支持。
  2. 问题:未找到副本库:“未找到副本库”错误可能会出现在任务列表中,如下所示:
    未找到副本库

    造成此错误的原因是:副本与主要源文件不在同一位置。要解决此问题,应确保副本与主要源文件位于同一位置。

  3. 问题:当前语言环境不支持 DBCS 数据:“当前语言环境不支持 DBCS 数据”这一错误可能会出现在问题任务列表中,如下所示:
    当前语言环境不支持 DBCS 数据

    要解决此问题,通过进入“COBOL 导入器首选项”页面(窗口 > 首选项 > 导入器 > COBOL)的“更多 COBOL 选项”选项卡并对“编译时语言环境名称”选择一个值(例如,ja_JP),就可以将编译时语言环境更改为一种支持 DBCS 数据的语言环境。

  4. 问题:发现非 COBOL 字符:“发现非 COBOL 字符”这一错误可能出现在问题任务列表中,如下所示:发现非 COBOL 字符
    解决方案
    • 如果 COBOL 源代码中有 DBCS 格式的数据名,则通过进入“COBOL 导入器首选项”页面(窗口 > 首选项 > 导入器 > COBOL)的“更多 COBOL 选项”选项卡并对“编译时语言环境名称”选择一个值(例如,ja_JP),就可以将编译时语言环境更改为一种支持 DBCS 数据的语言环境。

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.