We faced an AICA abend (running for a long time) for a CICS transaction. From Dump master we found that the looping occurred due to a perform statement. Below is the piece of code.
INSERT INTO TXX TABLE
<If we encounter a -911/-904 here we perform this same paragraph ( PERFORM PARA-INSERT THRU INSERT-EXIT) again. If we encounter more than thrice, we throw an error message and come out of the program>
We tried to simulate the same scenario by forcing -911. But the above piece of code worked fine (i.e tried performing INSERT para thrice and came out of the program throwing error message) and did not fail with AICA abend code.
Any particular reason for the AICA abend. Any help to simulate the AICA abend would also be useful.
Joined: 06 Jun 2008 Posts: 8055 Location: East Dubuque, Illinois, USA
The CICS Messages and Codes says about AICA:
Explanation: A task has been executing for longer than the runaway time interval (defined by the ICVR operand on the system initialization table macro, DFHSIT) without giving up control. The runaway task condition indicates a possible loop in the application.
The DB2 task may be running perfectly fine but you still get an AICA in CICS because the program has been running DB2 longer than the runaway task time interval. You need to consult with your CICS support person (and possibly DB2 support person) about the setting of the runaway time interval and why your transaction is getting the AICA. You may need to insert some CICS EXEC statement before jumping back into the DB2 code to ensure CICS doesn't think your program is looping when it isn't.