A loop is a sequence of instructions that is executed repetitively. Loops that are coded into applications must always be guaranteed to terminate, because otherwise you could get any of the symptoms of loops described in Classifying the problem.
If a loop does not terminate, it could be that the termination condition can never occur, or it might not be tested for, or the conditional branch could erroneously cause the loop to be executed over again when the condition is met.
This section outlines procedures for finding which programs are involved in a loop that does not terminate. It contains the following topics:
If you find that the looping code is in one of your applications, you need to check through the code to find out which instructions are in error. If it looks as if the error is in CICS® code, you probably need to contact the IBM® Support Center.
Some CICS domains can detect loops in their own routines, and let you know if one is suspected by sending the following message:
DFHxx0004 applid A possible loop has been detected at offset X'offset' in module modname.
The two characters "xx" represent the two-character domain index. If, for example, monitoring domain had detected the loop, the message number would be DFHMN0004.
If you see this sort of message repeatedly, contact the IBM Support Center.