No Charges Due To Multiple SET_PRODINFO To Set CYCLE_END_T On Cycle Arrear Product In Same Bill Period. (Doc ID 1332530.1)

Last updated on SEPTEMBER 26, 2016

Applies to:

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

Symptoms

Multiple SET_PRODINFO to set the CYCLE_END_T on cycle arrear product in same billing period will not apply charges.

Steps to reproduce:
-----------------------
1)  Create an account on June 1, 2009.

2)  Purchase a Cycle Arrear product with CYCLE_END_T set to July 6, 2009.
Time offset for CYCLE_END_T can be set as shown in the below flist:
(If we pass 3024000, it will added to the the current pvt(i,e Jun 01, 2009) and give us July 6, 2009
From Documentation: Cycle fee end time - seconds into the future relative to purchase time that cycle fees are no longer applied for this product (0 means always applied).)

D Mon Jun 01 00:00:14 2009 xxxx cm:10194 fm_subscription_purchase_product.c:210
           op_subscription_purchase_product input flist
:
# number of field entries allocated 20, used 4
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 39337523955 0
0 PIN_FLD_PROGRAM_NAME STR [0] "Test Opcode."
0 PIN_FLD_END_T TSTAMP [0] (1243807200) Mon Jun 01 00:00:00 2009
0 PIN_FLD_PRODUCTS ARRAY [0] allocated 23, used 23
1     PIN_FLD_CYCLE_DISCOUNT DECIMAL [0] 0
1     PIN_FLD_CYCLE_END_DETAILS INT [0] 1026
1     PIN_FLD_CYCLE_END_TTSTAMP [0] (3024000) Thu Feb 05 01:00:00 1970
1     PIN_FLD_CYCLE_START_DETAILS INT [0] 1025
1     PIN_FLD_CYCLE_START_T TSTAMP [0] (0) <null>
1     PIN_FLD_PRODUCT_OBJ POID [0] 0.0.0.1 /product 39334656948 0
1     PIN_FLD_PURCHASE_DISCOUNT DECIMAL [0] 0
1     PIN_FLD_PURCHASE_END_DETAILS INT [0] 1026
1     PIN_FLD_PURCHASE_END_T TSTAMP [0] (3024000) Thu Feb 05 01:00:00 1970
1     PIN_FLD_PURCHASE_START_DETAILS INT [0] 1025
1     PIN_FLD_PURCHASE_START_T TSTAMP [0] (0) <null>
1     PIN_FLD_QUANTITY DECIMAL [0] 1
1     PIN_FLD_STATUS ENUM [0] 1
1     PIN_FLD_STATUS_FLAGS INT [0] 0
1     PIN_FLD_USAGE_DISCOUNT DECIMAL [0] 0
1     PIN_FLD_USAGE_END_DETAILS INT [0] 1026
1     PIN_FLD_USAGE_END_T TSTAMP [0] (3024000) Thu Feb 05 01:00:00 1970
1     PIN_FLD_USAGE_START_DETAILS INT [0] 1025
1     PIN_FLD_USAGE_START_T TSTAMP [0] (0) <null>
1     PIN_FLD_PACKAGE_ID INT [0] 1000
1     PIN_FLD_DEAL_OBJ POID [0] 0.0.0.1 /deal 39334654836 0
1     PIN_FLD_PLAN_OBJ POID [0] NULL poid pointer
1     PIN_FLD_FEE_FLAG INT [0] 1


3) On June 26, 2009, execute the PCM_OP_SUBSCRIPTION_SET_PRODINFO opcode to change CYCLE_END_T to July 2, 2009, which is as shown in the flist as below:

            op_subscription_set_prodinfo input flist
# number of field entries allocated 20, used 4
0 PIN_FLD_PRODUCTS ARRAY [0] allocated 20, used 5
1     PIN_FLD_PRODUCT_OBJ POID [0] 0.0.0.1 /product 39334656948 0
1     PIN_FLD_OFFERING_OBJ POID [0] 0.0.0.1 /purchased_product 39337519129 1
1     PIN_FLD_PURCHASE_END_T TSTAMP [0] (1246485600) Thu Jul 02 00:00:00 2009
1     PIN_FLD_CYCLE_END_T TSTAMP [0] (1246485600) Thu Jul 02 00:00:00 2009
1     PIN_FLD_USAGE_END_T TSTAMP [0] (1246485600) Thu Jul 02 00:00:00 2009
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 39337523955 14
0 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.0 0 0
0 PIN_FLD_PROGRAM_NAME STR [0] "TEST"


Afterexecuting PCM_OP_SUBSCRIPTION_SET_PRODINFO opcode in BRM 7.4, the CHARGED_FROM and CHARGED_TO become the same : July 02, 2009. It is supposed to keep the CHARGED_FROM and CHARGED_TO to June 1, 2009 and July 2, 2009(same as CYCLE_END_T) respectively.

4) On July 6, 2009,  run Billing.


Results:
---------
With the BRM 7.3, it gives the correct Billing charge.
With the BRM 7.4, it gives $0 charged, which is incorrect (missing billing charge for the current month).

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