with event as (
select /*+ materialize */
entity_id ,
max(xe.event_date) event_date
from
xla_events xe
where xe.event_date <= sysdate
and xe.event_status_code= decode(xe.event_type_code, 'PAYMENT CANCELLED', xe.event_status_code, 'P')
and xe.process_status_code='P'
group by entity_id
)
select
aip.invoice_id,
sum(aip.amount) payment_amount
from
xla_events xe inner join ap_invoice_payments_all aip
on xe.event_id=aip.accounting_event_id
inner join event e
on xe.entity_id=e.entity_id
and xe.event_date<=e.event_date
inner join ap_checks_all ca
on aip.check_id=ca.check_id
group by aip.invoice_id
No comments:
Post a Comment