cobol - zOS:模块包含第 3 版程序对象功能,无法以加载模块格式保存

标签 cobol mainframe zos

我正在尝试在 cobol 中建立 hello world 的链接,如 this tutorial ,我可以编译程序并成功获取project.group.OBJ中的新成员,但是当我将它与

LINK project.group.OBJ(Member) lib('cee.sceelked')
我得到以下信息:
 IEW2278I B352 INVOCATION PARAMETERS - TERM                                    
 IEW2606S 4B39 MODULE INCORPORATES VERSION 3 PROGRAM OBJECT FEATURES AND CANNOT
          BE SAVED IN LOAD MODULE FORMAT.                                      
 IEW2008I 0F03 PROCESSING COMPLETED.  RETURN CODE =  12.
我意识到在 4(前景)选项中,链接编辑器在左侧显示一个星号:“7 *Binder/Link editor”,表示“不支持打包数据”。
错误是因为这个吗? “不支持打包数据”是什么意思?我可以毫无问题地访问该选项。
搜索我找到 a link which indicates “正在尝试以与正在使用的功能不兼容的格式保存模块”但我不知道正在使用的功能是什么意思。它是否与链接时应该放置的数据集加载的类型有关?我搞不清楚了。

最佳答案

加载模块格式很旧。 IBM 的最后一个 COBOL 编译器将生成可绑定(bind)为加载模块的代码,它是 IBM Enterprise COBOL 4.2.x,计划于 2022 年 4 月 30 日终止服务。如果您使用某些编译选项,即 DLL,即使该编译器也会生成无法存储为加载模块的代码。
较新版本的 IBM Enterprise COBOL 生成必须绑定(bind)为程序对象的代码。程序对象虽然像加载模块一样可执行,但与加载模块非常不同。
加载模块存储在 PDS(分区数据集)中。程序对象必须存储在 PDSE(扩展分区数据集)中。
确保绑定(bind)步骤的 SYSLMOD DD(project.group.LOAD 数据集)指向 PDSE。当您使用 ISPF 3.2 分配它时,将数据集名称类型设置为 LIBRARY。

关于cobol - zOS:模块包含第 3 版程序对象功能,无法以加载模块格式保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67513033/

相关文章:

stored-procedures - 我必须根据 DB2 中的时间戳删除 30 天前的数据

programming-languages - 这是什么语言?

VSAM KSDS 文件中的文件状态 39

zos - 如何在我们的 z/OS Connect 服务器上启用分布式跟踪(基于 WebSphere liberty Profile 和 open-liberty)?

assembly - 如何获取传递到 z/OS 上 UNIX 系统服务环境中运行的汇编程序的参数?

java - 通过cobol描述符解析数据时将小数点放在正确的位置

cobol - cobol 中的 "copy corresponding"是什么,它是如何工作的?

cobol - 有没有办法使用 INSPECT TALLYING 检查多个字符?

clearcase - 如何将COBOL源代码迁移到clearcase

compilation - COBOL Copybook 版本控制