cobol - Cobol Cics 声明后 EIBRESP 无效
问题描述
我exec cics assign
在 Cobol 程序中发出一条语句并获得一个不可能的响应代码。eibresp
正在返回空间。我的意思是在命令的RESP
子句中分配的返回值exec cics
。下面的一些代码:
77 W-RESP PIC S9(08) VALUE 0 COMP.
77 W-RESP-X REDEFINES
W-RESP PIC X(04).
77 W-RESP2 PIC S9(08) VALUE 0 COMP.
EXEC CICS ASSIGN
USERID ( W-CICS-USER )
RESP ( W-RESP )
RESP2 ( W-RESP2 )
END-EXEC
DISPLAY CTE-PROG ' ARESP='W-RESP '/' W-RESP2 ' RESPX=' W-RESP-X
我得到的价值W-RESP
是 SPACES (X'40404040')
。这是一个标准的大型机应用程序,在 IBM Zos 操作系统中运行。启动请求的程序是自然程序,在 cics 下执行。
自然课程 --> COBOL PGM 1 ---> 我的 COBOL PGM
我在网络上找不到任何解释或用户案例,尽管eibresp
在任何情况下总是会返回一个有效值。
有人可以解释为什么我得到一个不可能的eibresp
(空格)吗?
非常感谢。
解决方案
每个 CICS 事务都有一个执行接口块(EIB,由 DFHEIBLK 或 DFHEIBLC 副本映射到 COBOL)。通常的做法是在 CALL 上通过 EIB。
您的程序可能有一个由 CICS 转换器在其链接部分生成的 EIB。
您指出在您的事务中执行的第一个程序是用 Software AG 的 Natural 编程语言编写的,然后它调用另一个 COBOL 程序,然后它调用您的 COBOL 程序。如果 EIB 没有被传递给您的 COBOL 程序,那可能是您的问题的根源。
推荐阅读
- reactjs - 如何模拟从 Jest / 酶测试中的下拉列表中选择?
- ms-access - MS-Access VBA:将变量从一种形式传递到另一种形式,导致运行时错误
- c# - c#如何从另一个类调用一个类中的接口方法?
- java - 带有本机 Android 应用程序的 Azure SignalR 服务?
- javascript - 如何在没有状态的情况下在 React 中填充 DropdownList 选项?
- sql - 如何使用均值、中位数和众数创建新的 SQL 表?
- python-3.x - Python:反斜杠和正号是什么意思?
- python - 如何在 Outlook 和 Python 中从辅助帐户发送电子邮件
- android - 选择另一个 TextInputLayout 样式
- python - Apache 和 mod_wsgi