Friday, December 11, 2009

Siebel Serialization Rules

Using Serialization, we can configure serial numbers format. This serial number can be generated from a combination of fields so that the numbers are meaningful to an agency. For example, in the case serial number NY-2B-2, the serial number denotes a geographic territory (NY—New York) and a case category (2B—aggravated assault). The third field (2) uniquely identifies the case.

In different application, many times, we need to generate serial numbers to uniquely identify a record. This is not same as Row Id used in Siebel which are nominal numbers.

It can be used to child object like Evidences and Attachments for example for first record of Evidence, the Serial number generated can be like NY-2B-2-1. Similarly, if someone is creating first record of same parent but for attachment, the serial number will be NY-2B-2-2. The serial number will get generated as soon as you save the record.

How to Configure Serialization Rules in Tools
First, you need to configure a counter table and Business Component(this is to track counter). If anytime you have configured the Sequence Number, I have strong feeling that the logic it follow is the same.
In the following example, you add INS Claims as a new serialization business object. The primary business component for this business object is INS Claims.
  1. Log in to Siebel Tools as an administrator.
  2. Navigate to Object Explorer, then Table and query for the S_CASE_SEQ_CTR table.
  3. Navigate to Table, then Column and query for the CASE_SEQ_NUM column.
  4. Copy the CASE_SEQ_NUM record.
  5. Name the new column record CLAIM_SEQ_NUM and give it a unique user name like, for example, Claim Sequence Number
  6. Navigate to Object Explorer, then Business Component and query for the PUB Counter business component.
  7. Navigate to Business Component, then Field and query for the Case Counter record.
  8. Copy the Case Counter record.
  9. Name the new record Ur Entity Counter and in the Column field, enter CLAIM_SEQ_NUM.
Now, You must also configure the Claims table and business component.
  1. Navigate to Object Explorer, then Table and query for the S_INS_CLAIM table.
  2. Create two new column records called SERIAL_NUM and LOCAL_SEQ_NUM.To get the correct values for these two columns, query the S_CASE table for the same columns.
  3. Navigate to Object Explorer, then Business Component and query for the INS Claims business component.
  4. Navigate to Business Component, then Field and create two new field records called Serial Number and Local Counter. To get the correct values for these two fields, query the HLS Case business component for the same fields.
  5. Navigate to Business Component, then Business Component User Prop and add the following user property records.
    • SerializationAutoGenerate and value as 'Y'
    • SerializationBO and value as 'INS Claims'
    • SerializationBC and value as 'INS Claims'
    • SerializationChildBO and value as 'INS Claims'
    NOTE: If you add serialization on child business objects and components, you might need to add additional fields. Use the serialization configuration for the HLS Case as a guide
  6. Compile the edited projects and replace the Siebel Repository File (SRF).
Adding a Claim Attribute Type Option
Perform the following procedure to add Claim Counter to the Type drop-down list for attributes in the Serialization Rules view in the Administration - Case screen.
  1. Navigate to the Administration - Data screen, then the List of Values view.
  2. Query for PUB_CASE_RULE_ATTRIBUTE_TYPE.All the options displayed in the Type drop-down list are returned.
  3. Create a new record with Claim Counter as the Display Value.
How to Create Serialization Rules in Client
  1. Go to the Administration - Case screen, then the Serialization Rules view.
  2. In the Serialization Rules list, create a new record and complete the fields as appropriate.
    • Name: Name of the rule.
    • Business Object: The business object on which the rule is based.
    • Business Component: The business component containing the fields on which the rule is based.
  3. Create a new record in below Attribute List Applet.
    • Sequence: Sequence number for the Serial Number.The 1st sequence number Attribute will be on the LHS of the Serial Number.
    • Type: Possible values include various types of counters, constants, parent serial numbers, and fields.
    • Business Component: Business component selected in the Serialization Rules list.
    • Field Name: Select Field name for Type as Field.
    • Constant Value: Specify a value of constant for Type as Constant.
  4. Repeat Step 3 until you define all the attributes required for the serial number.
The last attribute in the sequence is generally a counter value so that each serial number is unique.

Note: For More Information, Please read Siebel Public Sector pdf available in bookshelf.The example is also given in that pdf.

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.

Tuesday, December 8, 2009

Siebel Campaign Management Part-2

Continuing from Part-1...

Before Using Campaign management, one should have a clear understanding of the elements used. One must also know the difference among them.

Campaign, Offers and Treatment
Typically each campaign has a single offer, but you can associate multiple treatments with that offer.
Offers can be reused in many campaigns, but the campaign is a one-time instance of the offer presented to a customer at a certain point in time.
A treatment is a channel-specific instance of an offer.You create a treatment for every channel, such as email or direct mail, through which you want to deliver the offer.

A campaign is the initiative in which you convey a marketing message to one or more groups of people. Typically, campaigns deliver a promotional offer to retain current customers or to acquire new customers across channels of communication. For example, you may launch a phone campaign that invites contacts to sign up for a special promotion or deliver a direct mail campaign that provides a sample of a new product and a coupon offer to existing customers.

The goal of a marketing campaign is to create an opportunity that ultimately results in a sale, brand recognition, or some other type of response. Marketers use both direct and indirect campaigns to achieve these objectives.

Direct campaigns target individuals using multichannel approaches such as email and telephone. Contacts for the campaign are derived by applying segmentation criteria against a database of customer information and generating a list or by purchasing or renting a list of prospects.Multiple campaigns can use the same segment criteria.

Indirect campaigns target indeterminate groups of people whose general characteristics you may know, but whose exact composition you do not know. Examples of indirect campaigns are those that use television, radio, print ads, or other forms of media for delivery of the message. An indirect campaign is associated with a marketing program’s stage rather than with a specific segment or list.

Response Management
Siebel Campaigns use Response Management. Whenever prospects or contacts respond to an offer through any channel (by inbound email, the Web, a call center, or sales representative), their responses may be captured in detail using the Responses screen. Using Response views, you can determine which contacts to pursue as opportunities.

List Management
Siebel Campaigns use List Management to create and manage lists of contacts and prospects within your applications for use in marketing campaigns. A list is defined as a grouping of contact or prospect records in the Siebel database.
Difference between contact and Prospects
Contacts are customers already in the Siebel database. Prospects are potential customers that have yet to be screened, qualified, and promoted to contacts. By using this distinction, List Management can eliminate prospects that do not qualify for promotion to contacts.

Using Programs
A program is a multistep dialogue in which you can set up a series of communications to your customers and prospects. In the Programs screen, you can use the graphical drag-and-drop Program Flow view or the Program Explorer view to design and execute multistage, triggered, and recurring marketing programs using new or existing campaigns, lists, and segments.
You can establish multiple stages for a marketing program. Each stage can have multiple campaigns, lists, segments, and segment trees. Subsequent stages can be based on a customer response or any other event. For example, a visit by a sales person to a premium customer may trigger a follow-up email to that customer for the selected product.

Note: This document only provides a high level overview of Siebel Campaign Management.It has been summarized from Oracle Siebel Documentation.

Siebel Campaign Management Part-1

A campaign is a marketing tool that is used to target and motivate specific segments of your customer base to achieve a specific result. Campaigns can be stand-alone or part of a multistage program.

Elements in Stand-Alone Campaigns and Multistage Campaigns

Offer:An offer is a single proposition or message that you want to present to your current and potential customers as part of a campaign.

Treatment:A treatment is a channel-specific instance of an offer. A treatment can include details such as the HTML content, literature, delivery parameters, a call guide,and other details.

Segment:A segment defines a target set of customers or prospects. A campaign can target one or more segments.

Source code:A source code is composed of multiple codes that represent information about thecustomer, and the offer sent to the customer. You use source codes to track the customers’ responses and gauge the reaction to a campaign and its offers.

Vendor:A vendor is a company that you retain to help you with a campaign, such as a printing house, a fulfillment house, and a telemarketer.

Programs:A program is a container for organizing, designing, and executing multistage,triggered, and recurring marketing programs using new or existing campaigns, lists,and segments.

Stage:A stage is a group of campaigns that happen during a certain phase of a program.It can also contain responses and leads.

Responses: Response handling is essential in triggering follow-up stages. Whenever prospects or contacts respond to an offer treatment through any channel (by inbound email,the Web, a call center, or sales representative, and so on), their responses may be captured in detail. You can use this data to determine which contacts to pursue as opportunities.

Waves:Waves are a method of phasing the delivery of a campaign or stage over time, or for phasing the delivery of treatments over time or across vendors.

to be continued in Campaign Management Part-2

Note: This document only provides a high level overview of Siebel Campaign Management.It has been summarized from Oracle Siebel Documentation.

Monday, December 7, 2009

Siebel Public Sector

Siebel Public Sector provides two set of application.
One to be used by Officers working for Govt Agencies:
  • To Create and manage the case
  • To Create Contacts, Accounts, Incidents
  • To Create Benefit Plans
Another One(self service) can be used by Citizens:
  • To know the status of their cases
  • To access any published information by Govt
  • To Search the required info into FAQs

Siebel Public Sector can be used for multiple agencies:
  • Municipal corporations,
  • Social services,
  • Tax and revenue management,
  • Public health,
  • Immigration agencies, and
  • Investigative agencies

Siebel Public Sector provides the below feature Out of box:
Location Tracking: It provides a standardized Location Tracking Mechanism for various addresses like malls, hotels, office parks, and campuses. Users can also specify an area that does not have address information—for example, a street intersection or the north end of a lake. You can associate latitude and longitude pairs or Universal Transverse Mercator (UTM) values witha single location.

Serialization Rules: It also provides Serialization Rules which can be used to give a Serial Number by default to a case using some of the case related values like Territory, Category for example: For example, in the case serial number NY-2B-2, the serial number denotes a geographic territory (NY—New York) and a case category (2B—aggravated assault). The third field (2) uniquely identifies the case.

Approval Templates: It also provides a feature for setting up Approval Templates. for example for a particular type of case, you want that it should pass through a set of Approval from some Employees of the Organization.Similarly for Activity Templates as well.

Assignment of Cases and Ownership
Cases by default get assigned to the employee who created the case. Case assignment can be done manually or It can be done automatically(may need configuration) using Siebel Assignment Manager based on the different filed values like Geographic Location, category of case, availability of the user.Multiple employee can also be assigned to a case.

Case Activity Plans
Case Activity Plans can be set up. Just for an overview, An activity plan is a set of tasks (activities in Oracle’s Siebel data model) that users must complete to finish processing the case. Analyst can create Activity Plans.

Adobe Forms Integration
This provides you to map Siebel data with the Adobe Forms. This can be outbound and Inbound. For example in case of
Outbound: To automatically populate forms, such as citizenship and immigration applications with Siebel data.
Inbound: To automatically populate Siebel data from benefits forms,such as applications for unemployment insurance.
Now, you need to select or create an integration object, generate a schema, and map the XML schema to the form.

Assessment templates: If your organization mandates specific assessment criteria, you must set up assessment templates with attributes. When creating a new Case Assessment template,set the Type value to HLS Case.

For more information, Please see Siebel Case Management

Note: This document only provides a high level overview of Siebel Public Sector.It has been summarized from Oracle Siebel Documentation.

Sunday, December 6, 2009

Siebel Case Management

Recently, I am working on a project based on Siebel Public Sector.

Siebel Public Sector is mainly focused on the Case Management. It provides a 360° view for Case Management.

Definition of Case
Case is something which can be logged to Govt/Govt Managed agencies to track any kind of interaction. That interaction can be for seeking information, complaint, sharing information, suggestion, to apply for Passport and Taxation.
I would say its Citizen oriented Approach.

Case Management needs to perform some activities, Approvals, validations, Assignments, Benefit Plans, Assessment based on the data collected from different sources.Case Management can be drilldown and the information can be sub-divided into multiple entities. Case Management comprises of Detail Views like:
Benefits PlanAssessmentsActivity Plans
Change of CircumstancesAttachmentsAssets
Related CasesService RequestsAddresses
HouseholdsGroupsGroup Suspects
Presentationsliterature DistributionVehicles
ClaimsDiseasesAudit Trails
Verification PlansQA Plans

Using Case Management, we can set up multiple kinds of cases of different Government departments/agencies like
  • Municipal corporations,
  • Social services,
  • Tax and revenue management,
  • Public health,
  • Immigration agencies, and
  • Investigative agencies

Apart from above these, there are few button present on Case Management View.
1. Regenerate All- Used to regenerate serial numbers for the cases.
2. Submit- Used to submit the case for Approval by creating inbox item.
3. Recall- Recall the submitted case.
4. Screening- Used to Apply New Govt Policy Rules and Screen the citizens.
5. Eligibility- Used to Apply New Govt Policy Rules and check the eligibility.
6. Change of circumstances- If any Change in case, modify Benefit Plans.

Note: This document only provides a high level overview of Siebel Case Management. It has been summarized from Oracle Siebel Documentation.

Thursday, October 8, 2009

VBscript vs escript

Recently, I have to write a BS in escript which was
originally written in VB Script. Since Siebel provides a utility to convert the
VB Script to escript but that utility has so many limitations.

Siebel provided utility does only syntactically changes in the
code which is quite helpful when you have huge lines of code to convert. But analyzing
the code is helpful because there can be things which you can do using config,
workflows or BRP.

Limitations of the utility:

Utility does not modify things for the explicit conversions
like Str, CInt, Int if used. Utility does

The differences between Siebel escript and VB Script are as


VB Script



Uses inbuilt function to convert Date to String and vice versa.
For E.g. DateValue, Str, Format


It also uses DateDiff function to calculate the difference of

We need to do scripting for conversion between Date to String
and vice versa.

Also to find the difference of the days you can use a calculated
field or script for finding difference between the Dates.

Function Return Values

Function name = value

Function name = return(value)

Error Hander

Always executed

Only executed if error.

eScript has finally block to destroy objects.





All by ref.

Only Complex Object by ref.


To get the reminder, use ‘mod’


Integer Division

Use back slash ‘\’ for integer division

For every division, use forward slash ‘/’

Script Structure

Function MyFunction() As String

On Error GoTo ErrorHandler



  //variable declarations

  //Program statements are here



//ErrorHandler label and all following code is


//Object destroys from (just the) error handler
are moved here


End Function

function MyFunction()



//variable declarations



//Normal code goes here


catch (e)


//Error code goes here




//Object destroys go here





In escript for
explicit conversion, we can use functions like ToInteger(), ToString().

Monday, October 5, 2009

Using HTML and Javascript in SmartScripts

It is possible to enhance the SmartScript UI through the use of several HTML tags that can be defined in either the Questions or within the TemplateFile.
In order to enhance the font styles displayed within the QuestionText, you can define HTML tags within the Question text property in the Question Translation Applet. In the example displayed the tags can be used to display Text in Italic. Other HTML tags can be used to enhance this further, such as displaying text in bold, underlined etc.

It is also possible to display a hyperlink within the QuestionText property to link to a web page. This can be achieved through using the HTML tag. Note that the type specified for the question was Information, this is to enable the hyperlink on the URL to be displayed. If Information type is not used, then the QuestionText is displayed in BOLD and the hyper link is not displayed, although it is still possible to select the text and open the web page.

HTML tags can also be used to display graphics within the QuestionText property using the tag. The graphic is displayed in the text of the Question displayed when invoking the SmartScript.

You can also use javascript in a little different way.
In one of the requirement, we need to show a image besides the question.
As soon as user click the image we need to show the table specifying the details.
The below code give you an idea how we used that.
<img src="images/icon_req.gif" border="0" space="0" hspace="0">My Question<html>
<img src="images/hlp.gif" height = 20 width = 20 onclick="var p=window.createPopup();
var pbody=p.document.body;'solid black 1px';
pbody.innerHTML='<table border = 1><tr><td>Color</td><td>Text</td><td>Text</td></tr><tr><td bgcolor = Yellow>        </td><td><50%</td><td>Text</td></tr><tr><td bgcolor = Green>        </td><td>>=50%</td><td>>= 75%</td></tr><tr><td bgcolor = Yellow>        </td><td>>=50%</td><td>>=50% & <75%</td></tr><tr><td bgcolor = red>        </td><td>>=50%</td><td><50%</td></tr></table>';,250,200,200,document.body);">
The only limitation is that if the question is required then when it will pp up the nmessage for required question ,the siebel will show the javascript text as well.
To overcome this, we have to remove this question as required and at Question Leave event of the last question of this page or Question Enter event of the next page fist question, we can check the value if its null, we can RaiseErrorText inthe script that This question is required. Please give the answer.

Sharing is the Power

Wednesday, September 30, 2009

Export Data using dbisql.exe

Recently I found that there is one more way apart from using #getuid.out
which I post in my previous blog 'Query Result to file using dbisqlc'

select name from SYSUSERAUTH
where name not in ('SYS','DBA','PUBLIC','SIEBEL','DBO','dbo','SSE_ROLE') >#getuid.out

The other way to export the date into other file format is using output command.

After you execute your query.
You need to execute command having syntax

output to filename

output format can be in excel.

Sharing is the power

Will Oracle discontinue Haleys Rules with Siebel?

I got a newsletter this morning...

This letter is to provide you with product news related to the acquisition of Haley by Oracle. After completing a thorough review of our combined product lines, Oracle has decided to discontinue Haley Expert Rules (also known as Siebel Business Rules Designer) and Haley Business Rules Engine. As a substitute, Oracle offers Oracle Policy Modeling and Oracle Policy Automation for licensing by its customers for a license fee. Oracle believes both Oracle products provide a more comprehensive solution for its customers. As a Siebel customer, you are being notified of this change because Haley Expert Rules and Haley Business Rules Engine are embedded in the Siebel CRM 8.x product.

Along with this news, we want to reiterate our commitment to customer satisfaction and our intention to communicate with you regularly during the integration of our companies. For many Siebel customers, there will be no impact to their applications and this notification will serve as an informational update on Oracle's product direction only.

If you are a current Oracle support customer, Premier Support of Oracle's Siebel Application Releases for CRM 8.0x and CRM 8.1.1 will continue for as long as January 2012 and December 2013 respectively.

If your upcoming plans in October include Oracle OpenWorld, below are two sessions dedicated to Oracle Policy Automation that you may be interested in:

* Natural Language Policy Automation: Empower Business Users to Manage Policy Complexity
Session: S311983
Thursday, October 15, 9:00-10:00, Westin Market Street Hotel, Metropolitan I
Speaker: Davin Fifield

* Integrate Oracle Policy Automation with Siebel in Less than 30 Minutes
Session: S310573
Thursday, October 15, 15:00-16:00, Westin Market Street Hotel, Metropolitan I
Speaker: Philip Whitwell

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 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.

Wednesday, September 23, 2009

Business Service Context

Input Argument to Action Set of Runtime Event

I thought to write an article how to use the input argument while we invoke Runtime Event Action Set. We invoke Runtime Event to generally call a Business Service/Workflow.

When you specify the Business Service and its method there at Event. There is one more field called Business Service Context. This Business Service Context can be used to set the input Argument of the Business Service Method.

Let's say I want to invoke a workflow from that business service so my:

Business Service ## "Workflow Process Manager"

Method ## "Run Process"

Business Service Context ## "ProcessName", "WorkflowNameHere", "OtherProperty", "Value"

Sharing is the Power

Siebel Certification Exam Questions

Sample Questions
View answers below

Sample questions are provided solely to familiarize candidates with the multiple-choice format and writing style of questions that will be found on the exam. Sample questions may not cover the full spectrum of difficulty that is covered by the exam questions. Success on the sample questions does not predict success on the exam.

1. In order to change the fonts used by your Siebel application, what file(s) should you modify? Select one answer.
A.Siebel.exe file
B.Siebel template files
C.Cascading style sheets
D.SQL scripts to change the data model

2. Which Link property must be populated for a MVG with a M:M relationship, but is not populated for a MVG with a 1:M relationship?
A.Inter Table
B.Destination Field
C.Child Business Component
D.Parent Business Component

3. You have enabled the Workflow Management component group on the server through the Siebel user interface, but you are unable to run workflows using Workflow policies. Which step might have you forgotten to execute? (Choose two.)
A.restarting the Siebel Server service
B.running a Generate Triggers batch job
C.enabling the Generate Triggers component
D.setting the Workflow Policy properties in Tools
E.specifying the triggering event in the detail applet for the workflow step branch following the Start Step

4. Which three are true about a task in Siebel task UI? (Choose three.)
A.It implements process automation.
B.It must be invoked by a run-time event.
C.It consists of a sequenced set of views.
D.It does not support conditional processing.
E.It does not support transactional processing.
F.It is designed for novice users performing complex tasks.

5. Business rules consist, in part, of concepts. Which two are examples of concepts? (Choose two.)

6. Which describes the role of Assignment Objects for Assignment Manager? identify the people that will be assigned to records describe when a record should be assigned to candidates identify the types of data to assign using Assignment Manager evaluate all people for a matching skill in order to assign records

7. Which statement is true regarding making changes to assignment rules?
A.To make changes you must first deactivate the rule.
B.If you make changes to a released assignment rule, you must release the rule again.
C.Changes to a released assignment rule take affect automatically when the record is saved.
D.Once an assignment rule is released it cannot be changed, it must be revised before it can be edited.

8. Which two statements concerning interface tables are true? (Choose two.)
A.An interface table can populate only one base table.
B.An interface table may populate more than one base table.
C.A base table may be populated by more than one interface table.
D.A base table is always populated by one and only one interface table.

9. When should you use implicit primaries through Enterprise Integration Manager?
A.any time you have more than one child record in the dataset
B.when you need to have multiple primaries associated with a record
C.when the external system defines which child record should be the primary
D.when the external system does not define which child record should be the primary

10. Your Accounts.ifb file appears as follows:
[Siebel Interface Manager]
PROCESS = Import Accounts
[Import Accounts]
TYPE = Import
BATCH = 100

After running the import, you find that the IF_ROW_STAT for all of your accounts is PARTIALLY IMPORTED, yet you can see the accounts in the Accounts Administration view.
What is the most likely cause of this?

A.Not all of the required flags were set.
B.The EIM job generated an internal error.
C.Some of the required flags were set incorrectly.
D.Not all of the base tables that EIM_ACCOUNT maps to were populated.
E.EIM_ACCOUNT did not contain required information for the S_ACCOUNT base table.


1. C
2. A
3. AB
4. ACF
5. BC
6. C
7. B
8. BC
9. D

These question are also available on Oracle website.

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

UserID/Password Invalid Siebel 8.0

An issue was reported with logging to dedicated client on Siebel 8.0. The reported behavior is error we had to face while connecting to Dedicated Client in Siebel 8.0version
User cannot access database using dedicated web client with following message
"User ID or Password is invalid".
Although we can connect to the database through dbisqlc.exe

Using the same userID or password you can connect to database.

To fix this issues, try the following things
1. Navigate to Siebel 8.0\webclient\bin and rename the diccache.dat file if file exists.
2. Delete all the files *.spf.
3. Try changing the SRf who are using to connect to dedicated client.

Query Result to file using dbisqlc

Hello Friends,

Most of us know that the Siebel has given us utility to query in the local database using dbisqlc.exe exist in Client/BIN folder or Tools/Bin folder.

To connect to Server, we generally use Toad or SQL Developer which provides us option to save the output in excel file.

The database siebel uses for Local is into Sybase. In the utility dbisqlc.exe , we dont have any option to save the result in any file. In Sybase, we have an operator '>' which can be used to direct output to a file.

For example the below query,

select name from SYSUSERAUTH
where name not in ('SYS','DBA','PUBLIC','SIEBEL','DBO','dbo','SSE_ROLE') >#getuid.out.

The output of this query will store login id in getuid file at the any of the following paths:

Open the file & you can see your login id.

Sharing is the Power

I-Help Export Crash Issue

The Issue reported was Export Ihelp Item is failing after addition of 25th Question.
25th and 26th are having large text, I made them short, it allowed me to add one more question and again it failed.

It seems a Product Defect; Export Ihelp is failing if the XML file size exceeds 50 KB.

1. We need to find some more leverage by shorting the caption size and removing the Questions from Ihelp which are self explanatory so that we can use Export Ihelp functionality to migrate.
2. Side by Side, we can work with Siebel, if they could tell us some possible way to migrate a more than 50 KB ihelp xml file from one environment to another.
3. We can create an Ihelp Item up to a level where Export Ihelp will work. Then Import that into other Environment and then manually adding questions to that environment.

I found a workaround to take export of Ihelp Item.

1. Actually the problem is only with the Export Method used in Applet Menu Item.
2. Siebel is able to generate the xml file and stored in it temp folder of local (on server also it will save the xml file in temp folder).The name of the file created we can get using the Siebel log files.It will have extension as .temp.
3. When it is trying to use export method at step 1. This export method is failing which causes the Object Manage to crash.

I have taken the xml from the temp folder for the Ihelp Item which has got list of the all questions although the size is more than 50 KB.
And I am also able to import this xml and the questions are coming properly.

Sharing is the Power

Capture Drilldown based on Field

Recently, I come across arequirement where We need to set perform some operation before a user drilldown on field in a List Applet.

Vanilla provides a method Drilldown at applet level which can be captured.
There is no way specified in bookshelf whcih can determine that on which field drilldown has occured.

The problem here is if there are more than one drilldown list column in applet, click on any of them will triger the operatio we need to do.
We have thought to use Application Pre Navigate event but the Drilldown view could also be accessible from normal navigation. The operation ill get performed that tiem also. There will be an overhead code at Application level.

The WOrkaround to the problem is to use the SWEField property passed to the Applet PreInvoke propertyset gives the Id specific to the drilldown field . This value has a specific format which changes from list column to list column and record to record.

For example, in “INS Claims List Applet”:

Claim Number field’s first record on applet will have SWEField value “s_1_2_33_0” while the second will have “s_1_2_33_1” and so on
Assign To field’s first record on applet will have SWEField value “s_1_2_93_0” while the second will have “s_1_2_93_1”.

We can find Control Id for a list column and use the same for condition check as below.

function Applet_PreInvokeMethod (name, inputPropSet)
if(name == "Drilldown")
//Get SWEField property value
var SWEFieldParts = inputPropSet.GetProperty("SWEField");

// Find last occurrence of “_”
var sLastIndex = SWEFieldParts.lastIndexOf("_");

// Get the Control Id of a list column
var sControlId = SWEFieldParts.substring("0", sLastIndex);

if (sControlId == "s_1_2_33")
// Business logic

return ("CancelOperation");
return ("ContinueOperation");

Sharing is the Power

Monday, September 21, 2009

Unified Messaging Service

Unified Messaging Service is a way to provide the messages to the user as per their interaction with the Application.
This Business service provides an alternative to Browser Script confirm message with more than two buttons on the pop up applet.
Based on the responses,clicking of the button, user can choose to divert the flow of the execution to Business service or cancel the operation.

Go to Admin Order Management Screen -> Message Type
You can easily create a Message type, specifying the Text messages you want to show in the pop up messages. The Active mode is used for Pop up applets. Passive mode is for a applet on the view where the message will all the time.

There is a Detailed View called Responses where you can create the Responses Name(which will be caption on the pop up Applet). The Type of the response and the Business Service and applet you want to invoke after the user click on that response.
Log and Suppress flag are used in case you want to suppress the duplicate messages.

Payload View is used if you want to add any field value in the Message Text. Vanilla only provides some order management related field such as Party Id, Order Id etc.

If you want to specify Bitmap, then you can use the Admin-Document Literature view to add the bitmap image. That will be shown as a record in the Admin Order Managemenet Message Type Bitmap Pick Applet.

On Siebel metalink, they have provided one wrapper BS which can be used to invoke the Message Type. You only need to pass the Message Type, Business Component and a unique ID which will be the Message Id (it can be Process Instance Id in case of Workflows).
Wrapper BS also provide a way to add any field value to the Payload Property Set.

For more details refer Order Management pdf of Siebel Bookshelf.
Feel free to ask any question on the same.

Sharing is the Power :)