EVAL/EBAL Expressions Are Not Considering The Scale
Last updated on JULY 16, 2018
Applies to:Oracle Communications Billing and Revenue Management - Version 22.214.171.124.0 to 126.96.36.199.1 [Release 7.3.0]
Information in this document applies to any platform.
The scale value is not considered when using EVAL or EBAL expression in discount engine.
The full discount is always applied regardless the fact that the customer purchases this discount in the middle of billing period.
Steps To Reproduce
1. On Oct 8, 2003, created account with product with DOM = 25
2. Scale = 0.566666 (17 days/30 days for October) * 15.0422 = Euro 8.52 - balance in progress after account creation
3. And configure "DISCOUNT" ERA for this account to have ERA value for 2.25.
2 PIN_FLD_LABEL STR  "DISCOUNT"
2 PIN_FLD_NAME STR  "Discount"
2 PIN_FLD_DATA_ARRAY ARRAY  allocated 20, used 2
3 PIN_FLD_VALUE STR  "2.25"
3 PIN_FLD_NAME STR  "DSC_ABSOL"
4. On Oct 8, 2003, purchased discount deal (this discount deal is expecting to grant the discount on ERA value * scale):
Details of the Balance Impact configuration:
Impact Prorate Beat: yes
Impact Units: -1
Base Expression: EVAL("getOXXXX") ==> getOXXXX is the customized iScript, which will return ERA value
Applied To: Event Owner
Cycle Event Proration:
Prorate Purchase: Prorate Discount
Prorate Cancel: Prorate Discount
Expected behavior of discount
Discount Scale = 0.566666 (17 days/30 days for October) * (-2.25) = (-1.2749985)
Discount Scale = 1 * (-2.25) = - 2.25
A fragment from the Discount trace shows:
computeStepValues: stepC/stepQ: 11.1603/1.00000000
BASE expr: EVAL("getOXXXX"), result: 2.25
computeDiscount(): grant absolute proratedbeat discount of -2.25
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