Incorrect Data In Table AR_DISPUTE_HISTORY Causing Reporting Errors
Last updated on SEPTEMBER 25, 2017
Applies to:Oracle Receivables - Version 11.5.9 to 22.214.171.124 [Release 11.5.9 to 11.5.10]
Information in this document applies to any platform.
FORM:ARXTWMAI.FMB - Transactions
REPORT:ARXAGCW.RDF - Aging - 7 Buckets - By Amount Report
Invalid data is created in AR_DISPUTE_HISTORY table when following certain steps. Issue was reported in 11i.AR.M and reproduced in 11i.AR.O (latest AR minipack at the time the note was written).
Following bellow steps it is possible to create disputes with 'start date' lower than 'end date'. This will cause reporting problems, as the data printed on Aging reports for example, is not correct anymore, as the invoice can be printed twice.
1. (N) Transactions / Transactions and create transaction number 12227. Complete the transaction.
2. Open More tab and create dispute for 100. Save
Check ar_dispute_history table-> one record created
3. Remove the dispute for 100. Save
Check ar_dispute_history table-> one more record created, 2 records in total in ar_dispute_history
4. Recreate the dispute for 50, this time with start date lower that before.
Check ar_dispute_history table:
select dispute_history_id, start_date, end_date, amount_in_dispute
where payment_schedule_id = '90234';
DISPUTE_HISTORY_ID START_DATE END_DATE AMOUNT_IN_DISPUTE
------------------ ------------------- ------------------- -----------------
6793 16.08.2005 16.08.2005 07:11:34 100
6794 16.08.2005 07:11:34 10.08.2005 0
6795 10.08.2005 50
3 rows selected
=> it can be seen that end date for second row is lower than start date. This is wrong.
4. Run Aging - By Account Report, As of GL Date: 16-AUG-05
=> Invoice 12227 is printed twice on the report
5. Run Aging - By Account Report, As of GL Date : 17-AUG-05
-> result is ok
Due to this issue, the Aging reports show wrong data (doubled invoices). Other reports could also be affected.
The following SQL identifies the invalid / incorrect data:
where payment_schedule_id in
(select distinct a.PAYMENT_SCHEDULE_ID
from ar_dispute_history a
, ar_dispute_history b
where ((b.start_date>=a.start_date and
or (b.end_date>a.start_date and b.end_date<=nvl(a.end_date,trunc(sysdate))))
order by PAYMENT_SCHEDULE_ID, START_DATE;
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms