Profile Attributes are Allocated Before Scripting Events when Session Timout (Doc ID 2123747.1)

Last updated on APRIL 04, 2016

Applies to:

Siebel CRM - Version 15.4 [IP2015] and later
Information in this document applies to any platform.

Symptoms

On : 15.4 [IP2015] version, System Admin

ACTUAL BEHAVIOR
---------------

While session is timing out, profile attributes are deallocated from memory before all scripting events are executed.

Customer has some validation in PreDeleteRecord event to prevent user from deleting a record for certain status.  Since the profile attribute is cleared unexpectedly during Session Timeout,  the validation in PreDeleteRecord event also fired unexpectedly.


EXPECTED BEHAVIOR
-----------------------
While session is timing out, profile attributes should not be deallocated from memory before all scripting events are executed.



STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1.Add Profile attribute on any BC on NewRecord Event, for example Account
function BusComp_NewRecord ()
{
TheApplication().SetProfileAttr("NewProfAttr","testing");
}

2.Add Trace on PreDeleteRecord Event on same BC.
function BusComp_PreDeleteRecord ()
{
TheApplication().TraceOn("C:\\trace.txt", "Allocation", "All");
TheApplication().Trace("NewProfAttr:"+TheApplication().GetProfileAttr("NewProfAttr"));
return (ContinueOperation);
}

3. Compile on Vanilla SRF and test on server.

4. Create a new Account record, and manually delete writes the trace file with proper value was observed.
5. Create another new Account record but attempted to save with a required field, notice required field error and leave session to time out. This causes the Trace to log the entry as PreDeleteRecord is invoked but notice the value is missing for the Profile Attribute.





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