Starting the loop analysis
When a loop is detected, the current plan is not created or extended and a loop analysis process is started to help you resolve the loop. The loop analysis process is performed iteratively on a matrix representing the network, to progressively reduce the operations involved in the network until no operations are left and the loop is completely resolved. The loop analysis process is done on the matrix, without operating any real action in the network. Any bad dependencies removed and actions taken are reported in the EQQLOOP data set as a suggestion for you to solve the loop, according to your requirements.
- Remove any FOPs and LOPs in the network and leave only the operations involved in the loop. The last FOP removed, if any, is considered as the loop entry and its successor is marked as the closest operation to the loop entry. In the EQQLOOP data set, message EQQ3151I describes the loop reduction process performed and, at the first iteration, messages EQQ3152I, EQQ3153I, EQQ3154I, and EQQ3155I list all the operations involved in the loop. For details about these messages, see Messages and Codes.
- Identify the dependency to be removed to solve the loop, according
to the following criteria in the following order:
- A) IA Time Check
- A predecessor operation whose occurrence has an Input Arrival date (or time) later than the occurrence of the successor operation identifies the dependency to be removed.
- B) Closest To Loop Entry
- If no IA Time Check condition occurs, the dependency between the closest operation to the loop entry, if any, and one of its predecessors is identified as the one to be removed. Only when the network has at least one FOP, the reduction process identifies the closest operation to the loop entry because the loop entry is the last FOP removed. Otherwise, it is not set and the closest to loop entry condition does not occur.
- C) Minimal Net Distortion
- If none of the above conditions occurs, the minimal disturbing dependency is identified as the one to be removed. The disturbance is evaluated based on the throughput affecting the loop operations, such as the number of dependencies for an operation or the presence of external dependencies. The minimal disturbing dependency is identified as the one whose removal would have the least significant impact on the network.
For each dependency to remove, one message EQQ3156I is issued in EQQLOOP explaining the reason of the removal (IA Time Check, Closest To Loop Entry, or Minimal Net Distortion). Examine the EQQLOOP data set to learn the suggestions given to resolve the loop and examine your network to decide the actions to actually take. The information provided by EQQLOOP is a possible path to resolve the loop but you must decide which dependencies you want to remove.
The loop analysis process (reduction, operation analysis, dependency removal) is performed until all the loops in the matrix are solved, that is when no operations are left in the matrix. When all the loops are solved, messages EQQ3157I and EQQ3158I in EQQLOOP detail all the applications involved, listing them by the date and time of the last update made, in descending order. This information helps you identify the changes made in the application definitions that might have caused the loop to occur.
If the resolution of the loop required changes to external dependencies of any application then, before a current plan batch process is run, a long term plan batch must be done to update the long term plan itself and, subsequently, the current plan.