Object Passing by Reference in Siebel EScript Server Scripts
(Doc ID 2640246.1)
Last updated on FEBRUARY 24, 2020
Applies to:Siebel CRM - Version 15.18 [IP2015] and later
Information in this document applies to any platform.
When there is a lot of custom eScript code, it requires a lot of effort to change custom functionality.
In the KM Document - "Siebel Scripting Best Practices (Doc ID 477766.1)" there is an attachment "Siebel Scripting Best Practices Resource Document" that has detailed information regarding scripting best practices.
Below are two quotes from scripting best practices:
A) If the same script is seen in many business components with only slight
differences, move the script to a business service and parameterize it.
B) If the method controls the behavior of an applet, for example, if it is enabling
a button or hiding/showing list columns or controls, write the script at the
applet server level.
MOSC discussion "Siebel eScript passing object by reference" has information how it is possible to pass objects by reference in Siebel Server Scripts.
MOSC discussion recommendation was not to pass object by reference, but to use documented methods ActiveBusComp() or ActiveBusObject().
However, those methods do not satisfy requirements because of following downsides:
- You do not have access to active applet, for example you can't InvokeMethod for active applet
- Calling ActiveBusObject from non-UI events is not supported (Doc ID 2376354.1)
1. Could a Siebel change request be proposed to document on how to pass object by reference in server scripts?
This functionality is a crucial tool in case there are many very similar business components, applets and this helps to reduce Siebel eScript code "Duplication" and "Volume".
Analyzed and tested this functionality and don't see any reason why this undocumented functionality would not work.
Tested this functionality with Siebel version 15.18 in High Interactivity mode and Open UI.
Looking for this functionality to be validated by Siebel engineering team and if so, would this functionality be included and tested in Siebel future releases?
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