在尝试从TSQ读取时,我得到ASRA异常终止。如果我们尝试从已删除的TSQ读取,ASRA会发生吗?什么都可能是可能的原因?
答案 0 :(得分:2)
ASRA是一个包罗万象的错误,说CICS确定了一个程序检查状态并为您结束了您的交易。它可能是任何东西。您可以从CICS启动任务及其日志或安装已安装的任何ABEND报告产品中获取更多详细信息。
但是,如果您在使用INTO( varname )选项执行READQ TS时获得ASRA,请确保您拥有 varname 的存储并且长度足以适应队列中最大可能的记录。
此外,如果您使用长度选项,请确保正确设置它。如果从TS队列请求32k字节到100字节区域,您将获得ASRA。
但以上所有只是其中一个可能的原因,你真的需要确定你得到的是什么样的ASRA。
答案 1 :(得分:0)
如果临时存储队列已被删除,则您不应获得ASRA,而应获得QIDERR条件,如果不进行处理,将给您另一个异常终止,即AEYH异常终止。
ASRA只是S0C *异常终止的CICS代码,在这种情况下,我想假设它是S0C4或保护异常。当您尝试写入(或有时从中读取)您没有权限的存储时,会发生保护异常。