Skip to main content

How to sort and add search specification in Siebel Applet Load script

Normally we use Search specification filed in Applet List, but sometime we have to add long search expression which Search specification field can not contain (max length is 255 characters).

For that we can add search specification in applet load server scripts.
WebApplet_Load_img
Right click on applet and from menu click on "Edit Server Scripts". From functions list click on "WebApplet_Load".

First get the bussiness component by follow below script
var oBusComp = this.BusComp();

Now add with (The 'with' statement adds the given object to the head of this scope chain during the evaluation of its statement body.) and statement

Add Sort specification as below
SetSortSpec("Created(DESCENDING)");

Now write search specification on the desired fields

for mvl field you need to use "EXISTS".
var Search1 = "EXISTS ([Case Contacts] = '" + case_id + "')"

Using AND/OR you can extend the search specification.
var Search1 = "EXISTS ([Case Contacts] = '" + case_id + "') AND ([ConType] = 'first' OR [ConType] = 'second')";

This search expression can be used with SetSearchExpr Method (SetSearchExpr sets an entire search expression on the business component, rather than setting one search specification per field).

Final code will be like below. Compile and test.

var oBusComp = this.BusComp();

var Search1 = "EXISTS ([Case Contacts] = '" + case_id + "') AND ([ConType] = 'first' OR [ConType] = 'second')";


        with (oBusComp)
        {

                SetSearchExpr(Search1);
                SetSortSpec("Created(DESCENDING)");
                ExecuteQuery(ForwardBackward);
        }
        oBusComp  = null; 

What is difference between SetSearchExpr and SetSearchSpec?

SetSearchExpr sets an entire search expression on the business component, rather than setting one search specification per field.SetSearchSpec sets the search specification for a particular field.

How to add multiple values for single field one expression?

SetSearchExpr("[Id]='a' OR [Id]='b' OR [Id]='c'");

SetSearchSpec("Id", "='a' OR ='b' OR ='c'");

If the existing search specification is not on the same field as the new search specification, then the resultant search specification is a logical AND of the existing and the new search specifications. For example:

SetSearchSpec("Type", "<> 'Renewal'");

SetSearchSpec("Status", "<> 'Sold' AND [Status] <> 'Cancelled' AND [Status] <> 'Renewed'");

Comments

Popular posts from this blog

How to set Profile Attribute in Siebel Workflow

For setting the Profile Attribute in Siebel Workflow, follow below steps: Add Business Service box in workflow. Open Business Service properties. Set  SessionAccessService in Business Service Name. Set  SetProfileAttr in Method Name. Then click on Business Service and set Input Arguments as below: Against Name argument you will add your profile attribute name and against Value argument you will add value for the new profile attribute, it could be from Process Property or Literal.

How to call Popup Applet through Server Script in Siebel

Background: Based on the requirements you need to show data or reports on a popup applet. You can invoke popup applet using workflow (below business service will be used in business service step), applet server script or browser script and using vanilla method and setting field user properties. Procedure: Below is the script for calling popup applet through server script: if (MethodName == "MethodName") { var oServiceAF = TheApplication().GetService("SLM Save List Service"); var inputPropAF = TheApplication().NewPropertySet(); var outputPropAF = TheApplication().NewPropertySet(); inputPropAF.SetProperty("Applet Name","ABC Popup Applet"); inputPropAF.SetProperty("Applet Mode","6"); inputPropAF.SetProperty("Applet Height", "700"); inputPropAF.SetProperty("Applet Width", "700"); oServiceAF.InvokeMethod("LoadPopupApplet", inputPropAF, outputPropAF) return (CancelOperati...

How to create and publish Inbound Web Service in Siebel based on Workflow

Inbound Web Services: The Inbound Web Service allows an external system to call a Siebel published Web Service. You can publish a business service or a business process as a Web Service and generate a Web Service Definition Language (WSDL) file that an external system can import. The Inbound Web Services can only be published from Siebel C using SOAP-RPC binding. Source: Oracle Docs What Is The Difference Between Web Services and APIs? An API is an interface that allows you to build on the data and functionality of another application, while a web service is a network-based resource that fulfills a specific task. Yes, there’s overlap between the two: all web services are APIs, but not all APIs are web services. Both web services and APIs are — at their core — very useful and very much used today. However, it’s the web services associated with SOAP and/or Service Oriented Architecture which are falling out of favor. Source: NordicApis Process: Prepare the workflow which will serve as Si...