*FOR/*NEXT
*FOR / *NEXT используется для повторения определенных скриптов, написанных между FOR и ближайшим NEXT для набора элементов. Наборы элементов могут быть предоставлены либо непосредственно в операторе FOR, либо с помощью переменных.
Модуль логики поддерживает любое количество циклов FOR…NEXT в теле файлов логики. Они имеют следующий синтаксис:
*FOR {variable1} = {set1} [ AND {variable2={set2}]
{text}
{text}
…
*NEXT
В файле логики может потребоваться повторить некоторые расчеты для набора сущностей. Даная выполняется автоматически при следующей записи:
*XDIM_MEMBERSET TIME = 2006.JAN
*XDIM_MEMBERSET CATEGORY = Q1FCST_LOAD
*FOR %Q1% = 2006.JAN, 2006.FEB, 2006.MAR
*RUNALLOCATION
*FACTOR=1/3
*DIM TIME WHAT = 2009.JAN; WHERE = %Q1%;
*DIM CATEGORY WHAT=Q1FCST_LOAD; WHERE=FQ1;
*ENDALLOCATION
*NEXT
Предполагая, что данные прогноза на первый квартал загружены в 2006.JAN, вышеуказанный скрипт равными частями присваивает эти данные каждому периоду в первом квартале.
Для каждого оператора *FOR допустима только одна переменная.
Любое кодирование программного обеспечения и/или строки текста программы ("Код"), включенные в эту документацию, являются только примерами и не предназначены для использования в среде продуктивной системы. Код предназначен лишь для лучшего объяснения и наглядного представления синтаксиса и правил построения выражений в определенном кодировании. SAP не гарантирует правильность и полноту приведенного здесь Кода. SAP не будет нести ответственность за ошибки и ущерб, возникшие по причине использования этого Кода, за исключением случаев, если такой ущерб нанесен со стороны SAP намеренно или по грубой неосторожности.