IBM ODM, если условие для цикла for - PullRequest
0 голосов
/ 14 сентября 2018

Я хочу перебрать список объектов в моем правиле и проверить некоторые условия для каждого объекта, используя оператор if в цикле, возможно ли это?

Пробовал цикл for, но он не позволяет иметь внутри него оператор if.

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

определить:

make 'varialbe' be any in collection ;

если

"condition"

, то

something

else:

other

Извините за синтаксис.Я не использую английскую версию ODM, но я думаю, что вы поняли.Работает как в таблицах, так и в правилах.

0 голосов
/ 15 сентября 2018

Мало того, что это возможно, это очень распространено.Просто используйте предложение DEFINITIONS, чтобы связать переменную с каждым элементом в списке.Итерация подразумевается.

определения
установить в в ;

Использование второго оператора SET и другого списка дает вложенный цикл.Вы можете проверить условия для объекта либо в операторе IF, либо добавив предложение WHERE в оператор SET.

Вот ссылка на одну из страниц Центра знаний: https://www.ibm.com/support/knowledgecenter/en/SSQP76_8.9.2/com.ibm.odm.itoa.ref/topics/ref_bal_set_var_to_def.html

Напротив, цикл FOR EACH используется в действии правила - после того, как все условия были выполнены.Нет ничего плохого в том, чтобы использовать его, когда это уместно, но его использование не так часто

...