Перебор временной таблицы
Вы часто будете перебирать временные таблицы для обработки записей, накопления значений или удаления записей перед возвратом данных клиенту.
Для перебора временной таблицы используется оператор for each. Вы также можете перебирать подмножество записей, используя условие where для указания критериев.
Синтаксис для перебора временной таблицы:
for each <tt-name> [where <criteria>]: <statements> end.
<tt-name>, имя временной таблицы, по которой выполняется перебор.
<criteria>, выражение для проверки одного или нескольких полей в таблице. Перебор выполняется для всех записей, удовлетворяющих критериям.
<statements>, любые операторы ABL, который необходимо выполнить во время перебора.
Пример простого перебор
В этом примере оператор for each перебирает каждую запись во временной таблице ttOrder:
for each ttOrder: /* любые действия с текущей записью таблицы */ end.
Пример перебора по подмножеству
В этом примере оператор for each делает выборку записей из временной таблицы ttOrder принадлежащих клиенту с номером 5:
for each ttOrder where ttOrder.CustNum = 5: /* любые действия с текущей записью таблицы */ end.
Пример перебора по меньшему подмножеству
В этом примере оператор for each делает выборку записей из временной таблице ttOrder, у которых номер клиента равен 5 и статус равен «Shipped»:
for each ttOrder where ttOrder.CustNum = 5 and ttOrder.Status = “Shipped”: /* любые действия с текущей записью таблицы */ end.