CICS EXCI事务CSMI异常终止ASRA

时间:2013-08-21 16:28:35

标签: cobol mainframe cics

我有一个cobol批处理程序,它使用CICS LINK通过EXCI调用CICS程序。 CICS程序调用Web服务并将结果解析为副本,然后在LINKAGE SECTION的commarea中传回。

一切似乎工作正常,批处理程序需要这些数据,但是当检查EXCI响应代码时,我有一个ASRA异常终止。 CICS日志报告以下

DFHAC2236 Transaction CSMI abend ASRA in program IOCCBR term RG1. Updates to local  recoverable
 resources will be backed out.

我一直在研究DFH ***代码和ASRA,但没有找到答案。转储不是公司的常见做法,但我确实有可用的异常终止。

EXEC CICS LINK PROGRAM('IOCCBR')    
  APPLID('PRODAOR1')                
  LENGTH(LENGTH OF WS-COMMAREA)     
  COMMAREA(WS-COMMAREA)             
  RETCODE(WS-EXCI-EXEC-RETURN-CODE) 
  SYNCONRETURN                      
END-EXEC.                           

任何想法都会非常感激。谢谢

2 个答案:

答案 0 :(得分:0)

我相信您必须在LINK中指定PROGRAM和TRANSID,并且必须将指定的TRANSID定义为CICS执行DFHMIRS,PROGRAM是您要执行的程序。

答案 1 :(得分:0)

经验教训,批处理程序是由其他人编写的,批处理的commarea比cics程序返回的要少。

我的同事有一个108的逗号,刚好足以传递字帖信息,我的CICS程序有2750的LINKAGE SECTION commarea,因为我重用了另一个EXCI / INVOKE WEBSERVICE程序的代码。我相信这就是为什么它在返回时出现了但数据存在的原因,我正确地填写了108个字节,但是它无法处理在他的WS commarea中被推送的额外2642个字节