当应用程序未成功地将 COBOL 文件导入项目中时,应用程序就会显示一条错误消息。您可以更正该问题,然后重新导入该文件。
错误消息的类型
- 作为工作空间的一部分(本地)的 COBOL 文件:当应用程序未成功地将本地 COBOL 文件(它是工作空间的一部分)导入项目中时,语法错误消息就会出现在任务列表中。要查看代码中的错误源,单击任务列表中的错误消息行,如下所示:

还会将错误记录在位于 workspace/metadata 目录下的通用日志文件中:[workspace]\.metadata\CommonBaseEvents.log
- 不是工作空间的一部分的 COBOL 文件:如果某个文件不是工作空间的一部分,或者它是一个远程 COBOL 文件(WSED),则会将语法错误消息(如果有的话)记录在日志文件中。
- COBOLException.getMessageNote() 错误:如果 COBOL 源代码具有语法错误,则 COBOLException.getMessageNote() 异常将返回以下消息:
- 对于因其文件扩展名而认为是完整程序的 COBOL 源代码。发生此故障的可能原因是:
- 在源代码中发现语法错误。检查问题任务列表以获取错误列表。
- [File Name].cbl 因其文件扩展名而期望它是完整的 COBOL 程序。通过进入 COBOL 导入器首选项页(窗口 > 首选项 > 导入器 > COBOL)的“更多 COBOL 选项”选项卡,就可以更改文件扩展名支持。使用该导入器的工具应该捕获该异常并对最终用户显示此消息。
- 对于期望只包含数据结构的 COBOL 源代码:IWAA0645E: 导入 COBOL 源代码失败。发生此故障的可能原因是:
- 在源代码中发现语法错误。检查问题任务列表以获取错误列表。
- [File name].cpy 因其文件扩展名而期望它只具有 01 数据结构或 77 基本数据项定义。通过进入
COBOL 导入器首选项页(窗口 > 首选项 > 导入器 > COBOL)的“更多 COBOL 选项”选项卡,就可以更改文件扩展名支持。使用该导入器的工具应该捕获该异常并对最终用户显示此消息。
- COBOLException.getErrorMessageVector():ErrorMessageInfo 对象的用途是提供有关 COBOL 源代码中的语法错误的信息(“错误消息”、“严重性代码”、“行号”和“文件位置”信息)并返回一个由 ErrorMessageInfo 对象组成的向量。即,对于每个语法错误,您都将获得一个 ErrorMessageInfo 对象。各个工具可以使用它来按它们希望的方式显示错误消息。这在非用户界面的情况下确实很有用。
- COBOLException.getMessage():IWAA0645E: 导入 COBOL 源代码失败。使用该导入器的工具应该捕获该异常并对最终用户显示此消息。
- 数据名称混成:数据名称混成:只有 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
解决导入问题
- 问题:虽然导入成功,但是没有任何数据:此问题的可能原因包括:
- COBOL 源代码是一个嵌套程序(COBOL 导入器不支持这种程序)。
- 副本(.cpy 文件)包含完整程序。
解决方案- 将它重命名为 .cbl、.cob 或 .ccp
- 将文件扩展名 .cpy 的缺省行为更改为表示“完整程序”
- 问题:未找到副本库:“未找到副本库”错误可能会出现在任务列表中,如下所示:

造成此错误的原因是:副本与主要源文件不在同一位置。要解决此问题,应确保副本与主要源文件位于同一位置。
- 问题:当前语言环境不支持 DBCS 数据:“当前语言环境不支持 DBCS 数据”这一错误可能会出现在任务列表中,如下所示:

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