Mihalkin Sergej написал(а):
РМщик написал(а):
если только без счета,
то функции
BAPI_AP_ACC_GETKEYDATEBALANCE
- кредитор
BAPI_AR_ACC_GETKEYDATEBALANCE
дебитор
со счетом - боюсь, что считать надо
Это я уже, к сожалению, нашел.
Может так:
1) Начальное сальдо считается по LFC1/KNC1.
2) Обороты за оставшийся период по BSIK/BSAK или BSID/BSAD.
Если Гуру меня поправят, то буду благодарен.
Может есть какие-либо тонкости или другой алгоритм ?
Спасибо.
Удачи. Сергей.
может, имеет смысл использовать 2 селекта?
SELECT * APPENDING CORRESPONDING FIELDS OF TABLE t
FROM bsik
WHERE bukrs IN ir_bukrs AND lifnr IN ir_lifnr
AND budat <= ir_budat-high
AND hkont IN ir_hkont
AND bstat = space.
SELECT * APPENDING CORRESPONDING FIELDS OF TABLE t
FROM bsak
WHERE bukrs IN ir_bukrs AND lifnr IN ir_lifnr
AND budat <= ir_budat-high AND augdt >= ir_budat-low
AND hkont IN r_hkont
AND bstat = space.
звездочку конечно лучше заменить набором выбираемых полей.
Первый селект выбирает все открытые позиции до даты ir_budat-high
Второй селект дополнительно выбирает позиции, проведенные до текущей даты, но выровненные позже...
Правда, для повышения производительности пришлось создать индекс для bsik/bsak по bukrs/lifnr/budat
А дальше обрабатывай как хочешь...
Может, гуру и что-нибудь получше подскажут
Поучимся...
