Multiple Popup Applets-Siebel eScript

This article has been submitted by Atit Shah.


Requirement:

There are two buttons on an List Applet: Button1 and Button2. We need to open a two different popup applet on click of each of these buttons.Of these popup applets, o

text ur ex back. text your man back how to get you ex boyfriend back text your ex back freeHow To Win Your Girlfriend Back

ne is based on a normal BC and other on a VBC. The enabling/disabling conditions of these buttons are different.

Vanilla Popup Configuration

Before starting with the solution, let us briefly go through the Normal Popup Applet Configuration.

For the button, select the method name as “ShowPopup” and create the following control user properties:

  1. Name: Mode                       Value: Edit
  2. Name: Popup                      Value: Popup Applet Name
  3. Name: Popup Dimension     Value: 500×800

Problem:

In the normal popup applet configuration, the vanilla ShowPopup method is used. So it would be difficult to implement above requirement using vanilla popup method because the same method will be invoked for both the buttons.

Custom Solution:

So in this scenario, we will perform the following steps:-

  1. Create two different methods behind the buttons (say Method1 and Method2)
  2. Invoke the popup applet using the “LoadPopupApplet” method of “SLM Save List Service” BS either using Named Method user property or script.

Named Method Approach:

 

Named Method: Method1

“INVOKESVC”, “SLM Save List Service”, “LoadPopupApplet”, “‘Applet Mode'”, “6”, “‘Applet Name'”, “‘Popup Applet 1′”, “‘Applet Width'”, “600”, “‘Applet Height'”, “400”

 

eScript Approach:

//Applet or BC PreInvokeMethod

if(MethodName == “Method2”){

var BSPopup = TheApplication().GetService(“SLM Save List Service”);

var PSInput = TheApplication().NewPropertySet();

var PSOutput = TheApplication().NewPropertySet();

PSInput.SetProperty(“Applet Mode”,”6″);//Edit List Mode

PSInput.SetProperty(“Applet Name”,”Popup Applet 2″);

PSInput.SetProperty(“Applet Width”,”600″);

PSInput.SetProperty(“Applet Height”,”400″);

BSPopup.InvokeMethod(“LoadPopupApplet”,PSInput,PSOutput);

return (CancelOperation);

}

Here the LoadPopupApplet method in turn calls the vanilla ShowPopup method.

 

Notes on Popup Applet configuration:

  • Class of the popup applet can be “CSSSWEFrameListPopup“,”CSSFramePopupFile“etc.
  • Applet Type should be “Pick List” (ideally) or “Standard”
  • For popup applets based on VBC, the VBC should be added in the BO corresponding to the view.

 

Invoking a Popup Applet from Menu Item

In the Applet Method’s Menu Item, find the Command object’s name and configure the following in the Command Object:

  • HTML Popup Dimension: 320×160
  • Method: GotoApplet
  • Method Argument: Popup Applet Name
  • Show Popup: Y

 


This is also possible using browser script, you can see the solution with browser script at Impossible Siebel. I have not tried to implement the solution myself, in case if anybody tries and finds any issues please feel free to post here. I will try it when I get time and post my updates here.

5 Responses to Multiple Popup Applets-Siebel eScript

  1. Atit,
    This only works with a button right… how about opening a pop up applet with change in the field value.. I tried via server script. On the applet script it did open up a pop up applet, but it did not satisfy my criteria…but when i tried it on bc level scripting…then the popup kept on spinning for hrs until the system killed the session.

Leave a Reply

Contribute