Cobol Cics语句后的EIBRESP无效
我在Cobol程序中发出一个Cobol Cics语句后的EIBRESP无效,cobol,cics,Cobol,Cics,我在Cobol程序中发出一个exec cics assign语句,并得到一个不可能的响应代码。eibresp正在返回空格。我是指在exec cics命令的RESP子句中指定的返回值。下面是一些代码: 77 W-RESP PIC S9(08) VALUE 0 COMP. 77 W-RESP-X REDEFINES W-RESP PIC X(0
exec cics assign
语句,并得到一个不可能的响应代码。eibresp
正在返回空格。我是指在exec cics
命令的RESP
子句中指定的返回值。下面是一些代码:
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
中得到的值是空格(X'40404040')
。这是一个标准的大型机应用程序,运行在IBMZOS操作系统中。启动请求的程序是在cics下执行的自然程序
自然程序-->COBOL PGM 1-->我的COBOL PGM
我在网上找不到任何解释或用户案例,尽管eibresp
在任何情况下都会返回有效值
有人能解释一下为什么我会得到一个不可能的eibresp
(空格)吗
非常感谢。每个CICS事务都有一个执行接口块(EIB,由DFHEIBLK或DFHEIBLC副本在COBOL中映射)。通常的做法是在通话时通过EIB 您的程序可能在其链接部分中有一个由CICS转换器生成的EIB
您指出事务中执行的第一个程序是用SoftwareAG的自然编程语言编写的,该语言随后调用另一个COBOL程序,该程序随后调用您的COBOL程序。如果EIB没有被传递到COBOL程序,这可能是问题的根源。在实际代码中接触WS-RESP-X的EXEC和显示之间是否存在任何差异?嗨,不,程序中没有任何更改此变量的内容。空格是Cics返回的值。谢谢,非常感谢。我不仅仅是在检查eibresp(eib变量)的值。我也在检查RESP response参数,它也返回空格x“404040”。我的意思是,EIBRESP或RESP都被返回了空间。让事情变得更加不确定的是,我有一个问题发生了,另一个问题没有发生,这两个问题都是从一个自然程序开始的。再次感谢。