Pipeline Is Not Updating The Credit Profile Balance Group Non Currency Resource Id (Doc ID 1506670.1)

Last updated on JULY 27, 2015

Applies to:

Oracle Communications Billing and Revenue Management - Version 7.4.0.0.0 to 7.5.0.0.0 [Release 7.4.0 to 7.5.0]
Information in this document applies to any platform.

Symptoms

There is a customer account which has a NCR resource id [NCR is not added to account via product] but no sub balance bucket associated to it  (sub-bal will get added/attached via discount aggregator after 1st cdr processed ) and the credit profile is set on this non currency resource id to generate alerts. When this change [credit profile setting] is sent to the pipeline, the pipeline is not adding/updating the credit profile to this balance group non currency resource id in a correct way. it was set to 0. When we start aggregating with discount to this non currency, notifications are not generated from pipeline when proper thresholds are breached.


However in the above case works fine., if pipeline is restarted. The credit profile is properly updated and notifications are generated from pipeline correctly.


ACTUAL BEHAVIOR
---------------
No notifications are not generated from pipeline when proper thresholds are breached.

EXPECTED BEHAVIOR
-----------------------
Notifications should generated from pipeline when thresholds are breached.

STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1. Create a product with gsm/telephony service with delayed gsm event.
2. create a discount model like this [ its aggregator]
  Discont trigger =1<0
  Discount Rule
  Drum 1, teried, charge.
  Discount impact TotalQ, -100%, to a NRC [ 1000091] and select impact "current billing cycle"
3. Create a deal and add both product and deal, create plan.
4. Create a account for the above plan.
5. Set credit threshold like below

nap(11579)> r dv 1
nap(11579)> d 1
#PCM_OP_BILL_SET_LIMIT_AND_CR
# number of field entries allocated 20, used 7
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 8822527 0
0 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 8825344 0
0 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group 8822783 0
0 PIN_FLD_PROGRAM_NAME STR [0] "GP"
0 PIN_FLD_END_T TSTAMP [0] (1347107421) Sat Sep 08 12:30:21 2012
0 PIN_FLD_START_T TSTAMP [0] (1347107421) Sat Sep 08 12:30:21 2012
0 PIN_FLD_LIMIT ARRAY [1000091] allocated 20, used 5
1 PIN_FLD_CREDIT_LIMIT DECIMAL [0] 0
1 PIN_FLD_CREDIT_FLOOR DECIMAL [0] -3000
1 PIN_FLD_CREDIT_THRESHOLDS INT [0] 1048575
1 PIN_FLD_THRESHOLDS ARRAY [0] allocated 20, used 1
2 PIN_FLD_THRESHOLD INT [0] -1000
1 PIN_FLD_THRESHOLDS ARRAY [1] allocated 20, used 1
2 PIN_FLD_THRESHOLD INT [0] -2500
nap(11579)> xop PCM_OP_BILL_SET_LIMIT_AND_CR 0 1
xop: opcode 948, flags 0
# number of field entries allocated 20, used 2
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 8822527 0
0 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 3
1 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/gsm/telephony 8825344 0
1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 8822527 0
1 PIN_FLD_POID POID [0] 0.0.0.1 /event/billing/limit 274279772627313536 0
nap(11579)>

6. you can check the listenerLog and process log, all shows fine.
e.g ListenerLog
# number of field entries allocated 20, used 5
0 PIN_FLD_BAL_GRP_OBJ POID [0] 0.0.0.1 /balance_group 8822783 1
0 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 8822527 0
0 PIN_FLD_STRING STR [0] "ModifyBalanceGroup"
0 PIN_FLD_END_T TSTAMP [0] (1347107421) Sat Sep 08 12:30:21 2012
0 PIN_FLD_BALANCES ARRAY [1000091] allocated 20, used 1
1 PIN_FLD_CREDIT_PROFILE INT [0] 4


7. Take the balance memory dump via semaphore [ifw.DataPool.BalanceDataModule.Module.DataFileName=cust.data]and check the CreditProfile value for NCR [1000091], no info is there.

Memory dump
-----------------------------------------------------------
Balance Group: Id = 8822783, Version = 1
  AccountId = 8822527, batch_cntr = 0
  ObjectCacheType = 0
-----------------------------------------------------------

8. Pass cdr with 600 secs to breach credit limit, no xml file generated.

Memory dump

-----------------------------------------------------------
Balance Group: Id = 8822783, Version = 1
  AccountId = 8822527, batch_cntr = 1
  ObjectCacheType = 0
-----------------------------------------------------------
Balance Element: ResourceId: 1000091 | Consumption Rule: 6 | Credit Profile: 0
SubBalances:
recId | validFrom | validTo | balance | nextBal | contributor | rolloverData | grantor | validFromDetail | validToDet
ail
  1 | 2012/09/08 00:00:00 | 2012/10/08 00:00:00 | -600 | 0.0 | * | 0 | 1 /purchased_discount 8825600 0 | 0 | 0
  
 See here the "Credit Profile: 0" and expected is 4.
 
 9. Restart the pipeline and take the memory dump
  
  
-----------------------------------------------------------
Balance Group: Id = 8822783, Version = 2
AccountId = 8822527, batch_cntr = 0
ObjectCacheType = 0
-----------------------------------------------------------
Balance Element: ResourceId: 1000091 | Consumption Rule: 6 | Credit Profile: 4
Now "Credit Profile: 4" showing correctly

10. Pass cdr with 6000 secs and able to see the xml file getting created.

Memory dump.
-----------------------------------------------------------
Balance Group: Id = 8822783, Version = 2
  AccountId = 8822527, batch_cntr = 1
  ObjectCacheType = 0
-----------------------------------------------------------
Balance Element: ResourceId: 1000091 | Consumption Rule: 6 | Credit Profile: 4
SubBalances:
recId | validFrom | validTo | balance | nextBal | contributor | rolloverData | grantor | validFromDetail | validToDet
ail
  1 | 2012/09/08 00:00:00 | 2012/10/08 00:00:00 | -600 | 0.0 | * | 0 | 1 /purchased_discount 8825600 0 | 0 | 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