в BI-IP, в цикле foreach считываю записи, что то такое:
Code:
FOREACH CALDAY, MONTH, UNIT IN REFDATA.
...
IF CALDAY = TARGET_DAY.
TARGET = { 0QUANTITY, CALDAY, MONTH, 'KG','001'}.
ENDIF.
...
ENDFOR.
когда наступает условие CALDAY = TARGET_DAY то происходит считывание, однако если такой записи не существует, то переменной TARGET присваивается 0. Как можно выполнить проверку на существование записи в кубе, чтобы не присваивать 0, а оставить старое значение?
Можно конечно сделать что-то такое:
Code:
FOREACH CALDAY, MONTH, UNIT IN REFDATA.
...
IF CALDAY = TARGET_DAY.
TEMP_TARGET = { 0QUANTITY, CALDAY, MONTH, 'KG','001'}.
IF TEMP_TARGET <> 0.
TARGET = TEMP_TARGET.
ENDIF.
ENDIF.
...
ENDFOR.
но как-то "некрасиво", да и в кубе действительно может быть { 0QUANTITY, CALDAY, MONTH, 'KG','001'} равное 0.