Showing posts with label Configuration. Show all posts
Showing posts with label Configuration. Show all posts

Tuesday, May 18, 2010

Case sensitive and Insensitive Query

Siebel earlier used to have one Field Level Property Use Default Senstivity. This property is obsolete now.

To provide Case Insensitive Query on the Fields, Siebel 8.1 version has introduced a CIAI (Case and Accent Insensitive). Accent Insensitive does not work in Siebel 8.1.1.2 vesrion. You can use SoundsLike Operator for the Accent based query.
On the column level, right click at Column.
Siebel will run you through a wizard and create a new column and indexes to support the Case Insensitive Query.

Note: You need to lock the project to run through the wizard.

Saturday, May 1, 2010

SoundsLike Operator

Searching for exact Contacts in Call Centre with First and Last Names is not that much easier as we may think.Different people uses different spelling for their names for example John can be spelled like Joan, Jon, Joanne, Joann.

How to search a contact with similar pronouncing name. This was one of the requirement I came across. One of my friend Jalaj suggested SoundsLike Operator. Siebel provides a SoundsLike Operator which can be used to find the similar pronouncing names.
Let me show you how it works, you need to query in the Applet Field with SoundsLike('John').
In return or clicking on Go, it will give results like in below.
This Operator can also be used to BusComp Prequery event to modify the searchexpr with SoundsLike Operator.

Sharing is the power

Saturday, April 10, 2010

Named Method n - Alternative to Scripting

Named method is a very good alternative to the Scripting if you have custom method to invoke. It can be used both at applet level as well as at BC level. You need to specify a user property Named Method n.

It can be used to do some of  following things:-
  1. Set the field values with or without conditional expression, 
  2. To invoke OOTB methods.
  3. To invoke Business Service/Workflow.
I have used this user property with On Field Update Set and On Field Update Invoke user properties.I really found them very handy to use. I have to use the customize method because in our project Client was very demanding and was very much focused on usability of buttons to perform actions.

Some of the examples I have used of the above user properties are like:-

User Property Value
Named Method 1 "DeclineCase", "SET", "Position Name", "IIF([Case Decline Reason]='Incorrect SM', [Parent Position Name], IIF([Case Decline Reason]='Incorrect Entity', '', [Position Name]))"
Named Method 2 "DeclineCase", "INVOKE", "HLS Case", "WriteRecord"
Named Method 3 "DeclineCase", "INVOKESVC", "HLS Case", "Workflow Process Manager", "RunProcess", "ProcessName", "Case Assignment Email Notification"
Named Method 4 "DeclineCase", "INVOKE", "HLS Case", "RefreshBusComp"

For more details, Please refer the bookshelf.

Sharing is the power

Friday, February 19, 2010

MVG Set Primary Restricted: Position

Have you ever seen that you are not able to change the primary in a MVG applet based on position. you are not able to figure it out how this Primary Field becomes editable. The Primary flag is read only.
You checked the No Update Property if it is set. You have checked if any Buscomp Read Only User Property for the primary Record. If still you are not able to find the reason why you are not able to change the Primary.

The reason may be Position Protection mechanism. Position Protection is a mechanism that protects against unauthorized changes within a MVG applet based on Positions. If Position Protection is active then changes can only be done by privileged persons or within certain views.

In Siebel previous version before 7.x, Position Protection mode can be disable but to a limited extent.
In Siebel version 7.x and above, this does not apply. Disabling Position Protection is handled by setting the 'MVG Set Primary Restricted: visibility_mvlink_name' user property to 'FALSE'.

Position Protection is active when:
  • the view's Property Admin Mode is set to FALSE
  • the multi-value field's (MVF) business component is set up with Position Team Ownership
The following business component Properties must be set:
  • Visibility Emp MVField
  • Visibility MVLink
The MVLink must point to the Position business component.
  • The Multi Value Field is based on Positions.
NOTE: Position Protection is not active within Siebel VB / eScript, regardless of above settings.

View Links

We must have seen the Links on the Screen Homepages. But I was never known that these are just links to the View which can have default PDQs. It just works like a Drilldown on a field. I always thought that these are configured at Applet Level and its a SRF Change.

Recently, there was a requirement I came across to configure those links. We can configure those link from Application itself. As we know that PDQs can be Private and Public. Similarly, these links as well can be Private and Public.
Private View Links: Visible only to the Creator.
Public View Links: Visible to everyone using the application.
If User wants to configure these links, they can do so using User Preferences->View Links.These links from User preference can be only Private for that user only.

You can specify the Default Query, which can be configured using Application Administration -> Predefined Queries.
The Public and Private View Links can also be configured from Application Administration -> View Links in the same way as you do in User Preference.
To configure the View Links in Screen Homepages, you should know Screen Name, View Name.
If you want to specify Default Query then a pre-default query will be created by System Admin.
Let me show my customized View Links 

There are some BCs which may not have Screen Homapages, you need to add a User Property VlinkScreen::  value as 'Y' in the 'SRF Vlink Screen' Business Component.

Saturday, February 6, 2010

Calculating Business Hours

I had one requirement where I need to calculate the time, user has taken, to complete a certain task.
The task time taken should not include the Holidays. It should only consider Working Hours to calculate the time taken.
First, we need to know where we can feed in the working hours, holidays in Siebel.

Question: Do we have something OOTB?
Answer: Yes, we have got a View based on Shift BC using view Administration Service->Schedules

Question: Where can we put the Holidays?
Answer: Administration Service -> Schedules -> Exception Hours

Question: Do we need a customize BS to calculate the Time difference considering working hours only?
Answer: Yes we have got a OOTB BS 'FS Holiday API Service', that gives output as Elapsed Time using input as Start Time, End Time, Time Unit, Calender Id(Schedule Id)

FS Holiday API Service BS provides 3 methods:
  1. GetElapsedBusinessTime
  2. GetResponseTime
  3. IsHoliday
I simulated this BS using method GetElapsedBusinessTime to calculate the Elapsed Time.

You can provide input argument as below:
  • Calender Id : Id of the New Schedule
  • End Time: 02/06/2009 12:54:28
  • Schedule Time Zone:
  • Start Time: 04/06/2009 10:54:28
  • Time Unit: Hours
It will give the Business Hours based on the Service Calender used.

Sharing is the Power.

Monday, January 25, 2010

Global Target List Management

List Management is a functionality extensively used for Campaign and Surveys.
Apply List and Save List Button which you usually see in Menu Item for the Applet are the two ways to manage Internal Lists.

Siebel provides this feature for entities like Contacts, Accounts, Employee, Positions, Prospects. Let us take an example that I want to do a Email Campaign for Contacts Living in California. I will do a query on state field in All Contact List Applet. Clicking on Save List will give me a popup applet shown below.

I will save the List with a name. List can be seen in the List Management Screen.



The List is ready to be used for campaign. There are many applet where Apply List and Save List buttons are disabled. To enable those button, you may need to configure the User Properties, Link and MVL.
I configured that for Case List Applet
I had created the below things to enable the Save button and work it for me.
  1. A Link between HLS Case and List Mgmt Lists.  
  2. A MVL for HLS Case and List Mgmt Lists
  3. MVF for Id fields.
  4. User Property TargetProp.
  5. List Column for Ids
  6. Applet User property as Save Target List Source1.
For details, please read AppsAdmin.pdf, chapter Global Target List Management.

Sharing is the Power

Wednesday, December 9, 2009

Siebel Activity Template and Activity Plan

Many scenarios where we need to perform certain tasks to complete the process. In Siebel, for task, we have got activities.
So, for any such process, we always need to perform those tasks.
In Siebel, It provides a feature called Activity Templates and Activity Plans.

What is Activity Template and Activity Plan?
Activity Template is a template which you can use to create a set of Activities.
Activity Plan: When you add the Template with the Entity like Accounts, Contacts, Cases. It becomes Activity Plan. It is like a master Activity which you need to add to the entity so that the Activities will also get created with the Entity.

How to create Activity Templates
  1. Go to Administration-Data, then Activity Template View.
  2. In the Activity Templates list, create a new record, and Fill the values in the fields
    • Name: Fill the Name of the Template
    • Type: Where you would be using this Template, select the values from Dropdown
    • Sales Stage and Sales method: Select the Value in case you are going to use Template on change of Sales Stage or on invoking of Sales Method
    • Public: No Logic Associated, You might choose to use it in conjunction with workflows and search specifications
    • Auto Trigger:For type Opportunity, activity plan automatically generated for opportunities with this sales stage
  3. Drilldown on Activity Template Name and Go to the Activity Template Details View tab


  4. In the Activity Templates Details list, create a new record, and complete the necessary fields
    • Type: Activity Type
    • Duration: Time needed to complete the activity
    • Employees: User names of the people who are to perform the activity
    • Lock Assignment: If true, Assignment can still be changed manually
    • Display In:To display the activity in the Calendar screen, the Activity screen,or in both.


  5. Create a new activity template detail record for each activity associated with the activity template


Creating Activity Plan Now, as per the Type, you had selected while creating Activity Template record, the Activity Template can be seen in the dropdown when you create a Activity Plan under any Entity like Account, Contact etc. As soon as you save the record, the Activities associated with that Template will get created.
This Activity Plan creation under entity can be done manually as well as system also can do that after some configuration/scripting.

Sunday, September 27, 2009

Click and Move Optimization

This blog comes as result of the thought when I have to click several times on About View to see which Screen, which BO, which BCs and which Applets have been used so that i can customize my siebel application by modify in whatever object I need to do changes.

We read about optimizations process, CPU optimizations, memory optimization....etc,etc
I heard abt website optimizations, this can be a part of that.

The earlier scenario is like Menu bar->Help->About view
In siebel v7.8 application,there is a menu bar on top(File, View, Help....)
a toolbar having some icons like Site Map, Dashboard, Quick Print, Ihelp.....
As I mentioned above About View is needed very frequently to see the objects on the page.We have to go thru 4 steps....
1. Move the mouse to Help on Menu bar
2. Click on the Help
3. Move the mouse to About View Sub menu
4. Click on it to open a new window which shows the objects name.

What I did is I made a button on the toolbar(Icon can be used by specifying the image property in SWT, web template file).
What I have to do is to add a Toolbar in the Application Object.

See Application Object is having a hidden Object Application Toolbar in Object Explorer Window, if you want to see this then you have to change the Clientviewmode from web to All in tools.cfg file.

Go into view menu of tools and select all under application.
Before that you also need to create your own toolbar, which is also a hidden object, create a new toolbar and toolbar item with command About View(SWE), type will be link.

Compile the Application, Toolbar objects.
You also need to modify CCFrameViewBar.swt file which is in webtemplate folder.
not remembering the exact tags...you can make similar as given in the file already
just change the Toolbar item name
(PS: you add these these tags at right place not inside any SWE:IF condition which i carelessly did)

Just Reopen ur application, You will find a new button on toolbar :-)

Now the scenario becomes...
1.Move the mouse on About View Button
2.Click the button to open about view window.

50% optimization....

The whole purpose of writing this blog is how we can save small small time from these like these and make a better application for all.

Tuesday, September 22, 2009

Spelling Check in Siebel

Hello friends,
We can have spelling check in Siebel as well.

We need to have a field for which we need spelling check and a button which will invoke spelling check for the same field. It can also be customized as menu item button.

We need to create “Check Spelling Field” user property for the applet where the Check Spelling button and the field to be checked are located.

The process of configuring spelling check is following.

1. Create a button control on the applet with Method Invoked property as ShowPopup. If the spelling check is for non required field, you need to specify the field name.
2. Define control user properties for the button created at step 1.
Mode Edit
Popup Spell Checker Popup Applet
Popup Dimensions 560 X 350

3. Add the button to the Web Layout of the applet.
4. Add the Spell Check business component ‘Spell Checker Applet VBC’ to a business object applet’s view is based on.
5. If the field to be spell checked is required you need to create a Applet User Property ‘Check Spelling Field’ with value as ‘FieldName’ (name of the field to be spell checked)

Apart from a button on the applet as created in step 1, you can also create a menu item button with Command as Command ‘Check Spelling’

Sharing is the Power