Siebel all user properties /different object types/ Field User Property

 Following user properties examples with different object types:


Application User Properties

ClientBusinessServicen: Allows you to call business services from a browser script


BC Level User Properties

Read Only Field: When the value of the field specified in this user property is TRUE, the current record is read-only.

Parent Read Only Field: When the value of the specified field evaluates to TRUE or Y, the current business component becomes read-only.

Deep Copy n: Allows child business components and their respective child business components to be copied automatically when selecting the Copy option.

Deep Delete n: Allows child business components and their respective child business components to be deleted automatically when selecting the Delete option.

Applet User Properties

CanInvokeMethod: MethodName :Is used to enable and disable methods declaratively. When the value is TRUE or the expression returns TRUE, then the method is enabled, otherwise it is disabled.

Show Required n: Allows you to specify a control on the applet to be required. The control specified in the value of this user property is validated as an applet-level required field.

No Data Hide : This user property hides the applet when it contains no data.

Y If no data, applet is hidden.

N Applet is shown even if no data

Integration Component User Properties

NoDelete: This user property allows you to restrict the Siebel EAI connector from performing deletes on the corresponding business component.

NoInsert:Setting this user property to Y instructs the Siebel EAI connector to not perform inserts on the business component that the integration component represents.

************************

Opportunity BC User Property :

Lets take an example and try to configure it. Suppose, on Opportunity business Component, there are two fields : a) Sales Stage b) Revenue. The requirement is as soon as "Sales Stage" = "Lost", user is not allowed to make any more change in "Revenue" field.

Lets how we can achieve this :

1. Create a calculated field:

 Name = Revenue Read Only Calc

 Calculated = TRUE

 Calculated Value = iif([Sales Stage] = "Lost", "Y", "N")

2. Create one User Property at Opportunity Business Component :

 Name = Field Read Only Field: Revenue

 Value = Revenue Read Only Calc

That's it !! Compile the Opportunity Business Component and try to change the value of Sales Stage on the UI.

========================================================================

Service Request BC User Property :

Scenario:If Service Request business component Status field is closed then the Action BC should become read only.

Parent BC: Service Request

Child BC: Activities

Implementation:

1. Create a Calculated Field in Parent BC – Service Request as shown below –

Field Name: Calc Status Closed

Calculated Value: IIF([Status] = “Closed”,”Y”,”N”). …Thanks Vijaya for noticing it

Note: Set the Links Specification Property to TRUE for the field: [Calc Status Closed]

2. Create a BC User Property in Child BC – Action as shown below -

Name: Parent Read Only Field: Service …

**

Required : A Field User Property

Siebel provides various ways in making any Field mandatory while saving the record. Some of the 
common ways we use in our daily Siebel implementation are :

a) "Required" property of BusComp's field. Setting this property to TRUE, made the field mandatory 
while saving the record.

b) "Required", a field user property which calculates an expression to decide whether the field should
 be mandatory or not. This is very useful for making field mandatory, conditionally.

c) Last one is writing script on "PreWriteRecord" event of business component.

Pros & Cons
1. Scripting solution is good if you need to show a customized message to the user, in case he forgets
 to fill in the mandatory field. But scripting should be avoided as much as we can.

2. Using "Required" field user property is the recommended solution for such kind of scenarios.

Ex :Scripts 

First Implementation - Scripting on PreWriteRecord() Event
if (this.GetFieldValue("Married") == "Y" && this.GetFieldValue("Spouse Name") == "")
{
TheApplication().RaiseErrorText("Spouse Name is a mandatory field");
}

Second Implementation - Required Field User Property
Create Field User Prop for "Spouse Name" field :
Name : Required
Value : IIf ([Married] = "Y", "Y", "N")

Compile the SRF by using one implementation at a time and see the difference.

Comments

Popular posts from this blog

Siebel Web Service session management

Siebel CRM Overview