*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 намеренно или по грубой неосторожности.