In Example
of conditioning operations, dotted lines
represent conditional dependencies and straight lines represent normal
dependencies.
Figure 1. Example
of conditioning operations
The operations processing proceeds based on the possible JOB1 status
and return code:
JOB1 ends with status C and RC=0
Successors status evaluation if JOB1 ends with status C and
return code 0 shows the operation
processing flow: Figure 2. Successors status evaluation if JOB1 ends with status C and
return code 0 A possible path exists because JOB1 has completed successfully
and a normal successor, JOB5, exists. Because a path exists, the successor
conditions can be evaluated.
JOB1 condition is false because JOB1 return code is not 4. JOB2
status is set to X.
JOB3 condition is false because JOB1 return code is not 8. JOB3
status is set to X.
JOB5 has three predecessors with statuses C, X, and X so JOB5
status becomes R (Ready).
JOB1 ends with status C and RC=4; JOB2 runs successfully
A possible path exists because JOB1 has completed successfully
and a normal successor, JOB5, exists. Because a path exists, the successor
conditions can be evaluated.
JOB2 condition is true because JOB1 status is C and RC=4. JOB2
status runs and then successfully completes.
JOB3 condition is false because JOB1 return code is not 8. JOB3
status is set to X.
JOB5 has three predecessors with statuses C, C, and X so JOB5
status becomes R.
JOB1 ends with status C and RC=4; JOB2 ends in error
A possible path exists because JOB1 has completed successfully
and a normal successor, JOB5, exists. Because a path exists, the successor
conditions can be evaluated.
JOB2 condition is true because JOB1 status is C and RC=4. JOB2
runs, but ends in error
JOB3 condition is false because JOB1 return code is not 8. JOB3
status is set to X.
JOB5 has three predecessors with statuses C, E, and X so JOB5
status is set to W(Wait).
Now the operator can examine the reason why JOB2 failed and then
either rerun the occurrence or fix the error and continue the processing.
In this case no path for progression exists in the plan, therefore
the conditions evaluations cannot be finalized.
The condition on JOB2 is left U (Undefined), even though both
condition dependencies are false. JOB2 status is set to W.
The condition on JOB2 is left undefined, even though both condition
dependencies are false. JOB3 status is set to W.
JOB5 has three predecessors with statuses E, W, and W. JOB5 status
is set to W.
JOB1
is marked with the Unexpected RC flag and the warning message EQQE141W
is logged in the Controller MLOG and in the system log.
Now the operator can examine the reason why JOB1 failed,
check if the condition definitions are correct, and then either rerun
the occurrence or fix the error and continue the processing.