1

我在尝试从 TSQ 读取数据时遇到了 ASRA 异常终止。如果我们尝试从已删除的 TSQ 中读取,是否会发生 ASRA?可能的原因是什么?

4

2 回答 2

2

ASRA 是一个包罗万象的错误,它表示 CICS 识别了程序检查状态并为您结束了您的事务。它可以是任何东西。您可以从 CICS 启动任务及其日志或您安装的任何 ABEND 报告产品中获得更多详细信息。

但是,如果您在使用 INTO( varname ) 选项执行 READQ TS 时获取 ASRA,请确保您拥有varname的存储并且长度足以容纳队列中可能的最大记录。

此外,如果您使用长度选项,请确保您已正确设置它。如果你从 TS 队列中请求 32k 字节到一个 100 字节的区域,你会得到一个 ASRA。

但以上所有只是一个可能的原因,你真的需要确定你得到什么样的 ASRA。

于 2014-08-12T20:33:57.707 回答
0

如果临时存储队列已经被删除,你不应该得到一个 ASRA 而是一个 QIDERR 条件,如果不处理它会给你一个不同的异常结束,一个 AEYH 异常结束。

ASRA 只是 S0C* 异常终止的 CICS 代码,在这种情况下我将假定它是 S0C4 或保护异常。当您尝试写入(或有时读取)您无权访问的存储时,会发生保护异常。

于 2018-11-01T16:12:24.603 回答