Enable Script Assist

July 4, 2007 at 8:32 am 5 comments

Siebel and 7.8.2 introduced a new eScript engine called the ST eScript engine. The engine supports strong typing, which offers performance improvements at the cost of offending some weak-typing-fundamentalists. Even without rewriting script to define your variables, the new engine is supposed to offer performance and scalability advantages over the old T-eScript engine.

More importantly for the day-to-day life of a hard-coding Siebel developer, the new engine (finally!) offers method listing (known elsewhere as ‘typedown’). This is the feature common to all modern IDEs that pops up a list of child methods of a known-type object, so that the poor developer doesn’t have to remember the precise format of ‘PropertySet.InsertChildAt’. One of those little modern innovations that lets developers get on with concentrating on the flow of their script, rather than the irrelevancies of syntax. Now, Siebel’s implementation is hardly Visual Studio IntelliSense, but it’s useful nonetheless.

To switch on method listing, go to View > Options in Tools, then the Scripting tab, and tick the ‘Enable Method Listing’ checkbox: the associated IDE-improvements ‘Enable Auto Complete’, ‘Enable Warnings’ and ‘Deduce Types’ are also worth having. If you can set all these flags then you’re good to go.

If these settings are all disabled, then you’re not using ST eScript engine. This is an enterprise-wide setting that you might have to sell. Details of the whys and hows are on SupportWeb. In brief: for 7.8 & 8, set the System Preference ‘Enable ST Script Engine’ to TRUE, for, change your cfg file to set EnableCLIScripting to TRUE.


Entry filed under: Scripting, Siebel.

Navigating through the history thread Custom Popup Applets


  • 1. Jake  |  August 28, 2007 at 9:31 pm

    We noticed a *huge* performance impact when the method listing and autocomplete options were enabled on scripted BCs in v8 – to the point that we had to turn them off. Hopefully they resolve that soon – it looked nifty.

  • 2. stuandgravy  |  August 31, 2007 at 11:08 am

    Interesting. I’ve seen some performance impact on Tools, but only an acceptable trade-off.

  • 3. Noone  |  October 20, 2007 at 6:18 am

    The 8.0 ScriptAssist performance degredation is fixed. It would be visible if you write over
    few hundred lines of code that accessed certain OM methods. Nevertheless, it was fixed few weeks ago
    and should be available as a QF and in the FixPacks. Now most operations are almost instantanous.
    Even excessively large scripts (tested with 23K lines of customer code) now takes
    an instant during editing.

    Please note that there are very valuable 8.0 scripting improvements.
    1- Repository based ScriptAssist and compilation support. Accelerates development and upgrade.
    Eg:If you type
    var oSvc = TheApplication.GetService (
    ScriptAsist displays the list of services (and this appliies to all similar functions,
    GetBusObject, GetBusComp, SetFieldValue etc).
    2- Fix & Go debugging: Greatly accelerates dbugging by eliminating .srf compilation. You make changes to the script
    and when you save it it applies immediately. You dont need to restart the client.
    3- Services as Script libraries: Enables modular development and upgrade, accelerates development.
    You can now see a script method on a Service via ScriptAssist and directly call it (w/o InvokeMethod).
    Suppose you have a method on Service Service1
    function my_concat (left : chars, right : chars) : chars
    var sReturns : chars = left + “_” + right;
    Then you cann call this method from another place like this.
    var oSvc = TheApplication ().GetService (“Service1”);
    var sConcat : charr = oSvc.my_concat (“Hello”, “World”)
    Thge ScriptAssist will also display that function in the drop down.

    4- There is also an upcoming 8.1 feature, Script Performance Profiler.
    It is a tree based profiler that shows the events/methods call tree. You can drill into
    and see the call count, min/max time etc for each function. You can even enable line
    profiling and see the timing information for individual lines.

  • 4. More on Script Assist « Notes on Siebel  |  October 29, 2007 at 9:30 am

    […] 29, 2007 A great update on the Script Assist functionality I mentioned a while back. In a comment on my original post, Jake pointed out a […]

  • […] came to know about it few days ago from a called “Notes on Siebel“ and this is what it had: Siebel and 7.8.2 introduced a new eScript engine called the […]


%d bloggers like this: