Q6 error while executing Gen program when delete issued

Document ID : KB000092339
Last Modified Date : 19/04/2018
Show Technical Document Details
Issue:
When run a Gen application and program issues a delete, received the following error:
TIRM030E: APPLICATION FAILED - UPDATES HAVE BEEN BACKED OUT 
TIRM031E: FAILING PROCEDURE EXIT DATA FOLLOWS 
TIRM032E: LAST OR CURRENT ACTION BLOCK ID = 0012345 
TIRM033E: LAST OR CURRENT ACTION BLOCK NAME = <name of application>  
TIRM034E: LAST OR CURRENT DATABASE STATEMENT = 0000000000 
TIRM035E: CURRENT STATEMENT BEING PROCESSED = 0000000xxx 
TIRM038E: ** FATAL DATABASE ERROR WAS ENCOUNTERED ** 
TIRM039E: DB LAST STATUS = Q6 
TIRM047E: APPLICATION FAILED ** MUST ABEND 
TIRM048E: WILL ABEND VIA U0100


 
Resolution:
The Q6, as it relates to Gen, typically means there is a mismatch on trigger request to read the identifier fields. With the resolution/work-around to regenerate triggers for the application involved. The most common reasons for this type of error occurring is that there is a mismatch between the RI code being called and the technical design/data structure, and that regenerating the RI code and reinstalling the module will often resolve the problem.  In some cases customers will need to regenerate both the RI Triggers and the application code involved to resolve.

More Details on Q1 thru Q6 errors: 
Q1 - Q6—This series of status codes indicates an internal processing error occurred while performing Referential Integrity Trigger processing. Many conditions can cause this error, including an unfulfilled request for more memory, or so many cascaded deletes that processing could not handle them.
Each code has the following meaning:
– Q1 - Nothing found in disassociate queue
– Q2 - Parameter list error
– Q3 - Error allocating memory
– Q4 - Invalid request code or parameter list error
– Q5 - Parameter list error
– Q6 - Parameter list error How do we determine which RI trigger may be at issue as I assume that this is still a valid error code in 8.6