【发布时间】:2014-07-10 15:01:30
【问题描述】:
我正在开展一个项目,将当前用 HLASM 编写的大型机 CICS 应用程序转换为 COBOL。我有许多将继续使用的实用程序——其中之一是通过 CICS LINK 访问的“文件访问”实用程序。此实用程序采用必要的输入参数(在 commarea 中传递)来生成 CICS 文件请求以从指定文件中读取记录,并将存储区域的地址和在同一 commarea 中检索到的记录的长度传回。在汇编程序中,很容易将该地址加载到寄存器中,然后通过 USING 指令将该寄存器与记录映射 (DSECT) 相关联。
但是如何在 COBOL 中最好地做到这一点?我是否使用在 commarea 中传回的地址并以某种方式将其与 COBOL 记录布局相关联,以便我可以直接在 COBOL 程序中引用记录字段?如果有,怎么做?
或者我是否必须以某种方式将数据移动到本地工作存储区?然后将其移回以反映 COBOL 程序可能进行的任何更新?再次,如果是,如何?
【问题讨论】:
-
@NealB 的答案是要走的路。在他的示例中,LINK-REC 是您的 DSECT。带有 [USAGE] POINTER 的 COBOL 数据项包含一个地址。只要该存储映射到来自 Assembler 程序的数据地址,SET 就会将数据与 LINKAGE SECTION 数据描述(DSECT 等效项)相关联。
标签: cobol file-access cics