Wednesday, February 4, 2009

How to Enable a Customized button on an Applet?

Applets (Form applet / List applet) in Siebel are so robust in nature, that apart from using vanilla functionalities, user can also invoke its customized process/functionalities. And the very simple way is to use a Customized button on the applet with the proper caption, so that when user clicks on the button, the respective process gets start.

So, whenever there is a requirement to put a Customized button on any applet, it is required to enable that button so that user can click on it. Siebel provides various ways to enable a button on any applet, today we will talk about all those ways :

a) PreCanInvoke Event Script

b) Named Method n : Applet User Property

c) "EventMethod" methods.

d) "CanInvokeMethod" : Applet User Property (Only used in Siebel 8.0 and above)

All the above listed ways are serving the same purpose i.e. enable a button on applet UI. Lets see in detail, how each one of them works. Lets assume the method being invoked by button click is : "siebelmantratestmethod".

1. First Method - PreCanInvoke Event Script



if (MethodName == "siebelmantratestmethod")

{

CanInvoke = "True";

return (CancelOperation);

}

2. Second Method - Named Method n : Applet User Property



Create an applet user property with the following details :

Name : Named Method 1: siebelmantratestmethod

Value : 'INVOKE', 'siebelmantratestmethod'

3. Third Method - "EventMethod" methods



a) No need to create an user property.

b) No need to write script on PreCanInvoke event

c) Just prefix "EventMethod" with the name of the "Method Invoked" (property of the control).

Method Invoked = EventMethodsiebelmantratestmethod

4. Fourth Method - "CanInvokeMethod" applet user property (Only available in Siebel 8.0 and above)



Create an applet user user property with the following details :

Name = CanInvokeMethod: siebelmantratestmethod

Value = TRUE


Points to be noted :

a) PreCanInvoke event script should be avoided as much as we can. The only scenario in which we need to write code in PreCanInvoke event is "Conditional" enabling/disabling of button.

b) EventMethod and NamedMethod are the mostly used ways and recommended ways for enabling the button. I am still not sure what is difference between the two. If you know about this, your comments are most welcome.

c) CanInvokeMethod - applet user property gives us the advantage of conditionally enabling of a button. But only available in Siebel 8.0 and above.

.

13 comments:

  1. hai gaurav,iam vishnu this is query that when we copy buscomponent then child values mvl are not copied to copy that we use deep copy and deep delete user prop please can you explain this scenerio how can we that

    ReplyDelete
  2. and thank you very much advanced and i faced one interview question ,in picklist static....
    that when we choose child field value then parent parent field value is populated
    that is when we select a city then country is populated is it we can do through configuration
    plese give me ans

    ReplyDelete
  3. when we copy buscomp then child values mvl why not copied and what about joins explain this scenerion

    ReplyDelete
  4. Thank you gaurav iam very thankful for your contribution.

    ReplyDelete
  5. Hai gaurav, back i want to know which user prop that we will work mainly . please give such important techniques so we can understand on real time situations

    ReplyDelete
  6. Hai gaurav thank you for contributing this blog

    ReplyDelete
  7. thank for ur wonder ful solutions

    ReplyDelete
  8. Thanks everybody for reading and commenting !!!
    Your valuable feedbacks are always welcome !!! Keep commenting!!

    ReplyDelete
  9. @Vishnu : Please refer the below post for your answer and search for : "How to create a Constraint PickList"

    http://siebelmantra.blogspot.com/search/label/Configuration

    ReplyDelete
  10. Java seems to run perfectly fine in a browser, and it does, but many people do not realize that the browser is utilizing the Java Virtual Machine (JVM). Java applets provide interactive features, such as animation, calculations and other high level functions, to web applications that cannot be provided by HTML. These apps are embedded into the web pages and run on the user's computer, instead of the server's computer.

    ReplyDelete
  11. Thankyou for the information 8GB SD Karte !!

    ReplyDelete
  12. Hi, dis is sravan, can u tell me the use of "Admin DrillDown" applet user property

    ReplyDelete