GetFieldValue Method In BusComp_PreGetFieldValue Event Returns Inconsistent Values

(Doc ID 2348010.1)

Last updated on JANUARY 11, 2018

Applies to:

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

Symptoms

Actual behavior:
The calculated field values are not computed / displayed correctly when the record set is more than a page.

Expected behavior:
When records are traversed, the calculated field value should be displayed correctly, irrespective of whether the record set is small or large.

Repro steps:
In Vanilla environment, perform the following customization:
Using Siebel Tools, add this script to Account BC.
function BusComp_PreGetFieldValue (FieldName, &FieldValue)
{
  try
  {
  switch(FieldName)
  {
  case "Name":
  var sType = GetFieldValue("Type");
  if(sType == "Customer")
  {
  FieldValue = "Please call: " + GetFieldValue("Main Phone Number") + " for info.";
  return(CancelOperation);
  }
  break;
  }
  return (ContinueOperation);
  
  }
  catch(e)
  {
  //DebugLog("Error: " + e.toString());
  }
  return (ContinueOperation);
}

Set "Force Active" and "Immediate Post Changes" of "Type" and "Main Phone Number" fields of "Account" BC.
Compile the "Account" BC and launch Siebel Call Center Application.
Navigate to Accounts --> My Accounts screen.
Create several records (15+) populating "Main Phone Number" and setting Type="Customer".
Further, upon scrolling through the records up and down, the "Name" value that is supposed to display like "Please call: 2125551234 for info." doesn't match with the corresponding "Main Phone Number".

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