Custom Attribute in Loyalty Does not Get Recalculated (Doc ID 1060649.1)

Last updated on MARCH 02, 2017

Applies to:

Siebel Loyalty Engine - Version 8.1 [21039] to 8.1.1.11.8 [IP2013] [Release V8]
Information in this document applies to any platform.

Symptoms

While using Custom Attributes for Loyalty calculations, the processing calls the custom method associated in definition of the Custom Attributes, but the output returned as value of Custom Attribute is not refreshed.

This is the scenario tested:

1) In Loyalty Program Administration > Program Level Attributes > Custom Attributes a custom attribute "Test 01" has to be defined. For this custom attribute, the Method Name is defined as: DetermineBasePoints.

2) Method DetermineBasePoints is added in Business Service (BS) "LOY Customer Action Business Service" that read the points on the transaction level and update the custom attribute with that value.

function DetermineBasePoints(Inputs, Outputs)
{
try
{
var points1 = Inputs.GetProperty ("Transaction.Field.Points";);
Outputs.SetProperty("Field Value",points1);
}
catch(e)
{
TheApplication().RaiseErrorText(e.toString());
}
}


3) Promotion that uses this custom attribute and that applies to Accrual-Product, is defined with with 1 rule, no criteria, just 1 action: to assign points based on the custom attribute defined "Test 01".

4) Following transactions have been processed:
a) 1 transaction with 555 points,
b) 1 transaction with 30 points
c) 1 transaction with 10 points.
By processing each, member gets assigned with 555 points each time instead of (555,30,10).

6) By updating cache at the loyalty program level and then process another transaction, the attribute gets recalculated correctly and the correct number of points assigned.

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