Блок TEST (ПРОВЕРИТЬ) описывает условие, которое проверяет при входе в него транзакт, и определяет номер следуюшего блока для вошедшего транзакта в зависимости от того, выполняется требуемое условие или нет. С помощью блока TEST может быть выполнено сравнение СЧА. Этот блок имеет следующий формат:
TEST Х A,B|,C|,
где А – СЧА;
В – СЧА;
С – имя блока, в который переходит транзакт при условии, что ответ на вопрос оператора отношения отрицательный;
X – вспомогательный оператор отношения, использующийся при проверке.
Возможные значения оператора отношения: G – А больше В; GE – А больше или равно В; Е – А равно В; NE – А не равно В; LE – А меньше или равно В; L – А меньше В (подробнее см. п. 1.7).
Операнды А и В являются сравниваемыми величинами. Они могут быть именем, числом, строкой, выражением и скобках, СЧА, СЧА*параметр. Вспомогательный оператор Х указывает способ сравнения этих двух величин дpyг c другом.
Пример. Режим отказа.
TEST LE Ql,Q2 – проверяющий транзакт будет задержан в предыдущем блоке до тex пор, пока длина первой очереди не станет меньше или равна длине второй очереди.
|
|
Пример. Режим условного перехода.
TEST LE Ql,Q2,ZHVS – проверяющий транзакт перейдет в следующий по порядку блок, если содержимое первой очереди меньше или равно содержимому второй очереди. Если это условие не выполняется, транзакт перейдет в блок c меткой ZHVS.
Пример. Режим условного перехода.
…
TEST L FR$SCANNER,X$MAX_UTIL,LLL
SEIZE SCANNER
…
LLL QUEUE QSCANNER2
…
Если устройство SCANNER имеет коэффициент использования меньше, чем значение сохраняемой величины MAX_UTIL, то транзакт идет на обслуживание этим устройством, в противном случае – переходит к блоку c меткой LLL.