Cobol Cics语句后的EIBRESP无效

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

我在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(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都被返回了空间。让事情变得更加不确定的是,我有一个问题发生了,另一个问题没有发生,这两个问题都是从一个自然程序开始的。再次感谢。