Calling Siebel business services in standard interactivity mode is different from that of calling or executing business services in high interactivity mode as all the objects will not be available standard interactivity mode. Browser scripts are converted into java scripts and executed in browser. Below techniques are used to call business services in SI mode.
- Browser Script executes in and is interpreted by the browser. Browser Scripts are written in JavaScript and interact with the Document Object Model (DOM) as well as with the Siebel Object Model available in the browser through the Browser Interaction Manager.
- The supported DOM Events for High Interactivity Mode and Standard Interactivity mode are different for the same control for e.g for a Minibutton, in High Interactivity Mode, OnFocus and OnBlur events are supported while in Standard Interactivity mode OnFocus (Base/Edit)
- OnBlur (Base/Edit)
- OnMouseOut (Base/Edit)
- OnMouseOver (Base/Edit)
- OnClick (Base/Edit) events are supported.
- Our objective is to call the Business Service at the trigger of onclick event but onclick event is not supported in High Interactivity mode, to associate a script with the control_OnClick event (High Interactivity mode only), use the Applet_PreInvokeMethod event associated with the applet.
- In Standrad Interactivity mode, the onclick event is available for all modes (Base/Edit/Edit List etc.) but the scripting code should be written corresponding to the mode in which applet is viewed otherwise the code will not be invoked.
- High Interactivity mode applications have access to Siebel objects like TheApplication(), Applet, BusComp, etc. so a Business Service running on the server can be easily invoked with the help of these objects, however Standard Interactivity mode applications do not have access to Siebel objects so in order to invoke a business service a reference to Seibel application can be obtained by creating a new ActiveXObject in the following manner
- var SiebelApp = new ActiveXObject("TWSiebel.SiebelWebApplication.1");
- However, currently this code is working for Siebel sever hosted on Windows platform only; we need to figure out how to make it work for Siebel server hosted on other OS like UNIX, Solaris etc.