*SELECTCASE/*ENDSELECT

Для записи формул, содержащих несколько вложенных операторов IIF( ), используйте следующий синтаксис:

*SELECTCASE {expression}

*CASE {value1}[,{value2},…]

{formulas}

[*CASE {value1}[,{value2},…]

{formulas}

[*CASEELSE]

{formulas}

*ENDSELECT

где

{expression} - это условие для оценки,

{value1},.. - диапазон разделенных запятыми результатов, удовлетворяющих условию для данного случая.

При такой структуре существенно повышается удобочитаемость оператора логики.

Пример

*BEGIN

#A = IIF([ACCOUNT].[E]=1 OR [ACCOUNT].[E]=2,X+Y,

IIF([ACCOUNT].[E]=3 OR [ACCOUNT].[E]=4,X-Y,X*Y))

*END

#C = IIF([ACCOUNT].[E]=1 OR [ACCOUNT].[E]=2,W+Z,null)

#B = IIF([ACCOUNT].[E]=3 OR [ACCOUNT].[E]=4,W*Z,null)

Ниже приводится допустимый вариант написания некоторых формул.

*SELECTCASE [ACCOUNT].[E]

*CASE 1,2

#A=X+Y

#C=W+Z

*CASE 3,4

#A=X-Y

#B=W*Z

*CASEELSE

#A=X*Y

*ENDSELECT

Примечание

Вложение структур SELECTCASE в настоящее время невозможно.

Любое кодирование программного обеспечения и/или строки текста программы ("Код"), включенные в эту документацию, являются только примерами и не предназначены для использования в среде продуктивной системы. Код предназначен лишь для лучшего объяснения и наглядного представления синтаксиса и правил построения выражений в определенном кодировании. SAP не гарантирует правильность и полноту приведенного здесь Кода. SAP не будет нести ответственность за ошибки и ущерб, возникшие по причине использования этого Кода, за исключением случаев, если такой ущерб нанесен со стороны SAP намеренно или по грубой неосторожности.