Pokemon83 написал(а):
А все из-за кода а-ля "Сделано в Индии" в инклуде H99CAVERA.
Да, процедура ENDPROCESSING, вот здесь
Code:
FORM ENDPROCESSING TABLES P_I51AV_A STRUCTURE T51AV_A
P_I51AV_E STRUCTURE T51AV_E
P_I51AV_P STRUCTURE T51AV_P
P_CUMULATION STRUCTURE HRPY_AV_CUMULATION
P_AV_IT STRUCTURE PC207 .
DATA: LOOP_INDEX LIKE SY-TABIX.
...
IF P_I51AV_P-ENDDA GE WPBP-ENDDA. "time dependent entry
"begda frage ich auch vorne nicht ab ! and begda le wpbp-endda.
...
ENDFORM. " ENDPROCESSING
Проверка периода по какой-то причине производится только по одной дате, что является ошибкой. Причем, правильное условие там есть, но только оно закомментарено.
Кроме этого есть и другие проблемы.
1. Иногда требуется производить расчет среднего на дату, отличную от даты начала записи ИТ2001. Для этого там предусмотрено поле "ДатаОц/РасчСр" (SPPE2). Так вот, если там указана дата, когда действует другое правило расчета среднего, например, отсутствие апреля, а средний нужно посчитать на дату марта, то будет ошибка. В реализации RUAVE при обработке SPPE2 правило расчета среднего считываются не по дате SPPE2, а по датам из WPBP.
2.Изменение правила расчета среднего плохо работает в случае использования механизма "заморозки" среднего. Если связанное продолжение отсутствия, для которого используется заморозка, приходится на период с другим правилом расчета среднего, то возникнет ошибка, типа, "продолжение должно оцениваться по тому же правилу среднего что и начало".