Discount Match Factor Is Populated With Wrong Value (Doc ID 1117795.1)

Last updated on JULY 24, 2017

Applies to:

Oracle Communications Billing and Revenue Management - Version 7.3.0.0.1 to 7.3.0.0.1 [Release 7.3.0]
HP-UX Itanium

Symptoms

On Oracle Communications Billing and Revenue Management(BRM), 7.3.0.0.1 version, consider the below scenario, where the Account has two discounts that consumes non-currency resource and grant 100% discount. 

Discount Object 1: "CONSO_MOBILE_ZENPL"
Priority : 1000010
Discount mode : 802 - cascade
Discount model selector: "FZENPL""
Non currency resource: 2000010
Discount balance impact: -100% on 978 resource and 100% on 2000010

Discount Object 2: "disountfor2000004 resource"
Priority : 0
Discount mode : 802 - cascade
Discount model associated: "FTF4"
Non currency resource: 2000004
Discount balance impact: -100% on 978 resource and 100% on 2000004

Resource balance:
2000010 : -3480
2000004 : -100
Call duration : 7500

Actual Result:

Here the Discount is correctly calculated for both discounts. But for the first discount (FZENPL) the discount match factor is populated with wrong value “-1” as below.

INTERN_DISC_MATCH_FACTOR: <-1.0> :SET
INTERN_TOTAL_MATCH_FACTOR: <0.464> :SET

However the Discount trace is showing the correct value:

BASE expr: STEPQ, result: 3480.0
computeMatchFactor(): Match Factor: 0.464, Total Discounted Factor: 0.464
computeDiscount(): grant percentage discount of 3480.000

For the second discount every thing is fine. This problem appears only when the call is discounted across bundles. In case the call is partially discounted from single bundle, INTERN_DISC_MATCH_FACTOR is populated correctly.

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