The Consolidate_Status procedure returns a single status variable that is the result of consolidating an input status vector. It has an assignment interface so that it may be called by assigning a vector Status_type variable to a scalar Status_type variable.
The input status vector (Multiple_S) is combined into the output status variable (Consolidated_S) by looping over each input status variable. The following table shows the value of Consolidated_S after it has been combined with a single value from the vector Multiple_S, based on the previous value of Consolidated_S:
Consolidated_S | Multiple_S(i) | |||||
(previous) | Unset | Success | ME | MW | Error | Warning |
Unset | Unset | Success | ME | MW | Error | Warning |
Success | Success | Success | ME | MW | Error | Warning |
ME | ME | ME | ME | ME | ME | ME |
MW | MW | MW | ME | MW | ME | MW |
Error | Error | Error | ME | ME | ME | ME |
Warning | Warning | Warning | ME | MW | ME | MW |
where ME stands for `Multiple Error', MW stands for `Multiple Warning' and signifies that ME or MW is set only if the two errors or warnings are different from each other.
Calling syntax:
Consolidated_S = Multiple_S | or |
call Consolidate (Consolidated_S, Multiple_S) |
Input variable:
Multiple_S | A vector of status variables to be consolidated. |
Output variable:
Consolidated_S | The status that is a result of consolidating the input status vector. |
The Consolidate_Status code listing contains additional documentation.
Michael L. Hall