Item_t.Event_poid_list Looses Disputes (Doc ID 955531.1)

Last updated on NOVEMBER 27, 2009

Applies to:

Oracle Communications Billing and Revenue Management - Version: 7.2.1.0.0
Information in this document applies to any platform.

Symptoms

-- Problem Statement:
AR_GET_DISPUTES breaks when the dispute is dropped from the event_item_transfer. This happens when lots of events are transfered to an item after the dispute.

The item_t.event_poid_transfer column can only hold a fixed number of items. Once the limit is
reached, the entries start shifting off in a FIFO manner. The earliest transfers are lost.

-- Steps To Reproduce:
1. Create account

2. Verify make bill happens and the /item/cycle_forward is open.

3. Make a payment

4. Reverse payment
r << +++ 1
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 1 0
0 PIN_FLD_PROGRAM_NAME STR [0] "Reverse Payment"
0 PIN_FLD_DESCR STR [0] "manual payment reversal"
0 PIN_FLD_REVERSALS ARRAY [1]
1 PIN_FLD_PAYMENT_TRANS_ID STR [0] "T1,13c,1"
1 PIN_FLD_PAY_TYPE ENUM [0] 10001
+++
xop PCM_OP_BILL_REVERSE 0 1

5. Get the poid_id for the /item/cycle_forward
SQL> select to_char(poid_id0) x from item_t where status = 2 and poid_type =
'/item/cycle_forward' and account_obj_id0 = &apoid

6. Create dispute
r << +++ 1
0 PIN_FLD_POID POID [0] 0.0.0.1 /item/cycle_forward 75431 0
0 PIN_FLD_AMOUNT DECIMAL [0] -51.00
0 PIN_FLD_CURRENCY INT [0] 840
0 PIN_FLD_PROGRAM_NAME STR [0] "Testnap Tester Tool"
0 PIN_FLD_DESCR STR [0] "Opening item dispute for cycle forward"
+++
xop PCM_OP_AR_ITEM_DISPUTE 0 1
The /item/cycle_forward now has an entry in the poid list.

7. Read back the dispute
r << +++ 1
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 75719 0
0 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 75815 0
0 PIN_FLD_INCLUDE_CHILDREN INT [0] 0
0 PIN_FLD_STATUS ENUM [0] 2
+++
xop PCM_OP_AR_GET_DISPUTES 0 1

8. Add lots of $1.00 payments
$ cat payments.nap
r << +++ 1
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 1 0
0 PIN_FLD_PROGRAM_NAME STR [0] "blah blah blah"
0 PIN_FLD_DESCR STR [0] "manual payment allocation"
0 PIN_FLD_CHARGES ARRAY [1] allocated 11, used 11
1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 75719 0
1 PIN_FLD_COMMAND ENUM [0] 0
1 PIN_FLD_PAY_TYPE ENUM [0] 10001
1 PIN_FLD_BILLINFO ARRAY [1] allocated 11, used 11
2 PIN_FLD_AMOUNT DECIMAL [0] 1.00
+++
xop PCM_OP_PYMT_COLLECT 0 1

$ i=40; while [[ $i -gt 0 ]]; do testnap < payments.nap; let i-=1; done

 This results in the dispute event shifting off the /item/cycle_forward event_poid_list.
 The key is that the length of the event_poid_list appoach 2000 bytes.

9. Read back the dispute (or at least try):
r << +++ 1
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 75719 0
0 PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 75815 0
0 PIN_FLD_INCLUDE_CHILDREN INT [0] 0
0 PIN_FLD_STATUS ENUM [0] 2
+++
xop PCM_OP_AR_GET_DISPUTES 0 1

Got the errors:
XOP "1322" failed: err 3:PIN_ERR_NOT_FOUND, field 0/2424:PIN_FLD_RELATED_BILL_ITEM_OBJ,
loc 6:PIN_ERRLOC_FLIST, errclass 1:PIN_ERRCLASS_SYSTEM_DETERMINATE, rec_id 0, resvd 0
# number of field entries allocated 20, used 2
0 PIN_FLD_POID POID [0] 0.0.0.1 /billinfo 75815 0
0 PIN_FLD_ERR_BUF ERR [0]

<location=PIN_ERRLOC_FLIST:6 class=PIN_ERRCLASS_SYSTEM_DETERMINATE:1
errno=PIN_ERR_NOT_FOUND:3>
<field num=PIN_FLD_RELATED_BILL_ITEM_OBJ:7,2424 recid=0 reserved=0 reserved2=0
time(sec:usec)=0:0>
<facility=0 msg_id=0 version=0>


Cause

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