My Oracle Support Banner

Custom Attribute In Loyalty Has Wrong Value (Doc ID 2058155.1)

Last updated on OCTOBER 06, 2021

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.

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




To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.