Siebel Object Interfaces Reference > About Object Interfaces and the Programming Environment >

About the Siebel Programming Environment


This topic describes the Siebel programming environment.

Programming Languages

You can use the following programming languages to access object interface methods and object interface events:

  • Siebel VB (Siebel Visual Basic). A programming language that is syntactically and semantically compatible with Microsoft Visual Basic. It includes an editor, debugger, interpreter, and compiler. It runs only on the Windows operating system.
  • Siebel eScript. A programming language that is syntactically and semantically compatible with JavaScript. It uses the same tools that Siebel VB uses. Siebel eScript runs on the Windows and UNIX operating systems.

For more information, see Using Siebel Visual Basic and Siebel eScript.

Server Script

A Server Script is a type of script that the Siebel Server interprets and runs. You can use the following scripting languages in a Server Script:

  • Siebel VB. Siebel VB uses most of the same commands and standards as Microsoft Visual Basic, so you can customize your Siebel application and reduce training costs. Siebel CRM supports Siebel VB only on the Microsoft Windows operating system.
  • Siebel eScript. Siebel eScript uses most of the same commands and standards as JavaScript, so it provides you the same advantages in an alternative language. You can use Siebel eScript on all operating systems that Siebel CRM supports.

For more information, see Using Siebel Visual Basic and Siebel eScript.

Browser Script

A Browser Script is a type of script that the browser interprets and runs. It interacts with the Document Object Model and with the Siebel Object Model in the browser through the Browser Interaction Manager. You write Browser Script in JavaScript. You can script the behavior of Siebel events and the browser events that the Document Object Model makes available. The Document Object Models for Internet Explorer and Netscape Navigator are different.

You can use Browser Script only with a Siebel application that runs in high interactivity mode. The only exception is if you script a control event that you use with the Browser Document Object Siebel Model. Siebel CRM version 7 introduced Browser Script. For more information, see Document Object Model Events You Can Use.

Do not use Browser Script to manipulate the location of a frame or a form in Siebel CRM because this configuration causes Siebel CRM to load a new page. This configuration is a violation of preferred security practices, so the result is a permission denied error.

A high interactivity Siebel application can contain a standard interactivity view. For example, the Home Page view or the Dashboard view. If the Siebel application uses high interactivity or standard interactivity, then you cannot use Browser Script on an applet in these views. Instead, the Siebel application calls the WebApplet_ShowControl Server Script that resides on the applet.

For more information, see Browser Script Quick Reference. For information about creating Browser Script, see Configuring Siebel Business Applications.

Siebel Script Editor

The Siebel Script Editor is an integrated editor that you can use to create, view, edit, and save custom code. It includes the Script Assist code editor. This editor includes the following features to help reduce errors when you develop a script:

  • Autocomplete.
  • Autoindentation.
  • A list of object interface methods.
  • Method signature capabilities. Some methods that the Script Assist editor lists include the input parameter names and types, outputs from the method, and the method type. For example, if a method returns chars, then it lists the following term: chars.

Siebel CRM version 7.8 introduced Script Assist. For more information, see Using Siebel Tools.

Siebel Debugger

The Siebel Debugger is a tool that helps you detect errors that occur in the code of a Siebel programming language. It does not help you detect errors that occur outside of the context of the code. You can configure Siebel CRM to start the Siebel Debugger automatically from a Siebel application if a run-time error occurs. You can also start the debugger from the Debug toolbar or the Debug menu in Siebel Tools. For more information, see Using Siebel Tools.

Siebel Compiler and Run-Time Engine

The Siebel Compiler and Run-Time Engine is a nonvisual component of a Siebel programming language that compiles and runs custom code. It is similar to Microsoft's Visual Basic Language Interpreter. Siebel CRM compiles Siebel code and stores it in the SRF file.

You can click the Compile icon on the Debugger toolbar in Siebel Tools to start the Siebel Compiler and Run-Time Engine. You can also start it if you compile a project that contains an object definition that is associated with a Siebel script. The Siebel Compiler and Run-Time Engine do not include a user interface. The compiler compiles the custom code, and then returns a message that indicates success or failure.

Compilation Order

The Siebel Compiler compiles Siebel VB functions and procedures in alphabetical order as they occur in the object definition. If a function or procedure calls another function or procedure that is not defined, then the compiler creates an error message that is similar to the following:

function_name Is An Unknown Function

To avoid this error, you can use the Declare statement to declare the function or procedure in the declarations section of the general section.

Siebel eScript does not require you to declare a function before you use it.

For more information, see Siebel VB Language Reference.

ST eScript Engine

The ST eScript engine is available in Siebel CRM version 7.8 and later. It is the default Siebel eScript scripting engine in Siebel CRM version 8.0 and later. It allows you to use strongly typed objects that are compliant with the ECMAScript edition 4 specification. It also provides early and late binding. For information about:

  • Binding, see About Early and Late Binding.
  • The differences that exist between the ST eScript engine and the T engine, see Siebel eScript Language Reference
  • Using the ST engine, see Using Siebel Tools.
About Early and Late Binding

Early binding occurs if you bind a specific object instance to a variable. The following code binds an object to a variable at design time. It is an example of early binding:

var lo_bo = TheApplication().GetBusObject("Account");

Late binding occurs if you bind an object to a variable only at run time. The following code is an example of late binding:

if (TheApplication().ActiveBusObject().Name() == "Account")
var ls_bo_name = TheApplication().ActiveBusObject().Name();

This late binding code does not specify a specific object. The compiler cannot identify this object and it cannot identify that the Name method is part of the object. Siebel CRM can only bind this object to a variable at run time.

Siebel Script Profiler

The Siebel Script Profiler is a tool that gathers and displays data for the scripts that Siebel CRM runs when you start a Siebel application in Debug mode from Siebel Tools. Siebel Tools displays the profiler data in a window that is similar to the Watch window. It automatically updates information in this window while a script runs in the Siebel application.

The Script Profiler includes the following features:

  • Tree view that displays how the script runs
  • Allows you to profile functions and profile lines of chosen functions
  • Allows you to use the Siebel Debugger and Script Profiler at the same time
  • Allows you to view the compilation time that the script requires to run

You can use this data to do the following work:

  • Monitor the performance of a script.
  • Identify performance bottlenecks.
  • Compare profile data with previous script runs.

You can use the Script Profiler only with the ST eScript Engine.

For more information, see Using Siebel Tools.

Siebel Object Interfaces Reference Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.