Siebel

Everything you want to know about Siebel !!!

Toggling with the Search Specification in Applet

I came across a blog posted by Mr. Mahendran on Search Specification with a critical scenario…

Please read the blog here… LINK

August 28, 2008 Posted by Narayan Patro | Configuration, Scripting | | No Comments Yet

want to show a * on a field in Siebel which is not marked as REQUIRED

Example: Lets say we want to show the red asterisk on “Main Phone Number” field on Contact Form Applet.
Solution:

Select the appropriate applet and check the edit web layout option.
Select the properties of the requied field….
and under Caption String-Override add the following HTML code…
<body><font size=”3″ color=”#FF0000″> *</font> Main Phone Number</body>

August 12, 2008 Posted by Narayan Patro | Configuration | | No Comments Yet

Picklist – Long List Property

A number of pick lists that are not based on the List of Values do not have the Long List property defined. Where the property is set to FALSE, Siebel will attempt to position the cursor on the matching row in the pick applet. In the case of Standard Interactive applications, a query will be issued against the picklist BC if the record is editable. This query is performed when the record is displayed.
Consequence: Where the list is long, Siebel will search through the result set to position the cursor resulting in potential performance problems. This is also true where the picklist field does not possess a value.
Recommendation: Set the Long List property of the picklists to TRUE if they will return a large result set (> 30). If this is done, the picklist can no longer be a static picklist and needs to be exposed using a pick applet. Generally only picklists based on LOVs should have the Long List property set to FALSE.

July 18, 2008 Posted by Narayan Patro | Configuration | | 1 Comment

Giving Access to another User for Single Object Locking

Problem Description: When Siebel ships its products, the user who has the access to modify the “Allow Object Locking” flag is hard coded in the Business Component and hence the User SADMIN has access to modify this flag. However when we test on Siebel Tools pointing to a Db2 390 where the primary responsibility is with the user QADMIN, this feature is not available or exposed to this user and hence we can’t carry out the operation of modifying the “Allow Object Locking” (AOL) Flag.

Solution: With the help of the following configuration, we can provide access to any user other than the default SADMIN. E.g., please follow the below mentioned steps to give access to QADMIN.

Navigate to Business Component “Repository Project”. Expand it to expose its fields. Query for “OL RO” field. Set the Calculated value for this field to

IIF(LoginName() = “QADMIN”,”N”,”Y”)

Then copy the Siebel.srf file in the tools\Objects\enu folder and compile the changes against the copied file.
Launch Tools connected to the compiled srf. The user should be able to modify the AOL flag now by logging to the Siebel Tools as QADMIN.

July 18, 2008 Posted by Narayan Patro | Configuration | | No Comments Yet

Make Field Read-Only based on View

Step1) Create a calculated field which will be used in BusComp UserProperty (Field Read Only Field: FieldName
Name: ReadOnlyFlag
Calculated: TRUE
Value: GetProfileAttr(“ReadOnly”)

Step 2) Create Field Read Only Field User Property in the BusComp User Proeprty
Name: Field Read Only Field:<FieldName>
Value:ReadOnlyFlag

Step3) Write a script at Application_PreNavigate event where the attribute vaue is set

TheApplication().SetProfileAttr(“ReadOnly”,”N”);

if(ViewName == “<Name of the view for which for which the field has to be made read only>”)
{
TheApplication().SetProfileAttr(“ReadOnly”,”Y”);
}

return(ContinueOperation)

July 18, 2008 Posted by Narayan Patro | Configuration | | No Comments Yet

Read GMT/UTC Time

A simple way to read the GMT/UTC server time is to use a calculated field to read the time as follows:
On the Business Component (BC), create a calculated field – ‘Current Time’ with a calculated Value of ‘Timestamp()’. Set the Type to DTYPE_DATETIME.
The script would read the field like this:
var sDateTime = this.GetFieldValue(‘Current Time’);

For performance reasons, users may want to copy a BC just for this purpose, since the field is recalculated every time a row is read.

July 17, 2008 Posted by Narayan Patro | Configuration | | No Comments Yet

Exposing more List Columns in List Applets

Scenario: Requirement to expose more List Columns in the List applets.

Solution: For exposing more List columns in List applet we have to change the “count” property in the “For” loop of the CCListBody.swt and CCListHeader.swt files.
We can add any number of List columns in List applet. But for performance and usability reasons, a maximum of 40 list columns should bound to a list applet web template.

July 17, 2008 Posted by Narayan Patro | Configuration | | No Comments Yet

Overriding Database Column size for Text fields

Scenario: In certain cases there will be a difference in column sizes between Siebel Database and External Systems which ends up in some confusion in Integration part.

Solution: The field user property, “Text Length Override” uses the field’s Text Length property to define the maximum field length instead of the database column size. The property should have same value as the Text length property of the field in the BC.Use only for Text type fields.

July 17, 2008 Posted by Narayan Patro | Configuration | | No Comments Yet

Immediate Post Changes

Calculated fields are not automatically refreshed when a related field value changes; they are refreshed only after committing the record. To have them refresh immediately after the fields have been changed the Immediate Post Changes property of the field needs to be set to TRUE.

Property Description
A TRUE or FALSE value.
Field data is posted to the server when the focus moves off of the field and then the data is refreshed. Setting this property to TRUE causes an immediate roundtrip to the server.
When set to True the browser script PreSetFieldValue event is bypassed.
Typically used for constrained drop-down lists and calculated fields.

July 17, 2008 Posted by Narayan Patro | Configuration | | No Comments Yet

Default Sensitivity and CaseInsensitive

A TRUE or FALSE value.
For fields of type DTYPE_ID

Queries are case-sensitive if
Use Default Sensitivity is TRUE and
CaseInsensitive setting in the CFG file is FALSE.

Queries are case-insensitive if
Use Default Sensitivity is TRUE and
CaseInsensitive setting is TRUE.

For Id fields not exposed in the business component (such as the ID field in Opportunity), the User Default Security property cannot be set.

July 17, 2008 Posted by Narayan Patro | Configuration | | No Comments Yet