Custom Attribute In Loyalty Has Wrong Value

(Doc ID 2058155.1)

Last updated on APRIL 25, 2017

Applies to:

Siebel Loyalty Engine - Version [IP2014] and later
Information in this document applies to any platform.


On : [IP2014] version, Loyalty

Using custom attribute in promotion while processing large amounts of data, 1-2% of processed transactions have incorrect accrualed values.

Note: this can be reproduced when the number of processing threads has a high value (LOYEngineNumberofTasks = 10 or more),  so this seem to confirm that the problem is due to memory sharing by the task.

Accrued values should be according to the custom attribute

The issue can be reproduced at will with the following steps:
1)Setup a new custom attribute to multiply transactions points with 3
A) Create new BS or use "LOY Customer Action Business Service" with Class: CSSService
B) Go to Business Service Method and create new method : Multiply
C) Go to Business Service Server Script and create new record with :
-Name : Service_PreInvokeMethod
-Program Language : JS
-Script :

2)In Loyalty Program Administration > Program Level Attributes > Custom Attributes create a new custom attribute
-Name : Test1CustAttr
-Data Type: Number
-Default Value: 0
-Service Name :"LOY Customer Action Business Service" or use the newly created BS in 1)A)
-Method: Multiply
-Display to User : Active
- last place tick to Activate the record.

3)Create Promotion that uses this custom attribute and applies to Accrual-Product. This is defined with with 1 rule, no criteria,  1 or 2 actions based on the custom attribute defined Test1CustAttr, to assign points

4)Process transactions with LoyBatchEngine

The issue has the following business impact:
Due to this issue, the accrued value is not correct.


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