Специалист |
 |
Зарегистрирован: Пт, мар 25 2005, 17:17 Сообщения: 133
|
Раньше этот код работал. Потом были сделаны некоторые изменения, но ни уровень агрегации, ни эта функция планирования затронуты не были.
Code: DATA M TYPE 0CALMONTH2. DATA Q TYPE 0CALQUART1. DATA Y TYPE 0CALYEAR. DATA OBJ TYPE INVOBJ. DATA KFTP TYPE INVKFTP. DATA OBJCD TYPE INVOBJCD.
DATA SUM TYPE F. DATA TP TYPE I . DATA KOEFT TYPE I . DATA KOEFK TYPE I .
* ОПРЕДЕНИЕ КОЭФ ОТКЛОНЕНИЯ CALL FUNCTION Z79Y_BUDKOEF_TK IMPORTING T = KOEFT K = KOEFK.
FOREACH OBJ, Y.
{INVERRC, #, #, Y, INVLIMIT, 30 ,OBJ , 00001} = 0. OBJCD = ATRV (INVOBJCD, OBJ).
FOREACH M.
Q = ( M - 1 ) DIV 3.
SUM = {INVSUM, M, Q, Y, INVOBJ_P, 14, OBJ, 00001} / {INVSUM, M, Q, Y, INVOBJ_P, 08, OBJ, 00001} - 1. IF SUM > KOEFK. * УСТАНАВЛИВАЕМ КОД ОШИБКИ 10 {INVERRC, #, #, Y, INVLIMIT, 30 ,OBJ , 00001} = 10. ENDIF.
IF M = 03 OR M = 06 OR M = 09 OR M = 12.
SUM = {INVSUM, #, #, Y, INVOBJ_P, 11, OBJ, 00001} + {INVSUM, M, Q, Y, INVOBJ_P, 02, OBJ, 00001}. IF {INVSUM, #, Q, Y, INVOBJ_P, 10, OBJ, 00001} > SUM. * УСТАНАВЛИВАЕМ КОД ОШИБКИ 9 {INVERRC, #, #, Y, INVLIMIT, 30 ,OBJ , 00001} = 9. ENDIF. ENDIF.
FOREACH KFTP.
IF {INVSUM, M, Q, Y, INVOBJ_P, KFTP, OBJ, 00001} < 0. * УСТАНАВЛИВАЕМ КОД ОШИБКИ 5 {INVERRC, #, #, Y, INVLIMIT, 30 ,OBJ , 00001} = 5. ENDIF. ENDFOR. ENDFOR.
IF {INVSUM, 12, 4, Y, INVOBJ_P, 02,OBJ, 00001 } > {INVSUM, #, #, Y, INVLIMIT, 29,OBJ, 00001} . * УСТАНАВЛИВАЕМ КОД ОШИБКИ 6 {INVERRC, #, #, Y, INVLIMIT, 30 ,OBJ , 00001} = 6. ENDIF.
SUM = {INVSUM, #, #, Y, INVLIMIT, 29, OBJ, 00001} * KOEFT / 100. IF {INVSUM, 12, 4, Y, INVOBJ_P, 02, OBJ, 00001} < SUM. * УСТАНАВЛИВАЕМ КОД ОШИБКИ 7 {INVERRC, #, #, Y, INVLIMIT, 30 ,OBJ , 00001} = 7. ENDIF.
ENDFOR.
Ругается на инфопровайдер INVLIMIT.
|
|
|