Friday, June 8, 2012

Siebel Applet User Property

Applet User Property


Disable Buscomp Hierarchy

Let us have a discussion in what scenario we might want to use this User Property.

On some of the business component you would see there is a property defined called Hierarchical Parent Field, like in case of Asset or Line Item BC.

This property maintains the parent child relationship between same kinds of object. Like one asset could be the parent of another and vice versa.

Setting Hierarchical parent Field is a way to let Siebel know the Parent ID of a record and hence maintains a parent chilled relation within a business component context.

However this could cause performance issue as an extra SQL query is fired by Siebel to find the parent asset from all-assets hence it fires additional sub-query with ‘/+ ALL_ROWS*/ hint causing performance. If your configuration does not require this you can suppress BC Hierarchy by setting an applet user property.

Disable Buscomp Hierarchy is that user property that allows you do that.

How can you do this?
Lock the Applet object. Click on Applet User Property child object.
Create a new record. Enter the following, Compile the object and you re done.

And after this configurationally chance if you generate the spool you will see ALL_ROWS*/ hint which was causing performance will not be part of the query and query time has reduced drastically as Siebel did not query all assets for each asset record in order to find the parent of that asset.
This is what Siebel Bookshelf has to say on this user property.
This user property allows you to prevent hierarchical relationships from being displayed in list applets.

Value TRUE or FALSE.

Usage Hierarchical list applets are used to show records that have a hierarchical relationship. The hierarchy is implemented in the parent business component by setting the Hierarchy Parent Field property, and rendered by using icons that appear in the first column of the list applet. For more information on hierarchical list applets, see the topic on specialized behavior supported by Web templates in Configuring Siebel Business Applications.

To disable the rendering of hierarchical relationships in a list applet, add this user property to the applet, with the value TRUE.

 Name: Disable Buscomp Hierarchy

 Value: TRUE

This user property can be found on standard list applets such as Asset Mgmt - Asset List Applet.

Parent Object Type: Applet


Functional Area: Hierarchical list applets

Courtesy: Siebel Bookshelf



Default Focus Applet User Property.

Have you ever observed that for a particular list applet the control is on some particular column?
In some list applet the default control when you land into that page lies in 3rd column and for some it is on the 1st column. Can we set our control to the 5th column of a list applet or to the 4th control of a list applet?

The answer is yes we can and we can do this by setting the user property Default Focus.
There are three user properties to set the default focus.



DefaultFocus_Edit

This applet user property sets the field or control within an applet that receives focus when the applet is in Base, Edit, or Edit List mode.

Value: The name of a field or control on the applet, not enclosed in quotes.

Usage For example, this user property could be set to Last Name to give default focus to the Last Name field on an applet in Edit mode.

If the DefaultFocus_Edit user property is not added to an applet, then no field or control typically is default focus when the applet is in Base, Edit, or Edit List mode.

You can inactivate this user property or modify its value. You can create new instances of this user property, but do not create more than one instance for an applet

DefaultFocus_New


This applet user property sets the field or control within an applet that receives focus when the applet is in New mode.

Value The name of a field or control on the applet, not enclosed in quotes.

Usage For example, this user property could be set to NewRecord to give default focus to the New button on an applet being used to add a new record.

If the DefaultFocus_New user property is not added to an applet, then the first field in the applet typically is default focus when the applet is in New mode.

You can inactivate this user property or modify its value. You can create new instances of this user property, but do not create more than one instance for an applet.

DefaultFocus_Query


This applet user property sets the field or control within an applet that receives focus when the applet is in Query mode.

Value The name of a field or control on the applet, not enclosed in quotes.

Usage For example, this user property could be set to First Name to give default focus to the First Name field on an applet in Query mode.

If the DefaultFocus_Query user property is not added to an applet, then the first field in the applet typically is default focus when the applet is in Query mode.

You can inactivate this user property or modify its value. You can create new instances of this user property, but do not create more than one instance for an applet.





Configuration ReadOnly Fields

How can you make a field read-only?
The first thing that comes into mind is that you can use Read Only property of List Column/ Control to Y. or you can do the same in BC level by checking the Read Only flag to Y.

But your business might not want you to do so in certain cases.
Let us take an example.
In Order management, you can configure QTY by hitting Customize button on the Line Item list applet. Configurator checks all configuration rules to make sure that the change in quantity is appropriate. In such scenarios from the UI you should see QTY field read-only.

Configuration ReadOnly Fields BC User Property is a coma delimited list of field of a BC that allows you exactly the same.

In future if your business wants user to be able to edit QTY based on requirement you can take out that Field from that PC User Property.
Syntax:
Name: Configuration ReadOnly Fields
Value: Comma delimited list of Fields



Disable Immediate Post Change Field:

Do you remember the BC Field property of Disable Immediate Post Change?
If not let me remind you.

When the Immediate Post Changes (IPC) property is set to FALSE, which is the default value, changes from the field values to the server do not occur immediately. For example, when a user changes a field value and then tabs to the next field in the same record, the server is not aware of it.

When the Immediate Post Change property is set to TRUE, field value changes are posted to the server immediately when the focus moves off of a field, and then the data is refreshed. The posting causes an immediate round trip to the server, and a PreSetFieldValue browser script event is invoked.
Now you want some applet so drop this behavior. How will you do it~?

Disable Immediate Post Change Field Applet User Property comes handy here.
Just add this Applet User Property as follow to disable immediate Post changes of that BC to that particular applet.

Syntax:
Name: Disable Immediate Post Change Field 1
Value: Quantity Requested


Hide Control

This user property set in Applet allows you to hide some control/List columns at runtime.
Syntax:
Name: Hide Control
Value: Control to hide, Condition

So in the below screenshot configuration NewRecord button will be hidden if Account record is present on that applet.
This User property could be based on class and so far I have explored it works only in Order Management realm. If you want to explore more and found anything interesting outside of Order Management, please let me know.




Previous                                                                                                                                          Next

3 comments:

  1. dat was an awesome session! thank you

    ReplyDelete

  2. It was so nice article.I was really satisified by seeing this article and we are also giving SIEBEL online training.The Flaxit online training is one of the best online training institute in USA.

    ReplyDelete
  3. Excellent article, Thank you for sharing this information :)

    ReplyDelete