Air_demon написал(а):
А как Вы используете IF/ENDIF? Почему он не работает?
Расчет происходит через последовательность планирования: в фильтре исключаются "не присвоенные" сочетания", а сама функция выглядит так:
DATA FY TYPE 0FISCYEAR.
DATA INFPROV TYPE 0INFOPROV.
DATA PLVAR TYPE ZPLVAR.
DATA SEAS TYPE 0FISCPER3.
DATA KOEF TYPE F.
DATA H1 TYPE F.
FY = VARV(ZFISCYEAR).
PLVAR = VARV(ZPLVARV).
INFPROV = VARV(ZIP_PLAN).
KOEF = VARV(ZKF).
FOREACH SEAS IN VARIABLE ZVAR_SEASON.
IF SEAS = '002' OR SEAS = '008'.
H1 = {ZSC, SEAS, FY, INFPROV, PLVAR }.
IF H1 >= 0 OR H1 = #.
{ZSC, SEAS, FY, INFPROV, PLVAR } = KOEF.
ENDIF.
ENDIF.
ENDFOR.
После выполнения, для сочетаний, в разрезе которых были ранее заведены значения, функция проставляет значение в ZSC, а для тех, по которым ничего не велось - ZSC остается пустым.