pin_round_on_scale() problem In get_summary_subord_total Search Template In fm_bill_make_bill.c

(Doc ID 555047.1)

Last updated on SEPTEMBER 26, 2016

Applies to:

Oracle Communications Billing and Revenue Management - Version 7.3.0.0.0 and later
Information in this document applies to any platform.
Checked for relevance on 15-Jul-2011
Checked for relevance on 16-Jan-2013

Symptoms

Search template generated by PCM_OP_BILL_MAKE_BILL is corrupted when there is an account hierarchy (parent and non-paying child).

Patches installed:
7.3 + 04489 + 5903622 + 6474176

This is from cm.pinlog:

D Mon Dec 10 15:52:26 2007 myhost cm:7413 fm_bill_make_bill.c:4312
1:myhost:testnap:7410:1:110:1203433277:1
     get_summary_subord_total search flist
# number of field entries allocated 20, used 14
0 PIN_FLD_POID POID [0] 0.0.0.1 /search -1 0
0 PIN_FLD_FLAGS INT [0] 1
0 PIN_FLD_TEMPLATE STR [0] "select sum ( pin_round_on_scale ( 1.F6 , 2 , 5 ) ), sum ( pin_round_on_scale ( 1.F7 , 13312 , 2 ) ), sum ( pin_round_on_scale ( 1.F8 , 1 , 1 ) ), sum ( pin_round_on_scale ( 1.F9 , -47945928 , 1578952 ) ), sum ( pin_round_on_scale ( 1.F10 , 0 , 0 ) ) from /item 1, /bill 2 where ( 1.F1 = V1 and 1.F2 = V2 and item_t.ar_billinfo_obj_id0 <> item_t.billinfo_obj_id0 and 2.F3 = 1.F4 and 2.F5 = V5 )"
0 PIN_FLD_ARGS ARRAY [1] allocated 20, used 1
1    PIN_FLD_STATUS ENUM [0] 1
0 PIN_FLD_ARGS ARRAY [2] allocated 20, used 1
1    PIN_FLD_AR_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 63672865 0
0 PIN_FLD_ARGS ARRAY [3] allocated 20, used 1
1    PIN_FLD_POID POID [0] 0.0.0.0 0 0
0 PIN_FLD_ARGS ARRAY [4] allocated 20, used 1
1    PIN_FLD_BILL_OBJ POID [0] 0.0.0.0 0 0
0 PIN_FLD_ARGS ARRAY [5] allocated 20, used 1
1    PIN_FLD_END_T TSTAMP [0] (1197262800) Mon Dec 10 00:00:00 2007
0 PIN_FLD_ARGS ARRAY [6] allocated 20, used 1
1    PIN_FLD_DUE DECIMAL [0] 0
0 PIN_FLD_ARGS ARRAY [7] allocated 20, used 1
1    PIN_FLD_ADJUSTED DECIMAL [0] 0
0 PIN_FLD_ARGS ARRAY [8] allocated 20, used 1
1    PIN_FLD_DISPUTED DECIMAL [0] 0
0 PIN_FLD_ARGS ARRAY [9] allocated 20, used 1
1    PIN_FLD_WRITEOFF DECIMAL [0] 0
0 PIN_FLD_ARGS ARRAY [10] allocated 20, used 1
1    PIN_FLD_RECVD DECIMAL [0] 0
0 PIN_FLD_RESULTS ARRAY [*] allocated 20, used 5
1    PIN_FLD_AMOUNT DECIMAL [1] NULL pin_decimal_t ptr
1    PIN_FLD_AMOUNT DECIMAL [2] NULL pin_decimal_t ptr
1    PIN_FLD_AMOUNT DECIMAL [3] NULL pin_decimal_t ptr
1    PIN_FLD_AMOUNT DECIMAL [4] NULL pin_decimal_t ptr
1    PIN_FLD_AMOUNT DECIMAL [5] NULL pin_decimal_t ptr


for example this part:

pin_round_on_scale ( 1.F9 , -47945928 , 1578952 )


The "-47945928" and "1578952" values look random.


-- Steps To Reproduce:
1. Change the generate_journal_epsilon /config/business_params value from 0 to 1 as follow:

0 PIN_FLD_PARAMS ARRAY [4] allocated 4, used 4
1    PIN_FLD_DESCR STR [0] "Parameter to indicate whether to generate epsilon journal and delta for item"
1    PIN_FLD_PARAM_NAME STR [0] "generate_journal_epsilon"
1    PIN_FLD_PARAM_TYPE INT [0] 1
1    PIN_FLD_PARAM_VALUE STR [0] "0" ----> change this to "1"


2. Restart CM.

3. Create a parent account and non-paying child account on Nov 10, DOM = 10.
4. Move PVT to Dec 10 (or any date pass Dec 10), run billing from testnap giving the following
input flist:

# PCM_OP_BILL_MAKE_BILL
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 9978431 0
0 PIN_FLD_END_T TSTAMP [0] (1197262805) Mon Dec 10 00:00:05 2007
0 PIN_FLD_PROGRAM_NAME STR [0] "nap_test"
0 PIN_FLD_BILLINFO_OBJ POID [0] 0.0.0.1 /billinfo 63672865 0

 

Note:

The /account and /billinfo object is for the parent account.
Changing the END_T to after Dec 10 results the same.

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