You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VM/370CE下Kicks环境COBOL程序COMMAREA大小设置咨询

在VM/370CE V1R1.2的Kicks环境下设置COMMAREA大小的正确方法

我正在VM/370CE V1R1.2环境下为Kicks开发COBOL程序,此前跟着Moshix和Rene Ferland的YouTube教程完成了基础功能开发,现在需要实现程序间通信,因此必须调整COMMAREA的大小。

如果不显式声明LINKAGE SECTION,调用预处理器和编译器的k2kcobcl命令会自动生成如下代码:

----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
       LINKAGE SECTION.
       COPY KIKEIB.
       01  KIKCOMMAREA PIC X.
       PROCEDURE DIVISION USING
              KIKEIB,
              KIKCOMMAREA.

可以看到默认生成的COMMAREA仅为1字节(PIC X),完全无法满足程序间通信的数据传输需求。

根据Kicks官方文档的说明:

预处理器会向程序的LINKAGE SECTION添加KIKEIB复制本(必要时创建LINKAGE SECTION),且与CICS类似,EIB始终是KICKS处理器添加到程序PROCEDURE DIVISION语句USING子句的第一个参数

COMMAREA与EIB类似;当在LINKAGE SECTION中编码KIKCOMMAREA(或DFHCOMMAREA)的01层定义时,预处理器会将其添加到程序的USING子句中

按照第二段文档说明,我尝试显式声明自定义大小的COMMAREA,代码如下:

----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
       LINKAGE SECTION.
           01 DFHCOMMAREA PIC X(8).
       PROCEDURE DIVISION. 

但在VM/370CE V1R1.2的Kicks环境下,这段代码编译失败,报错信息为LINKAGE SECTION DEFINED BUT EMPTY。

为了绕过这个错误,我先后尝试了三种方案:

方案一

----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
       LINKAGE SECTION.
           01 DFHCOMMAREA PIC X(8).
       PROCEDURE DIVISION USING
              DFHCOMMAREA.

结果:编译错误。

方案二

----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
       LINKAGE SECTION.
       COPY DFHEIB.
           01 DFHCOMMAREA PIC X(8).
       PROCEDURE DIVISION USING
              DFHEIB,
              DFHCOMMAREA.

结果:编译错误。

方案三

----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
       LINKAGE SECTION.
       COPY DFHEIB.
           01 DFHCOMMAREA PIC X(8).
       PROCEDURE DIVISION.

结果:编译成功,但预处理器输出的代码中(预处理器会自动将“DFH”替换为“KIK”),COMMAREA并未被添加到USING子句中,导致无法正常使用:

----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
       LINKAGE SECTION.
       COPY KIKEIB.
           01 KIKCOMMAREA PIC X(8).
       PROCEDURE DIVISION USING
              KIKEIB.

我应该遗漏了某些关键步骤,请问在VM/370CE V1R1.2的Kicks环境下,设置COMMAREA大小的推荐方法是什么?


内容的提问来源于stack exchange,提问作者Zug

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 09:35:58