Siebel Scripting, Part One Scripting Concepts: Basics
Introduction
Types of scripts in Siebel Scripting Languages Siebel objects that use scripting Various uses for scripts in Siebel Browser Scripting
Types of Scripts
Server Scripts
Run on the Siebel server Not transferred to user’s machine Siebel VB or eScript
Browser Scripts
Run on user’s PC in browser window Always JavaScript only
Scripting Languages
Siebel VB eScript JavaScript
Siebel VB
Based on VBScript from Microsoft Has special Siebel extensions Includes many Siebel defined objects
e.g.. BusComp, PropertySet
Based on BASIC syntax
eScript
Based on JavaScript Has special Siebel extensions Includes many Siebel defined objects
E.G.. BusComp, PropertySet
Based on C syntax
JavaScript
Used in browser scripts only Only scripting language used in browser scripts Based on C syntax Can use many of the Siebel objects previously mentioned
Siebel Objects That Use Scripts
Applets Business Components Applications (Call Center, Fins, etc) Business Services Views, Screens, Tables, and Other Objects Cannot use Scripts
Scripting In Applets
Server Scripts Browser Scripts Events
E.g.. WebApplet_Load, WebApplet_InvokeMethod
Scripting In Business Components
Server Scripts Browser Scripts Events
E.g.. BusComp_SetFieldValue, BusComp_Query
Scripting In Applications
Server Scripts Browser Scripts Events
E.g.. Application_Start
Objects and functions on application object can be accessed from elsewhere in the system (escript only). E.g.. From an Applet or BusComp
Scripting In Business Services
Server Scripts Browser Scripts Events BS are objects designed for one purpose: holding scripts
Good place to put code you wish to access from various places Many pre-defined BS in system, mostly for EAI
How Scripts Are Used
Applet Buttons Sharing data between objects Enterprise Application Integration (EAI) As an alternative to configuration
Almost anything that can be done with configuration can be done with scripting
Applet Buttons
You can create your own buttons on applets Need script to make them clickable (not grayed out) Need script to do some action when they are clicked
Sharing Data Between Objects
SetSharedGlobal GetSharedGlobal SetProfileAttr GetProfileAttr Use to store data from one object, can be accessed from any object
Enterprise Application Integration (EAI)
Virtual business components (VBC) Parsing and creation of XML files Many built-in business services
Learning EAI is mostly understanding how to use these services
Scripting As An Alternative To Configuration
More flexible than configuration Just because you CAN replicate configuration behavior in script doesn’t necessarily mean that you SHOULD
Scripting something that can be done with configuration should never be the first choice: only if there is a specific reason
Browser Scripting
Browser Scripts are actually run on the client machine- including when using Web Client or Wireless Web Client So, they must be included with the HTML files and pushed to the client machine This makes them Physical UI files And Requires an extra step: genbscript.exe
Generating Browser Scripts
Compiling the repository does not create the necessary UI files for browser scripts to work. Those files need to be in SIEBROOT\siebsrvr\WEBMASTER\ directory For Dev Clients in C:\Program Files\Siebel\7.8\web client\PUBLIC\enu Use genbscript.exe to generate them
genbscript Syntax
genbscript [cfgfile] [destdirectory] Example:
genbscript C:\Progra~1\Siebel\7.8\webcli~1\BIN\ENU\uagent.cfg C:\Progra~1\Siebel\7.8\webcli~1\PUBLIC\enu
genbscript
Alternative Way
In Siebel Tools, select View -> Options Click Scripting Tab Enter Destination Directory into Browser Script Compilation Folder Box Each time you compile, browser scripts will be automatically generated You must still move them to the
Why Browser Scripting?
If Browser scripts require so much more work (not to mention are slower), why use them? Some things can only be done (or only be done well) via browser script
Popup window to client SetRecord Event