Вы находитесь на странице: 1из 52

Siebel Tools Configuration Interview Questions,Answers

Posted Under Siebel-Interview-Questions

Siebel Configuration Interview Questions,Answers helpful for clearing any job interview.

What is eapps.cfg file. and what is its significance.


Eapps.cfg file means swse.
This significance is which application should point to which object manager.

Pick Applet, Dynamic Picklist: which will be better if performance issue is considered.
Pick applet and dynamic picklist both are one
(Or)
DPL Contains the pick applet . So both are the one and same

What is the spooling? what is the process to run the spooling?


According to my knowledge, When ever we are doing some action like create a new record or update a
new record in siebel clients siebel internally run some sql scripts on the database.
If there is any error occured in the transaction then using spool we can get the sql script to a file.
Then we determine why this happened.
Spooling means spooling the queries generated internally by siebel to analyse the performance issues.

What is seed data in Siebel?


Data which is loaded during Siebel installation is called Seed data.

What does install.ksh and imprep.ksh files do?


Imprep.ksh : This is a database unix shell script provided by siebel for importing all your sif files in siebel
repository.It is automatically run while installing siebel and it prepares Repository file in tools.
Install.ksh : contains all manually applied installation files.

Is it required to install gateway server before installing a Siebel server?


Yes, Because one Gateway Server can have multiple Siebel Servers

How is load balancing maintained in Siebel?


Load balancing is maitained by the Gateway server using the third party software Resonate Central
Dispatch.

What is Virtual BC?what is the use of vbc?


Virtual Business Component is used to display the data from another Legacy database table, in the Siebel
screen. It is a staging area used to display Non Siebel data(Data from other sources) in Siebel application
without actually storing the data in Siebel Database.

What happens if you create an employee in Siebel application and forget to create the same in
database
The employees would not be able to log in as you have to create a database login and password for the
employee to login into the client application.

What does position represents in Siebel?


Position determines which records can be accessed by which users. This is in contrast to Responsibility,
which gives View Access.

What is the difference between Master- detail view and MVG.


Following are the main advantages:1) MVG Makes effective use of the space.
2) Mutliple set of detail records can be viewed from a single view

Siebel Realtime Interview Question Answers, Siebel Interview for Realtime problem and solutions
High Interactivity Framework Problem.
We faced this problem quite often in Siebel 7.7.
Problem:
When clicking on Pick Applet in Siebel 7.7 application the application IE instance used to crash and we
had to reopen the application. It happened only in case we were working with Pick Applet.
Reason:

This error was due to High Interactivity Framework files getting corrupt.
Siebel can operate with two types of framework

Standard Interactivity

High Interactivity.

The difference between both the frameworks is how Siebel Client communicates with Server. In case of
standard interactivity the changes you make to record are not committed automatically to the database
and use has to explicitly save the record and in High interactivity even if you step of the record or screen
the changes are committed automatically.
Solution:
Solution of this problem is to go and remove the High Interactivity framework filesand open the
application again. When you open your application Siebel downloads fresh interactivity file from server.
These are steps you can follow to remove and reinstall the interactivity files
Goto Internet Explorer > Tools Menu > Internet Options
Click on Settings Button
Click on View Objects Button
Locate High Interactivity Files
Siebel CRM How To Call a Workflow Asynchronously?
This Article is about Siebel CRM 7.X Workflows and Runtime Events. It tells you how can we use
them to our advantange.
We all want the response time of our Application to be as fast as it can and we do everything that we
can to achieve that. Reduce the response time without actually reducing any functionality. Siebel can
execute workflows in two ways.

Synchronous

Asynchronous

Synchronous Execution : When workflows are executed Synchronously then user gets the control back
only when the workflow has finished it execution.
Asynchronous Execution: When workflows are executed Asynchronously then user gets back the
control immediately and the workflow is submitted to workflow process manager (WPM) as a job to be
executed.
WPM then executes the job later.

Often we have a functionality where large amount of processing needs to be done on an object which
user is not going to use access right now. I can explain it with anexample.
When user clicks copy button on a opportunity or quote we want certain custom entities to be copied over
but which user will not access at that time but later.
So, we can reduce our response time by just copying the quote or opportunitysynchronously and
placing the code of copying of custom entities in workflow and executing that workflow asynchronously.
There are two way to execute a workflow asynchronously

Workflow Policy

Runtime Event and Business Service (BS) Combination

Workflow Policy is pretty traditional method of executing a workflow process.


You create a policy. Enter the conditions Specify the workflow to be executed Generate Triggers
Disadvantages of using Workflow Policy

1. Slow Execution
2. Difficult to setup
3. Not Reliable and Error Prone
What kind of relationship exists between Position and Responsibilities?
It is a question that requires a subjective answer, and answer can vary from person to person.
Answer or Explanation
There is no direct relationship between Responsibility and Position.
The indirect relationship between Responsibility and Position is of Visibility. Both of them drive Visibility
in Siebel.

Responsibility restricts access to particular view so that user cannot see those views.

Position restricts access to particular set of data.

So, as a result both are used to limit visibility of users of application.


After discussing with my friends and peers about this question I am getting a feeling that I am putting my
hand in a bee nest but I think this could end up as a new learning to me and for all.
So guys I beg you to tell me your views what do you think about this question so that this post can
become the new answer for all of us.

What will happen if I provide value in both Pre-Default and Post-Default properties?
We will assume the following values have been given for Pre-Default and Post-Defaultproperties of

Status Field
Pre-Default Value: In Process
Post-Default Value: Complete
Following are the scenarios which can take place:
User creates a New Record and saves the record without changing value of status field:
Pre-Default value (In Process) will be assigned to Status field.
User creates a New Record and changes the value of Status field to Planning
Pre-Default value is going to take effect as soon as user creates a new record but Post-Default value will
not take effect. [Corrected as pointed by Gururaj]
User creates a New Record and changes the value of Status field to blank
Post Default Value (Complete) will take effect
User copies an existing record where value of status field is Planning
Neither Post-Default nor Pre-Default will take effect
User copies an existing record where value of status field is blank
Pre-Default (In-Process) Value will take effect
User copies an existing record and makes the value of the field as blank
Post-Default Value (Complete) will take effect
User changes the value of existing record to blank and saves the record.
Neither Post-Default nor Pre-Default will take effect as these values only takes when the record is initially
created and saved.
Siebel Workflow Step Missing Query Operation
Problem:
Had to create a workflow and the first step in the workflow was Query Operation on Opportunity BC.
Drag the Siebel Operation Step into designer and then started entering Values for this step which were
as following
Type: Siebel Operation
Business Component: Opportunity
Operation: Query
Query was missing in the Operation field dropdown and only Insert and Update were available.
Enter Query manually in the field it accepted the value but started giving error
Error loading Step Definition: Query Operation not found
(Not exact error message)
Solution:
Drop down is a pick list in Siebel and picklist gets its values from List of Values. Queried with Insert in
the Display Value in List of Values view and there was a LOV Type called
WF_SIEBEL_OPER_TYPE_CD which had Insert and Update as active and Query was inactive.
After making Query record Active and restarting tools user should be able to execute my workflow
successfully.
Note: Even if you provide LIC of this LOV in small case then also you will get the error. For this
LOV Display value has to be in Camel Case and LIC in caps

Advanced Siebel Realtime Interview Question Answers - 1

Posted Under Siebel-Interview-Questions

Advanced Siebel Interview Question Answers,Siebel Realtime Interview Question Answers


What is the primary purpose of using surrogate key?
Will those be used in fact tables? If not then what is the purpose in using it?
Answer:Surrogate key is used for indexing purpose i.e. as a primary key for a table.
Reason of using Surrogate Key over Primary Key:
Primary Key may take more or less memory i.e. it may contain characters but Surrogate Key contains
only number. So comparison of numbers is easy when comparing with characters. Yes, Surrogate Key will
be used in fact tables to establish a relationship between dimensions. Surrogate keys are implemented by
using the Sequence generator.

What is difference between Incremental Compile and Full Compile?


Incremental Compile: When we select a single object (BC, Applet etc), several objects (Multiple BC,
Applets, BO etc), single project or several projects to compile in an existing SRF file that is known as
Incremental Compile.
Full Compile: When you compile all the projects in a SRF file that is known as Full Compile.
: Difference:
SRF File: We do an Incremental compile on an existing SRF file and Full Compile results in creation of a
New SRF file.
SRF Size: SRF size is more when we do an Incremental Compile as compared to Full Compile. For
example if a Full Compile results in a 28 MB SRF file then an Incremental compile on that file can
increase its size up to 32 MB

How to update a field when another field is updated?


Scripting

On Field Update Set n user property. (This is the answer interviewer is looking for though)

Explanation:
Scripting:
You can write script on SetFieldValue event of buscomp to update the target field. But the problem with
this solution is if user UNDO the record then your script wontrevert back the changes that it has done.

One more solution can be to check in SetFieldValue event if that field is being updated through global
flag and then on WriteEvent of buscomp execute your script only if thatflag is set to true. But again you
will have to set global flag to false may be Delete event (this is fired when user undo the record).
These solutions by scripting are really cumbersome. So we generally use On Field Update set n User
property for this kind of requirement.
On Field Update Set n:
As the name suggests that this user property is used to set value of another field when a particular field is
updated. In this user property n is the incremental number which is 1 more than the number used in the
last On Field Update Set user property.
Value:
The value of the On Field Update Set user property consists of three quoted parameters separated by a
comma and a space which is as following FieldToCheck, FieldToSet, [Value]
Example:
You want to set TargetField with SourceField value whenever SourceField is updated. So you will specify
it like this.
Property: On Field Update Set 1
Value : SourceField, TargetField, [SourceField]
You can also make use of expression in the Value that you specify.
Example:
SourceField, TargetField, [SourceField] + [AnotherField]

Siebel Latest Interview Questions for Interview,Siebel Interview Question Answers for 2011
What difference between Fields and single value fields
Multivalue field has the child values from a chind BC for the parent record configured through MVL.
single value field will be either from the base table or joined table.
the Difference between Single Value Field (SVF) and Multi Value Field(MVF)
SVF- a field in BC which references a column in a table
MVF- a field in parent BC which references a field in child BC
Field-Identifies and defines a field in a business component. All fields making up a business
component record contain entries from both Single Value Field and Multi Value Field object types.
What is the difference between 1:1 and 1:M extension tables
Ans: 1:1 extension table is like an extension to the base table. if we do not have the required table space
in the base table for craeting new extension columns, we will use the 1:1 extension table's columns
using an implicit join.

in contrast, 1:M extension tables are used for parent child relationship with the base table. where the
1:M extension has only related to the base table. for example, for a contact (S_CONTACT) there will
be a number of specialities in the extension table(S_CONTACT_XM) with the parent child
relationship.
In Siebel for the base tables like S_CONTACT suppose you have 3 address for a perticular contact.
A person is working at 2 places plus his home address. Now you can not store this is in S_Contact as
every contact has a unique row id and that can not be repeated. So you have S_CONTACT_XM. i.e an
extension table to S_CONTACT but with 1:M relation.
What is complex join? Difference with Foreign key Primary Key join?
Complex joins are joins which have following diffrences from a PK-FK joins
# Complex joins can have conditional mappings like >,<,>=,NOT,AND,etc apart from '=' whereas the
PK-FK joins are always '='.
# PK-FK joins are always (1-N), whereas complex joins can have (1 - 0,1) and (0,1 - N) kind of
relationships
What is Localisation?
Modify the object definitions in the local repository.
What is different between bounded and unbounded picklist?
We can enter free text incase of Unbounded Picklist. But, incase of Bounded Picklist, we can not enter
freetext.
Dynamic Picklist is used to Update Join Fields? How?
Actually we cannot modify the join fields we cannot do any modifications and updations on that fields to
do these things we create the dynamic picklist or pickapplet.dynamic picklist to modify (to enter new
records )in the join fields
What is the primary difference between Siebel 7.5.2 and 7.7 Versions ?
are having lot of differences between siebel 7.7 and 7.5.2. the primary difference among them is "
Symbolic strings are available in Siebel 7.7 and not available in 7.5.2". hence the future scope for
upgradation like things are high in siebel 7.7.
Optimization techniques in EIM
1) Limit base tables and columns to be processed by using : only base Tables,ignore base Tables,only
base Columns,ignore base Columns.
2) Always delete batches from EIM tables upon completion. Leaving old batches in the EIM table
wastes space and can adversely affect performance. For other suggestions on working with batches.
3) Run independent EIM jobs in parallel. Two or more EIM processes can be started simultaneously by
using the Siebel Server Manager.
4) Trace Flag Settings, using Synonyms, primary key only Parameters
Limiting the Number of Records and Rows for Merge Processes.
like this many techniques are there which will optimize the EIM process
What is the difference between MVG & Dynamic PickList ?
A1: A new value could be added through an MVG where as Dynamic Pick Applet could only be used to
pick a value from a pick applet which could be constrained to show relevant data. A value entered through
an MVG will show up in a Dynamic Pick Applet if the Dynamic Pick Applet is based on that MVG.

A2: VG---More than one value associated with Single field


Dynamic Pik list---It drawn value from the BC.
How can a particular user among four users with same responsibility can have access to
particular view and this view should not be visible to other users?
A1: yes by assigning the position and giving a unique,user id he can acess the data
A2: The new views which are to be restricted from the other 3 users can be grouped up in a seperate
responsibility and then the 1st user can be assigned that the newly created responsibility. This will save
time and will ensure smooth operations as well.
A3: think this is possible only by scripting. given view's item identifier should be '0'. we need to
capture the USERID of the particular user. if that user id matches the login name then we need to
change this view's item identifier to any other number other than zero.
this script should be written at application level.
How to create Drilldown in Form applet?
Usually Drilldowns will be in List Applets only. But, in Siebel 6 there are Drilldowns on Form applets
also. But, these are not similar to those in List Applets. in order to go to the target view we need to
right click on the applet, on the menu shown we can find the available Drilldowns with Title as "Go To
XYZ View".

Latest Siebel Interview Question Answers on Siebel Configuration


Difference between static and dynamic drilldowns?
Ans: A static drilldown always takes the user to the same view. A dynamic drilldown can take the user to
different views depending on certain conditions, such as the value of a field.
Difference between a web client, dedicated client and mobile client?
Ans: In web client, the application is accessed through a web browser; no software needs to be installed
on the m/c except the web browser. It connects through the web server
In dedicated client we need to install the client software on m/c. Dedicated Client connects directly to
Siebel Database.Mobile Client connects through the Siebel Server.
Difference between Siebel 6 and Siebel 7?
Ans: One of the main differences between Siebel 6 and Siebel 7 is the introduction of thin client and
S_PARTY table which was newly introduced in Siebel 7.
Introduction of thin client in Siebel 7
What do mean by account, contact, opportunity, assets in Siebel terms?
Ans: An account is any external organization with which your company does business. It negotiates
agreements, receives service and bills, and raises trouble tickets. An account is usually the central entity
of a Siebel CRM implementation.
Contacts are individuals with whom a company does business or expects to do business in the future.
An opportunity is a potential revenue-producing event related to one or more companies or individuals.

An asset is any equipment item or component that has a unique identity. Items with serial numbers are
automatically assets.
Base table for those entities?
Ans: S_ORG_EXT, S_CONTACT, S_OPTY AND S_ASSET
Difference between a join and a link?
Ans: A join is used between a BC and a table other than the Base Table of the BC (1:1 or M: 1) while Link
is used to established a 1: M or M: M relationship between two BCs.
How would you create a link that as 1: M relationship?
Ans: To establish a 1: M link relationship between parent and child BCs we need to create fields in parent
BC that define foreign keys for the relationship in the child BC.
How would you create a link that as M: M relationship?
Ans: To establish an M: M link relationship between parent and child BCs we need to define foreign key
for the relationship in the intersection table. We need to mention the inter child column and inter parent
column.
What are intersection tables?
Ans: Intersection tables are used in M: M link. There we establish the relationship between the parent
and child BCs by mentioning the inter child column and inter parent column .
What are catalogs and categories?
Ans: Catalogs are the hierarchy of products and categories in a model.
Category is a classification of items. Categories define the structure through which users find products
and items.
Difference between a static and a dynamic pick list?
Ans: Static pick list draws the values from pick list data managed by administrator. The values displayed
in static pick list dont change during run time. It can be bounded or unbounded. The values for all static
pick lists are stored in S_LST_OF_VAL table.
The dynamic pick list draws values from a business component with records edited by users. It is used to
update joined fields.
Difference between static and dynamic toggles?
Ans: Static Toggle allows users to toggle between applets by selecting the name of the applet from the
Show drop-down list.
Dynamic Toggle Automatically toggles between applets based on the value of a field in a parent applet.
How does view comes in dropdowns?
Ans: The Visibility Applet property of the view object determines whether a view appears in the Show:
combo box on the toolbar or as a View tab.

Whats the need of soft coding LOV?

Ans: So that even if the display value for one of the LOVs are changed we need to
change it and there is no need for recompilation of srf.
When would you use the Total function on list applet and what are the
disadvantages?
Ans: Total is used to display the sum in a list applet for one or more list columns and it
needs to be specifically configured. This can degrade the performance.
Where do you define the visibility applet and visibility modes?
Ans: In Object explore select View and set the properties for visibility applets.
Visibility Modes are defined in BCs.
Difference between a list and a form applet?
Ans: A form applet presents business component information in a data entry form
layout.
A list applet allows simultaneous display of data from multiple records and
presents business component information in a list table format with multicolumn
layout with each record of data represented in a row.
How do you make a field conditionally required?
Ans: By using Field user property
How would you make a record read only?
Ans: Using BC Read-Only Field user property.
How would you display a red asterisk in front of a non required field?
Ans: If the field is required in BC level and it is exposed in UI the asterisk will come
automatically if non-required we need to give the name of JPG file in caption property of
FORM applet controls.
How would you make a field conditionally read only?
Ans: Using Field Read Only Field user property
How would you display the number of child records field in a single parent record
field?
Ans: By using the count function and for the MVL
Difference between predefaults and post defaults?
Ans: The Pre Default Value property of a field (Predefautls Value in the Object List
Editor) automatically assigns a value to that field for a new record. The user can modify
the field if it is displayed and not set to Read Only.

The Post Default Value property of a field assigns a value to a field before the record is
written to the database, if one has not been entered by the user.
When would you use an Associate applet?
Ans: To relate data from two separate entities (many -2-many relationships)
Difference between search specifications and search expressions?
Ans: SetSearchSpec sets the search specification for a particular field, whereas
SetSearchExpr allows for the setting of an entire search expression on the business
component.

Latest Siebel Interview Question Answers - 4


Posted Under Siebel-Interview-Questions

When should you clone a BC, Applet, View?


Ans: Under some special situation one should go for cloning of BCs, Applets and views.
As a general rule, unless you are certain that you need to make a copy of an object
definition, modify rather than copy an existing object definition. One should not copy
objects which are based on specialized class.
Use of primary Id field in links?
Ans: Primary ID Field property specifies the name of the field in the master business
component that holds the row ID values pointing to primary records in the detail
business component.
What is the use of validation in BC?
Ans: Validation is based on a set of rules that help make sure that the
configuration changes are logically consistent with existing object definitions and one
another.
What is the use of Force active, Link specification, Immediate post changes, No
copy?
Ans: The Force Active setting of TRUE indicates to the system that it must obtain data
for the field every time the business component is accessed, even if the field is not
displayed in the current applet; this adds the field to the SQL query each time.

The fields with Link Specification property TRUE are retrieved every time a business
component is queried.
If this property is set to TRUE Field data is posted to the server when the focus moves
off of the field and then the data is refreshed.
On setting No Copy property to TRUE = Specifies that during a Based on Last
operation, the fields value is not copied into the newly created record.
Use of Auto Primary and Check No Match properties in Link?
Ans: The AutoPrimary property determines the setting of a primary child record for
a given parent record. If necessary, the Auto Primary property also determines
the default value of the primary selection. The possible values for Auto Primary are
as follows:

DEFAULT. The first record automatically becomes the primary.

NONE. You must manually specify the primary using the MVG applet.

SELECTED. Selecting a primary on one MVL causes the selection of a primary


on the others

When a multi-value link has been configured with a primary joinwhich is the typical
situationthere are circumstances in which the foreign key used by this join to identify
the primary record is unable to find the primary. For example, this can happen when the
primary record has been deleted from the multi-value group or the multi-value group is
newly created and has no records.
In such cases, the multivalue link can be configured to update the primary foreign key to
a value of NULL, or to a special value of NoMatchRowId, depending on your
requirements. This behavior is configured through the Check No Match property of the
Multi Value Link object type, and has performance consequences.
How would you create a Reverse Join and an Indirect Link?
Ans: Indirect Link: The parent business component of a multi-value link (MVL) is
usually the same as the business component in which the MVL is defined. However, by

using the Source Field property of the [Multi Value Link] object, it is also possible to
create an MVL whose parent business component is related to the current business
component indirectly via a join or via another MVL.
Reverse Join: The Source Field in the join spec holds the foreign key where the
Destination Column provides the primary key. The pickmaps on the joined field provide
the mapping between these when a value from the pick BC is picked from the pick
applet. As a result, the primary key value (specified in Destination Column) is copied
into the column on which the source field is based on.
However, if the join spec is reversed, i.e. the Source Field is set to Id, the join
reverses the relationship and the pick BC no more provides the primary key value. In
such situations, if a picklist and pick applet is implemented on the joined fields, the
users update the primary key in the base BC (that implements join) which is Row_Id.
Essentially, the Row_Id of current record is modified in this case.
What are web templates?
Ans: A Siebel web template is a special kind of HTML file that defines the layout and
formatting of elements of the user interface (such as views, applets, and controls). It
provides this layout information to the Siebel Web Engine when rendering Siebel
objects in the repository to HTML files.
How can you changes the web templates and does it increase the size of the
repository and srf?
Ans: Web Templates can be changed by HTML code in .swt files or CSS files located in
PUBLIC/ENU folder.
No it does not change the repository and srf size
What happens if you inactivate vanilla fields?
Ans: It is not recommended to inactivate fields within business components. It might
lead to unexpected behavior.
What are specialized classes?
Ans: A class property gives an object access to specific functionality. The class refers to
a dynamic-link library (DLL) that is installed on the client or server machine and holds
the required functionality.

Specialized classes exist for business components or applets that have specialized
behavior or features. Examples of specialized modules include Quotes, Forecasting,
and Correspondence. Anything other than CSSBusComp, CSSBCBase, CSSFrame,
CSSFrameList is specialized class.

How would you make an MVG applet read only?


Ans: By checking the No Update property in MVG Field. If the base record is read
only and we need to make the MVG applet read only, one has to use BC user property
Parent Read Only Field in the MVG BC.
Is there a need of making the MVG field read only?
Ans: Yes, it can be made read only so that invalid data can not be entered and always
the MVG applet is invoked to pick the record.
How do you constraint an LOV?
Ans: Pick applet constraints are defined using the Constrain property in the Pick Map
object type.
Why would you clone an application and what are the effects?
Ans: Recommendations for cloning an application
1. Customers should not need to copy the Siebel Applications. They should use the
standard application (better to use the out-of-the-box object) and grant access to the
views they want to use by responsibilities. They do not need to de-activate any objects.
2. Some side effects of copying the Siebel application:
During the upgrade, they will not get the new features on the custom application or get
the changes.
- Copying the application will increase the size of the database.
- The upgrade scripts that are provided are built to modify the standard applications
(provided), so they wont do anything on the custom application (Custom applications
will not be upgraded).
- There is no Upgrade Ancestor setting for Application.
Use of Set Profile Attribute and Get Profile Attribute?
Ans: This is one of the Product Manipulation Toolkit Business Service Methods.
It assigns values to attributes in a user profile.
This is one of the Product Manipulation Toolkit Business Service Methods.
It returns the value of the specified attribute of the user profile.

Use of show more button?


Ans: Clicking the show more or show less button in a form allows you to look at more or
fewer fields; clicking the show more or show less button in a list allows you to look at
more or fewer records, according to your needs.
How would you make an MVF required?
Ans: By using Siebel scripting. If there is a Primary Id specified by making that field
required.
When would you use symbolic URL?
Ans: One can use symbolic URL to display external content in the Siebel user interface.
What are the different types of authentication and their use?
Ans: Siebel Systems has developed an open authentication architecture that integrates
with a customers selected authentication infrastructure. Siebel Systems supports three
primary types of authentication:
Native database authentication
For employee applications, Siebel Systems provides internal mechanisms for credential
collection and verification. The default login form collects Siebel username and
password credentials. The underlying security systems of the database verify users
credentials.
Security Adapters for External Authentication
For employee or customer applications, Siebel Systems includes a
preconfigured security adapter interface to allow organizations to externalize
credential verification. The interface connects to a security adapter, which contains the
logic to validate credentials to a specific authentication service.
Siebel Systems customers can therefore verify user credentials with security standards
such as Lightweight Directory Access Protocol (LDAP) or Active Directory Services
Interface (ADSI).
Web Single Sign-On
Siebel Systems offers customers the capability to enable a single login across multiple
Web applicationsalso known as Web Single Sign-On (SSO). Siebel Systems provides
a configurable mechanism for communicating with Web SSO infrastructures, identifying
users, and logging users into Siebel applications.
With Web SSO, users are authenticated independently of Siebel applications, such as
through a third-party authentication service, or through the Web server.
How would you create an LOV?

Ans: In Application Administration screen, go to LOV Explorer and create the LOV type
first. Then on come List of Values in Application Administration and associate values for
that LOV type.

Difference between Siebel Horizontal and Verticals?


Ans: The Horizontal Applications are Callcenter, Sales and Marketing.
Whereas all industry specific applications like eAutomotive, eDealer, ePharma, etc
comes under Siebel Verticals
Difference between Employee facing and Customer facing applications?
Ans: Employee facing applications are those which are used by internal employees of
the organization, these are High Interactivity application.
Whereas Customer facing applications are those which are used and accessed by
outside users and are on Standard Interactivity
What are pickmaps and why the id field should be there in the pickmap if it is for
a dynamic picklist?
Ans: Pick Maps are Children of the originating field. Each pick map object definition
defines a correspondence between a field in the pick business component and one in
the originating business component. These correspondences provide the information
required to update the current originating business component record with information
from the pick business component record as soon as a record is picked.
Id field needs to be present so that the reference is stored with respect to the originating
field.
How would you create a hierarchical Picklist?
Ans: A hierarchical picklist displays values that are constrained by values selected in
another picklist.
The hierarchical relationship between the values is established in the list of values table.
All the values or picklist within the hierarchy are defined using the same LOV Type.
One can use Parent LIC description also.
What are the required fields in S_LST_OF_VAL?
Ans: NAME, VAL, TYPE. (BU_ID and LANG_ID are defaulted)
What is the use of Group Administration, User Preferences?
Ans: Through Group administration, one can define the companys structure (defining
organizations, divisions, positions, and responsibilities) in Siebel Application

One can customize aspects of the Siebel application through the User Preferences
screen. Some of the defaults one can view and, in some cases, edit in the User
Preferences screen include password, time zone, calendar, spelling, message bar,
default queries, and other items that are related to your particular job.
Difference between High Interactivity and Standard Interactive application?
Ans: Standard Interactivity mode resembles most traditional Web applications. Page
refreshes occur often, such as when users create new records, submit forms, and
browse through lists of records.
Customer applications are deployed in Standard Interactivity mode.
High Interactivity mode is designed to resemble a Windows client. It supports fewer
browsers than Standard Interactivity mode, but it includes a set of features that make
data entry easier for users. For example, page refreshes do not occur as often as they
do in Standard Interactivity mode. Users can create new records in a list, save the data,
and continue browsing without a page refresh having to occur.
Employee applications are typically deployed in High Interactivity mode.
Other features supported by High Interactivity mode are:

Browser scripting.

Implicit commit, which allows the application to automatically save a record when
the user steps off it.

User interface features, such as drag and drop column reordering, drag and drop
file attachments, keyboard shortcuts, smart controls for calendar, calculator and
currency functions, and applet scroll bars.

What is LDAP and how it can be used?


Ans: LDAP is a security adapter. One can set up LDAP to authenticate a user for
access to a single Siebel application when the user does either of the following:

Attempts to access a protected view (one specified for explicit login), such as
a checkout view in Siebel eSales

Logs in while on an unprotected view, such as a Siebel applications home page

One must do the following tasks to set up a typical security adapter


authentication architecture:

Set up a directory from which a database account and a Siebel user ID can
be retrieved for each user.

Set up a security adapter as a plug-in to the Application Object Manager.

Edit the eapps.cfg file to provide authentication parameter values.

Edit the configuration file for each Application Object Manager to


provide authentication parameter values.

Edit authentication-related parameters in the Name Server of the


Siebel Gateway.

Set authentication-related system preferences.

Restart the Siebel Server and the Web server.

Siebel Systems provides an LDAP/ADSI Configuration Utility to help you configure a


directory service for your Siebel applications.
Use of Message categories?
Ans: So that developer can define custom standard messages and use the message Id
in script rather than changing it everywhere.
How would you configure about view in customer facing applications?
Ans: The solution for implementing the About View functionality in customer facing
application is the use of a mini button that invokes the AboutView method (About
View (SWE) command):
Siebel Workflow Interview Questions Answers
1. How do you invoke WFs?
A: Run Time Events - specified at Start Step (Event Object, Event, Event Type), Scripting - Business
Service, Workflow Policies.
2. What are the steps in outbound WF?
A: Start EAI Siebel Adapter EAI XML Converter HTTP or MQ Series or File Transport - Write to
file.
3. How do you handle error handling in WFs?
A: Persistency, Exception points and write to file, Write a error handling workflow.
4. What is persistency? How is it useful?
A: To trouble shoot or debug the workflow in workflow process log by drilling down on, persistency
level and frequency it affects the performance- stores the state information.
5. What is State Model?
A: Provide a data driven method for extending workflow control based on the status SR Open -

Cancelled, you define the state model


6. What transport you used in the WFs?
A: HTTP, MQ Series, EAI File Transport
7. When do you use sub process in WF?
A: WF process is created at BO level, if we deal with multiple business objects.
8. What External systems did u interact with and with what middleware?
A:with Biz Talk (XML, MQ series)or See Beyond (uses ASP
pages)or TIBCO (Siebel Connector) middlewares.
9. Explain where did you use WF in your last project?
A: Claim Submission; to insert the data into Audit Table; write a business service Add Responsibilityadding a responsibility to the new person logging in. -Retrieve role ( find the user role) - Add
responsibility (row id of the user and responsibility), user BC
10. Did you use custom BSs in WFs?
A: Yes, For changing Priorities.
11. Explain where did you have to create BS?
A: Tools
12. How do you pass inputs to BS?
A: Thru Input Arguments & Script.
13. What language you used to write BS?
A: eScript (or) Siebel VB
14. Did you use M:M relationship in your last project ?
A: Yes, for Position & Responsibility, Account & OPTY
15. How do you pass query criteria to BS from BC in BS
A: Search String (VBC - input.searchstring)

Comprehensive Collection of Siebel CRM Configuration Questions and Answers gathered from
Siebel Technical Experts
What is detailed category and what is its use in configuration.
Detailed Category and Aggregate Category are the two different sets. You can add a view to a screen
under Detailed Category or an Aggregate Category. For Example:
If I am creating two Views as detailes views. First I need to create a Detailed Category. Then I have to

create two Detailed Views, for which the "Category" property must be specified with the created Detailed
Category name. This is same for Aggregate Views also.
What is constrainted picklist? Where you will drop the constraints?
Constrainted picklist displayed value based on contaraint used.
Add field to constraint in pickmap of a field where picklist has configured in BC and set constraint option
of added field to true.
How will you edit the joined fields values in join?
Using picklists and MVGs. MVGs require join field and link as prerequisites unlike picklists where just a
join is enough.
How will you improve your performance in views?
The basic factors for performance decrease in views will be. more number of applets. which led to many
links. and more joined fields in a single applet. MVG's which do not have the primaries set.
What is Virtual BC? what is the use of vbc?
Virtual Business Component is used to display the data from another Legacy database table, in the Siebel
screen.
What is Siebel file system?
It is a shared directory that stores compressed files used by Siebel applications. Examples: Product
literature, sales tools, presentations
Read/write access is controlled by the File System Manager component on Siebel Server.
How is Siebel 7.x architecture different from Siebel 6.x?
In siebel 7.x it was defined as 1.Physical user interface2.Logical user interface3.Business layer4.Data
layer5.Third party RdmsThe main difference is , In siebel 6.x Phycial interface was not achieved.In
Physical Interface includes web templates, css sheets
How is load balancing maintained in Siebel?
Load balancing is maitained by the Gateway server using the third party software Resonate Central
Dispatch.
What is Resonate?
Resonate is third party software development tool, which is used for distibuting the cilent request to the
least laden siebel server.
What is nameserver? What does it do?
Name server is the part of gateway server that dynamically registers all servers in enterprise, serves a
connection broker across the enterprise.
Is it required to install gateway server before installing a Siebel server?
Yes, Because one Gateway Server can have multiple Siebel Servers
What is the use of catch in escript?
The catch clause is used to handle the exception. To raise an exception, use the throw statement.
When you want to trap potential errors generated by a block of code, place that code in a try
statement, and follow the try statement with a catch statement. The catch statement is used to

process the exceptions that may occur in the manner you specify in the exception_handling_block.
The following example demonstrates the general form of the try statement with the catch clause. In
this example, the script continues executing after the error message is displayed:
try
{
do_something;
}
catch( e )
{
TheApplication().RaiseErrorText(Clib.rsprintf(
"Something bad happened: %s
",e.toString()));
}

What is the relationship between a view and a b/o?


View references the business object. Every view is associated with a particular business object.
Why is it not recommended to modify existing base tables?
During upgradation it will cause problem if we extend base tables.More over if it is necessary u can go for
extension tables
How do you create extension table to an interface table in Siebel?
Extension tables are created only for base tables.I think we can not extend the interface table.
What is an extension table and how is it related to base table?
Extension table may be 1:1 realation table to the base table or a 1:M relation to the base table.
1:1 extension table and the base table are logically considered as a single table.
Par_row_id will be the foriegn key.
Can you create an extension table with an intersection table?
We can not create an extension table with an intersection table
How do you create intersection table?
In Tools select new object wizard in that select Table enter the name of the table starting with CX_ and
select the project and specify the type of table i.e. an intersection table for the two existing tables
Then it will ask the first Parent Table and foreign key column name for the first parent table in the same
way fill the second parent table and FK column.
How is Siebel 7.x data model is different from Siebel 6.0 data model?
S_PARTY is the base tables and S_CONTACT,S_ORG_EXT,S_POSTN, S_USER are now extension
tables. Siebel 6.x was dedicated application while from Siebel 7.x onwards we can access Siebel
application via web.
What is seed data in Siebel?
The data that siebel supplies as a part of siebel vanilla application is seed data.
What is s_party table?
S_PARTY Table is the Base Table for all the Party related tables.

S_ORG_EXT
S_CONTACT
S_USER
S_BU
and etc.
the party tables can have the implied joins. the party related BC's have the S_PARTY as the base table.
so, any of these tables are extension tables.
What does install.ksh and imprep.ksh files do?
Imprep.ksh : This is a database unix shell script provided by siebel for importing all your sif files in siebel
repository.It is automatically run while installing siebel and it prepares Repository file in tools.
Install.ksh : contains all manually applied installation files.

1.) what is the difference between GET and CHECK OUT?


Get: Just gets a read only copy of a project. Check out: takes a read/write copy from
theserver and locks it both on the server and locally so that only you can work on it.
2.) What is the difference between Check In/Check Out and locking?
Check In/Check Out allows changes to returned to the server, locking only allows you to
make a change that is all.
3.) What is PAR_ROW_ID?
It is a FK and it stores the PK of the main table.
4.)What three fields must have a value when creating a new record in a 1:M
extension table?
PAR_ROW_ID - stores PK of main table, TYPE - stored 1:M type, NAME - stores 1:M
name.
5.)Name three advantages of an MVG
1) Takes up less room on the view, 2) Allows multiple child records to be available in a
single view, 3) Allows users to see child records for multiple parent records, 4) Allows for
query criteria to include values for fields in the parent/child BC.
6.)What are MVFs, MVGs, and MVLs?
Multi Value Fields allow master-detail or parent-child information to be displayed in one
applet. Multi Value Group applets allow for the popup display of detail or child records on
demand. Multi Value Links leverage Links to support MVFs.
7.)How do you run EIM?
Create a task, set the parameters and then start the task.
8.)Name the 4 types of Assignees for Assignment rules
All, above minimum: All, must assign: One, Best fit: One, Random.

9.) Name the 3 inclusion methods


Include, Include all and Exclude
10.)What is Assignment Manger?
This allows organization to define rules that automatically assign data ownership to the
most qualified people
11.) What are the three basic elements of the Assignment manager?
1) Candidates: the people/positions to be evaluated as assignees. 2) Assignment
Objects: the entity (e.g. Account). 3) Assignment rules: the criteria
12.)? What kinds of information is contained in the .cfg file?
Siebel application to run,
Data sources available to application,
Repository file to use,
Application title to display in splash screen,
Application title to display in application window contains initialization settings for the
application engine such as - Gateway Server, Enterprise Server, Application info, server
parameters, srf file, database sources, etc.
13.)Are joined fields updateable?
No, they are READ-ONLY. In order for data to be manipulated (insert/delete/update), it
must appear in an applet in which the fields (to which the controls are mapped) are
single-value fields mapped to columns of the BCs base or main table.
14.)How will you edit the joined fields values in join?
1.Using picklists and MVGs. MVGs require join field and link as prerequisites unlike
picklists where just a join is enough.
2. Configure picklist to edit value in joined field.
15.)What is the .srf file?
A file that contains object definitions in a compressed, binary format, Stored in the
\Objects folder, Read at runtime, Siebel reads the file on demand as different parts of
the application are executed, once read from the file, it is kept in memory.
File that contains application configuration - UI objects specifying the data presentation,
business objects specifying business logic, data objects specifying the data organization
& storage

1.) What is the difference between Links and Multi Value links?
Link is used for Master Detail View of two BCs. where as MVL is used to view the child records
using MVG. MVL uses Link to get the records from the child BC.
Link is between the entities and MVL is between the records
2.)Describe the 3 Object Explorer (OE) tabs.

Types: higher level object types displayed,


Details: expanded top level object type displays object definitions of that type,
Flat: displays all definitions of that type
3.)What object types have a Sort Specification property?
BCs,
Pick Lists,
Links.
4.)What are the steps for creating a static pick list?
Create a new static pick list. Add BC field that will be populated. Map the BC field to the pick list
BC field. Specify which control or list column will invoke the pick list applet. Picklist will be empty
until values are put in the S_LST_OF_VAL table.
5) What are the steps for creating a dynamic pick list?
Create a Pick list using a BC representing the joined table. Associate the Pick list with a BC field.
Map the BC fields to the Pick list BC fields. Create a Pick list applet. Specify which control or list
column will invoke the Pick list applet.
6)What are the steps for creating a MVG?
Create a MVL in the parent BC. Add MVFs in the parent BC. Create a MVG applet to display child
records. Add controls/list columns to the parent applet to display MVFs and invoke MVG applets.
Add primary FK in the parent BC and on the MVL.
7) What is a primary key?
A primary is a FK on the parent-side that points to one primary record on the child-side of a 1:M
link. A primary FK creates a 1:1 link between the parent and the child.
8.) How do you create a primary on a MVL?
Add a primary key field on the parent BC. Set the Primary Id Field and Use Primary Join
properties on the MVL.
9.)List some of the calculated field limitations.
Cannot be used as sort criteria, stored in columns and read only. Validation criteria on calculated
fields is ignored. If SQL is used and performs a calculation, the value will be applied after the data
is in the BC, but before displaying in the applet.
10.)Describe the types of Siebel database extensions.
Standard extension tables - Predefined tables which support 1:1 or M:1 relationship. Partof the
existing physical database.Custom extension tables and custom extension columns - New 1:1
tables, New columns that are added to new and existing tables.
11) What are the steps for using a standard 1:1 extension table?
Add a joined field in the parent BC (based on the main table). The join is implied and created
automatically at runtime. Add a control or list column to an applet.
12.) What are the steps for using a standard 1:M extension table?
Create BC to represent 1:M extension table
Set Search Spec to equal Pre Default Value TYPE field

Add fields to the new BC (ensure NAME and TYPE)


Create a link from BC to New BC and add the New BC to BO
Create applet to display data from new BC
13)What is data-driven access control?
Controls the read-only nature of BC, BC record, or BC Field based on value of another BCField
BC Read Only Field: current record read only
Field Read Only Field: field specified by field name is read only
Parent Read Only Field: BC read only
14)Name the 5 main building blocks of the Siebel Architecture
File Server,
Gateway Server,
Enterprise Server,
Siebel Server,
Siebel Database Server.
15) Name the four levels of control we have over the Server
Enterprise,
Server,
Component,
Task.
16.)Explain the 5 main functions of the Server Manger
Controls your Enterprise,
Manages Siebel Servers,
Allows the configuration of the components,
Allow you to run tasks,
Collect statistics.
17) Name and explain the three modes of Component operation.
Server Mode: run background operations for the server and runs forever, once started,
Task Mode: run specific task and exits upon completion,
Session Mode: created dynamically for client request. Runs as long as session is maintained then
exits.

How do you import List of Values?


Depends on any Hierarchies, but using EIM_LST_OF_VAL(for EIM load) import parents first then
children, otherwise you will receive failure message.
What is the difference between EIM and EAI?
EIM : It is batch mode Integration. When data valume is large then we have to go to EIM
EAI : It is real time Integration. When data valume is small then we have to go to EAI
What is the difference between Join and Link?
Join: It defines M:1 relation between a field in BC to the Column in table.

Source Field is the Foreign key field in BC while Destination column is the Primary Key column in
Table.
Link:
(i)It defines 1:M relation between a field in parent BC to the field in the child BC.
(ii)Source Field is the Primary Key field in Parent BC while Destination Field is the Foreign Key
field in child BC.
How do you set up employees in Siebel?
The Employee is also a USER who must be assigned with a valid position. Since the Position
maps to the Division which in turn maps to a Organistion the Data visibility is maintained through
this position and the Responsibility of the user.
How do you assign responsibilities to employees in Siebel
In Administration Group > Employee there is a field called Responsibility there add your new
Responsibility, make as Primary and remove the old one.
What are Pre defined Queries?
Pre Defined queries are some thing which helps us to navigate directly to particular screens or
views. it helps in accessing the screens or views in faster manners
What is an extension table and how is it related to base table?
Extension table may be 1:1 realation table to the base table or a 1:M relation to the base table.
1:1 extension table and the base table are logically considered as a single table.
Par_row_id will be the foriegn key.
What is the difference between "PickList Generic" and "PickList Hierarchical" Business
components?
"PickList Generic" BC is used for Static Picklists. "PickList Hierarchical" is used for Hierarchical
PickLists
What is the link specification
Link spec uses parent type default values & gets the value for the child record
What does Business Component User Mode indicate
Business Component User Mode specifies the Visibility setting for the BC. Like "All", "Personal",
"Manager", "Organisation".
What is All Mode Sort?
This property determines whether or not siebel will override the sort specification and if so
determines the sort that will be applied to the BC for All or Manager's view. The values are TRUE,
FALSE or NORMAL
NORMAL --uses BC defined sort specification
True --Overrides the BC osrt and Uses the U1 index
False - Removes all sorting.
When you have Pre Default Value and Post Default value for a Field, which one will be
stored in the Database.
Pre Default Value will be defaulted when new record is created. Post Default Value will be

defaulted if there is no value specified for the field. so, Pre Default Value will be stored in the
Database. harsha: you can add quistions by clicking the hyperlink on the above bar "Ask
Quistion".
How do you specify a view to be displayed as aggregate view in Siebel 7.7
When adding view to screen specify the type as aggregate view.But Before that you should
create the parent category.then add this parent category to aggregate view.
OR
Parent category for Aggregate view is not required. If there is a parent category for an aggregate
view, then aggregate view will appears as a link in the view drop-down list in applet headers, or it
will appears as a link in the link bar below screen tabs.
Why do we use Symbolic Strings in Siebel 7.7
In Siebel the text that is displayed on the screens and views are stored in the repository and
compiled to an SRF file. This includes the names of every screen, views and fields. When you
display a page the server uses the SRF file to determine which fields to show and what test
(strings) are associated with each fied. This model of keepijng the strings from the view definition
is called symbolic strings.
Uses
Reduces the redundancy
Simplifies maintenance because only you have to maintain one string for a given Term
Reduces the localization costs, Time and inconsistences.
What is horizontal and vertical in siebel?
Siebel Hrozontal application is general to every industry. where as Vertical is specific to a
industry. such as eAutomobile, eInsurance, eBanking etc.
What is the "Parent Category" property for a Screen View?
This Parent Category specifies the view heading for a bunch of views related. the views belongs
to this Parent Category will be shown as View Tabs below the master applet.
What is the function of SWSE on the Web Server? what is it?
SWSE(Siebel Web Server Extension)'s function is to accept the siebel requests and pass it on to
Gateway server where the server manager decides, to which siebel server component should this
request go.
Is it possible to have multiple database servers for one gateway server.
YES, But it needs multiple enterprise servers, for multiple database. As not more than one
database, could be added to an enterprise server, these inturn could be connected to a single
Gateway Server
How do you control visibility in Siebel?
Visibility will be controlled by Position and Responsibility in Siebel. Position dictates the Data level
visibility and the Responsibility dictates the view level visibility.
What is the difference between an organization and division in Siebel?
Organizations can be used to control data visibility, Divisions cannot.Divisions can be used to set
Default Currencies.

How do you set up employees in Siebel?


The Employee is also a USER who must be assigned with a valid position. Since the Position
maps to the Division which in turn maps to a Organistion the Data visibility is maintained through
this position and the Responsibility of the user.
What happens if you create an employee in Siebel application and forget to create?
The employees would not be able to log in as you have to create a database login and password
for the employee to login into the client application.
Why do you need to create employees at the database in Siebel?
To enable the employee to connect to the database using the Application and have database
access, the user corresponding to that employee should be created in the Database
What is position type field in position applet?
Position type field is a picklist in position applet
What does an opportunity, account contact do in Siebel?
In siebel, opportunity account and contact are the business entities. and these entities have
relationships for example one account has many opportunity etc., the relationships are one to one
or one to many, many to many. These business entities are very essential to configure siebel
application.
How is the opportunity related to an account?
oppotunity to account M:1 and account to opportunity 1:M
How is tools architecture constructed in in Siebel?
In siebel tools
Type gives parent child relationship
and Flat displays all the siebel objects
and Detail gives all the records in object.
What is the new layer in Siebel 7.x version?
Physical User Interface Layer
What do you mean by virtual business comp. in Siebel?
A BC which is not Based on any Siebel Base Tables and which get data data from other external
sysytems instead of getting data from underlying siebel Base table
How does your b/c and view related?
View contains applets which are related to b/c. Collection of b/cs is b/o.
How do you display the no. of records in a picklist(combo box/drop down) not the records
in the pickapplet, in just 3 rows and not 5 rows(which is the default)?
Set the HTML no of rows to 3
What is the use of the indirect multivalue link and how do you configure it?
use of indirect MVL.
Cnsider there are 3 bus comps. in that say there is no relation ship between the 1st and 2nd bus

comp and there is relation ship between 2nd and 3 rd bus comp. but some fields are necessary
from the 2nd bus comp. it will be fetched through the relationship from 1st and 3rd bus comp. this
is called indirect MVL.
Whats the difference between siebel 7.5 and 7.8? if we upgarde the application to 7.8 from
7.5 what are the areas we need to give importance from QA(Testing) point of view?
Various Areas are -->
1. Workflows to be activated
2. All server components ( including repeating component)
3. All Interfaces
4. Third party software integration ( Humming Bird, ChartWork Server, IBM-LDAP, Actuate etc)
5. Actuate reports
6. Copy/Reprice Quote Functionality
7. Assignment Manager
These are the major area I believe.
What is the maximum number of applets can be there in a view
There can be eight applets at most in Siebel6.
There can be 16 applets at most in Siebel7.7.
How to call external webpage from siebel application
This can be done through scripting..
For an example:
In preinvoke method for a button click,
window.open(URLNAME)
will open a webpage for a given url in URLNAME variable
What is detailed category and what is its use in configuration.
Detailed Category and Aggregate Category are the two different sets. You can add a view to a
screen under Detailed Category or an Aggregate Category. For Example:
If I am creating two Views as detailes views. First I need to create a Detailed Category. Then I
have to create two Detailed Views, for which the "Category" property must be specified with the
created Detailed Category name. This is same for Aggregate Views also.
What is constrainted picklist? Where you will drop the constraints?
Constrainted picklist displayed value based on contaraint used.
Add field to constraint in pickmap of a field where picklist has configured in BC and set constraint
option of added field to true.
How will you edit the joined fields values in join?
Using picklists and MVGs. MVGs require join field and link as prerequisites unlike picklists where
just a join is enough.
How will you improve your performance in views?
The basic factors for performance decrease in views will be. more number of applets. which led to
many links. and more joined fields in a single applet. MVG's which do not have the primaries set.
What is Virtual BC? what is the use of vbc?
Virtual Business Component is used to display the data from another Legacy database table, in
the Siebel screen.

What is Siebel file system?


It is a shared directory that stores compressed files used by Siebel applications. Examples:
Product literature, sales tools, presentations
Read/write access is controlled by the File System Manager component on Siebel Server.
How is Siebel 7.x architecture different from Siebel 6.x?
In siebel 7.x it was defined as 1.Physical user interface2.Logical user interface3.Business
layer4.Data layer5.Third party RdmsThe main difference is , In siebel 6.x Phycial interface was
not achieved.In Physical Interface includes web templates, css sheets
How is load balancing maintained in Siebel?
Load balancing is maitained by the Gateway server using the third party software Resonate
Central Dispatch.
What is Resonate?
Resonate is third party software development tool, which is used for distibuting the cilent request
to the least laden siebel server.
What is nameserver? What does it do?
Name server is the part of gateway server that dynamically registers all servers in enterprise,
serves a connection broker across the enterprise.
Is it required to install gateway server before installing a Siebel server?
Yes, Because one Gateway Server can have multiple Siebel Servers
What is the use of catch in escript?
The catch clause is used to handle the exception. To raise an exception, use the throw statement.
When you want to trap potential errors generated by a block of code, place that code in a try
statement, and follow the try statement with a catch statement. The catch statement is used to
process the exceptions that may occur in the manner you specify in the
exception_handling_block.
The following example demonstrates the general form of the try statement with the catch clause.
In
this example, the script continues executing after the error message is displayed:
try
{
do_something;
}
catch( e )
{
TheApplication().RaiseErrorText(Clib.rsprintf(
"Something bad happened: %s
",e.toString()));
}

What is the relationship between a view and a b/o?


View references the business object. Every view is associated with a particular business object.

Why is it not recommended to modify existing base tables?


During upgradation it will cause problem if we extend base tables.More over if it is necessary u
can go for extension tables
How do you create extension table to an interface table in Siebel?
Extension tables are created only for base tables.I think we can not extend the interface table.
What is an extension table and how is it related to base table?
Extension table may be 1:1 realation table to the base table or a 1:M relation to the base table.
1:1 extension table and the base table are logically considered as a single table.
Par_row_id will be the foriegn key.
Can you create an extension table with an intersection table?
We can not create an extension table with an intersection table
How do you create intersection table?
In Tools select new object wizard in that select Table enter the name of the table starting with CX_
and select the project and specify the type of table i.e. an intersection table for the two existing
tables
Then it will ask the first Parent Table and foreign key column name for the first parent table in the
same way fill the second parent table and FK column.
How is Siebel 7.x data model is different from Siebel 6.0 data model?
S_PARTY is the base tables and S_CONTACT,S_ORG_EXT,S_POSTN, S_USER are now
extension tables. Siebel 6.x was dedicated application while from Siebel 7.x onwards we can
access Siebel application via web.
What is seed data in Siebel?
The data that siebel supplies as a part of siebel vanilla application is seed data.
What is s_party table?
S_PARTY Table is the Base Table for all the Party related tables.
S_ORG_EXT
S_CONTACT
S_USER
S_BU
and etc.
the party tables can have the implied joins. the party related BC's have the S_PARTY as the base
table. so, any of these tables are extension tables.
What does install.ksh and imprep.ksh files do?
Imprep.ksh : This is a database unix shell script provided by siebel for importing all your sif files in
siebel repository.It is automatically run while installing siebel and it prepares Repository file in
tools.
Install.ksh : contains all manually applied installation files.
Siebel Workflow Interview Questions,Siebel Workflow Quiz,Siebel Workflow Multiple
Choice Questions

If I do a Insert operation at the Siebel Operation step in a Workflow process, the newly
created record's row_id will be stored in ?
Object Id
Siebel Operation Object Id
Process Instance Id
When do I need to run Generate Triggers?
When I modify the workflow policy duration field
When I change the workflow policy action
When I change the workflow policy condition
After workflow monitor agent successfully processes the record, then it moves the record
in which table?
S_ESCL_STATE
S_ESCL_LOG
S_ESCL_REQ
None
Can we create a Workflow Process without a specifying a Business Object?
Yes
No
Can we insert a Wait Step in workflow with mode as "Service Flow" ?
Yes
No
If there are two business services, with exactly same name, one is Client BS
(Administration - Business Services ) and the other is Tools BS ( Srf ), it is being used in a
Workflow Process, which will take priority ?
Client Business Service
Tools Business Service (srf)
Can we deploy Workflow processes as Web Services?
Yes
No
Can you update MVF(multi value field) using the Siebel Operation step in a workflow
process?
No
Yes
Increasing Workflow Persistence helps to trace the complete workflow execution, which
helps to find error step in case a error happens. Where can we set the Persistence for a
workflow in Application?
Administration Business Process -> Workflow Deployment -> Active Workflow Processes
Administration Business Process -> Workflow Instance Admin
The 'Stop' step of workflow is used to ?

Stop the workflow which can be resumed


Stop workflow execution with a custom popup message and which can't be resumed
Normally stops the workflow without any popup message
Which of the following business service can be used to call a Workflow Process
asynchronously?
Workflow Process Manager
Asynchronous Server Requests
Can we have more than one version of Active Workflow Process?
Yes
No

Siebel Actuate Interview Questions - 2


Posted Under Siebel-Interview-Questions

Siebel Actuate Interview Questions asked in MNCs like IBM,Delloite,Accenture,Thomson


Reuters,Wipro,Tech Mahindra

If I want to use a Datastream globally what do we do. (composite Datastream)

What property you use to Hide a control at runtime.

Have you done some scripting in Actuate

How do you display sum of two fields in Actuate - (val(control1) +val(control2))

How do you display total of a field for all records displayed

If I put a frame (multiple records) in Before, page header, page footer and after section, what will
be displayed in report

Have you used graphics in report (bar, pie) in Siebel Actuate Reports

How do you make a graphic control visible/invisible based on data of another control

How do you display parent and child data as a single record. (Memory sorter)

If I use the same child Datastream more than once in Horizontal Seq section, what will happen?
(forward only)

What are Parameterized Report, how to configure it.

What do Access Base DB Name, Template Name and Current Record represent.

Explain the Steps you take to start developing a report from creation of rol to rox

What control you use to implement Sorting records in Report

How do you design a report which has multiple child datastream?

What is the use of Memory Data Sorter?

Siebel Enterprise Application Integration Interview Questions,Siebel EAI Interview


Questions,Siebel EAI Quiz
Web Services make use of which vanilla business service to update,insert data in Siebel ?
EAI Siebel Adapter
EAI UI Data Adapter
EAI MQ Series Server Transport
When you import a WSDL file in Siebel Tools, what type of Web Service is created?
Inbound Web Service
Outbound Web Service
If I import a XSD or a DTD file in Siebel Tools, what is the Type of Integration Object is
created?
Siebel Business Object
XML
SQL Database Wizard
What user keys a Web Service use to identify a record?
Base Table User Keys
Mod Id and Row Id of IC's
IC User Keys

If an IO-IC is created on a BO, and one of the IC gets two User Property set as MVG=Y and
MVGLink = . What is true below?
Child BC is added in the BO via a Link
A MVL is created in the Parent BC connecting to Child
What is the best mode to call a Workflow asynchronously using the Business Service
Asynchronous Server Request?
Sync
Async
DirectDB
SoapUI is a free tool which can be used to test, what ?
Business Service
Web Services
Workflow
How can we generate Empty Input Request Message based on a Integration Object?
Using EAI XSLT Service Business Service
Using PRM ANI Utilities Business Service
Using EAI Data Transformation Engine Business Service
If I do a null query using a Siebel Operation step on Action BC in a Workflow, what will be
stored in Siebel Operation Object Id ?
First Record of Actioin BC
* (a star character)
Which Siebel Tools Objects can be published as Web Services?
Business Services and Workflows Both
Business Services Only
Workflow Only
Siebel Scripting Interview Questions,Siebel VB Script,Siebel eScript Interview Questions
Explain about the Scripting Best Practices in Siebel?
What are the advantages of eScript over VBScript?
How do you do Garbage Collection in Siebel?
What are the cursor modes in Siebel Scripting?
What is the use of GENB Script?
What does ActivateField do?
What is the difference between ForwardOnly and ForwardBackword cursor?
Explain the exception handling process in VBScript and eScript?

What is Structured Exception Handling?


How do you declare an array in eScript?
What is the difference between setseatch spec
What is the difference between SetSharedGlobal and GetSharedGlobal
How do you simulate a Business Service in the application?
Which objects in Siebel can we write script?
What is SetProfile Attribute?

Siebel Interview Questions on Scripting ,This article presents a collection ofSiebel scripting best
practices.
1. Always use TheApplication to call the application, as the declaration of a global variable to represent
the application (e.g. var theApp = TheApplication()) is not recommended by Siebel. The use of this
variable may cause memory leaks, reduce performance or other unpredictable behaviour.
2. User-defined functions must be Forward Declared in the general declarations of each script. This
avoids compilation errors that may arise if the functions called are not in alphabetical order. The compiler
compiles all functions alphabetically and so if one function calls another that is later in the alphabet the
compiler does not recognize this second function and therefore, fails.
3. Be cautious when adding script to business components as this code applies application wide across
applets and views. If a certain piece of coding is needed at the business component level but is restrictive
to certain situations like if exposed only through some particular views then make sure to limit the
processing through an appropriate condition.
4. The use of 'With' is recommended by Siebel as it enables the code to be changed faster and more
readable way to group operations performed within the same business component. The use of 'With' also
presents a slight performance improvement.
5. Using variables can make code maintenance easier due to readability. However overuse of
variables increases the amount of operations that have to be performed and can reduce performance
slightly.
6. Siebel does not recommend the use of 'Empty'. 'Empty' is an undefined variable which is assigned as

type variant. A variant is initially set to a null string (''), which means that any scripts currently using this
term will not be affected. However, it is better practice to assign '' rather than 'Empty' to any strings you
need to set back to NULL. The use of 'Empty' prevents Option Explicit from checking all other variables
are declared correctly.
7. The use of 'ActivateField' prior to a query is the equivalent to the 'SELECT' statement in SQL. The use
of 'ActivateField' in Siebel scripts code can be confusing and should be minimized as much as possible as
this has a performance impact. However there is nothing worse than receiving a runtime exception: ' was
not active...'. When activating fields note that:
a. Siebel system fields (Id, Created, Created By, Last Updated, Last Updated By) are always force
active.
b. Fields that have Force Active = Y on the business component are always force active.
c. Fields that have Link Specification = Y on the business component are always force active.
d. Fields that are included in the definition of an applet on the active view if it is bound to a web template
item and the 'Show In List' property of the list column or 'Visible' property of the control is TRUE. If the
user removes the list column from the 'Columns Displayed' in the list applet, the field may no longer be
active after the next query.
e. Fields that are used as part of a calculated field calculation when the calculated field is retrieved for use
on the active applet.
8. 'ActivateField' should only be used prior to 'ExecuteQuery' to ensure that a particular field will be
activated and included in the equivalent 'SELECT' statement of the query. Therefore 'ActivateField' is
usually never to be used with 'this'/'Me' (eg. this.ActivateField('Field1')). This is because you don't usually
perform a query in the current context as this would change the on screen query displayed to the user.
Siebel actually specifies that the use of ActivateField with 'this' can possibly cause data corruption to
occur.
9. When performing a query, always use 'ForwardOnly' after the 'ExecuteQuery' to set the cursor
position unless moving back through the returned records. This is a much faster query because it does
not create a cache that stores the previous records.
10. If you have a set of 3 or more 'IF Else If' statements then use 'Switch Case'statements instead. This
simplifies code and improves performance.
11. It is best practice in Siebel scripting to use the 'Try/Catch/Finally' statements in code. This will ensure
that exceptions are caught and handled appropriately and instantiated object variables are always
destructed in the finally block (which reduces the chances of memory leak) as the code in the finally block
is always executed. Note that object variables should be destroyed in the reverse order they were
instantiated.
12. Reduce the number of queries performed as much as possible. Siebel maintains the parent-child

relationships defined in links automatically so there is no need to query the child Business Component to
obtain records for a given parent. Make use of commands like, 'GetParentBusComp' to access the parent
record, instead of re-querying to retrieve record.
13. Don't create objects (BC and BOs) if you need a reference to BC and BO from the current context.
Make use of default application variables 'BusComp' and 'BusObject' in this situation.
14. The use of 'ActiveBusObject', 'ActiveBusComp' and 'ActiveApplet' should be limited because the
object represented by these statements may change depending on the active applet. Siebel recommends
the use of the 'this' object for eScript ('Me' for Siebel VB) wherever possible. 'Me'/'this' represents the
object where the code is written, 'ActiveXXX' represents the object behind the current active applet. The
use of 'Me'/'this' is a safer method, especially during development when, it is not entirely clear which
applet will be active at any given time. It also enables easier interpretation of the scripts because the
'base' object, represented by 'Me'/'this' will never change. The use of 'Me'/'this' also removes the need to
store the active BusObject and active BusComp in variables as it does not need to be declared or
explicitly destroyed at the end of the function.
15. All code must be indented logically, including comments which efficiently describe what the script is
doing. Each new script should include a header comment which provides: Author, Date, Description and
Version History for that script.
16. Delete all 'empty' scripts that once contained text. Delete everything, including the function header
and footer. Otherwise the application will go to that script when the event is triggered and performance will
be impacted slightly.
17. Keep use of Applet scripting to a minimum where possible. Attempt to meet business requirements by
configuring in Siebel Tools where possible and generally implementing scripts for minor functionality
where a given functionality cannot be met using declarative configuration.
18. Scripts which insert new records or change data should take care to explicitly commit the record
otherwise the data could be lost.
19. When you are deleting records in script based on a particular query, be sure to use a while loop rather
than an 'If' statement as the 'If' condition will only delete one record where multiple records may need to
be deleted.
Wrong Way:

1:
2:
3:
4:

bcPositionMVG.ClearToQuery();
bcPositionMVG.InvokeMethod("SetAdminMode", "TRUE");
bcPositionMVG.SetSearchExpr("[Id] <> '0-5220'");
bcPositionMVG.ExecuteQuery();

5:
6:
7:
8:
9:
10:
11:

// The first record is identified and deleted. However,


// subsequent child records are not deleted.
if ( bcPositionMVG.FirstRecord() )
{
bcPositionMVG.DeleteRecord();
}

Right Way:

1:
2:
3:
4:
5:
6:
7:
8:
9:

bcPositionMVG.ClearToQuery();
bcPositionMVG.InvokeMethod("SetAdminMode", "TRUE");
bcPositionMVG.SetSearchExpr("[Id] <> '0-5220'");
bcPositionMVG.ExecuteQuery();
while ( bcPositionMVG.FirstRecord() )
{
bcPositionMVG.DeleteRecord();
}
Comprehensive Collection of Siebel CRM Configuration Questions and Answers gathered
from Siebel Technical Experts
What is detailed category and what is its use in configuration.
Detailed Category and Aggregate Category are the two different sets. You can add a view to a
screen under Detailed Category or an Aggregate Category. For Example:
If I am creating two Views as detailes views. First I need to create a Detailed Category. Then I
have to create two Detailed Views, for which the "Category" property must be specified with the
created Detailed Category name. This is same for Aggregate Views also.
What is constrainted picklist? Where you will drop the constraints?
Constrainted picklist displayed value based on contaraint used.
Add field to constraint in pickmap of a field where picklist has configured in BC and set constraint
option of added field to true.
How will you edit the joined fields values in join?
Using picklists and MVGs. MVGs require join field and link as prerequisites unlike picklists where
just a join is enough.
How will you improve your performance in views?
The basic factors for performance decrease in views will be. more number of applets. which led to
many links. and more joined fields in a single applet. MVG's which do not have the primaries set.
What is Virtual BC? what is the use of vbc?
Virtual Business Component is used to display the data from another Legacy database table, in
the Siebel screen.

What is Siebel file system?


It is a shared directory that stores compressed files used by Siebel applications. Examples:
Product literature, sales tools, presentations
Read/write access is controlled by the File System Manager component on Siebel Server.
How is Siebel 7.x architecture different from Siebel 6.x?
In siebel 7.x it was defined as 1.Physical user interface2.Logical user interface3.Business
layer4.Data layer5.Third party RdmsThe main difference is , In siebel 6.x Phycial interface was
not achieved.In Physical Interface includes web templates, css sheets
How is load balancing maintained in Siebel?
Load balancing is maitained by the Gateway server using the third party software Resonate
Central Dispatch.
What is Resonate?
Resonate is third party software development tool, which is used for distibuting the cilent request
to the least laden siebel server.
What is nameserver? What does it do?
Name server is the part of gateway server that dynamically registers all servers in enterprise,
serves a connection broker across the enterprise.
Is it required to install gateway server before installing a Siebel server?
Yes, Because one Gateway Server can have multiple Siebel Servers
What is the use of catch in escript?
The catch clause is used to handle the exception. To raise an exception, use the throw statement.
When you want to trap potential errors generated by a block of code, place that code in a try
statement, and follow the try statement with a catch statement. The catch statement is used to
process the exceptions that may occur in the manner you specify in the
exception_handling_block.
The following example demonstrates the general form of the try statement with the catch clause.
In
this example, the script continues executing after the error message is displayed:
try
{
do_something;
}
catch( e )
{
TheApplication().RaiseErrorText(Clib.rsprintf(
"Something bad happened: %s
",e.toString()));
}

What is the relationship between a view and a b/o?


View references the business object. Every view is associated with a particular business object.

Why is it not recommended to modify existing base tables?


During upgradation it will cause problem if we extend base tables.More over if it is necessary u
can go for extension tables
How do you create extension table to an interface table in Siebel?
Extension tables are created only for base tables.I think we can not extend the interface table.
What is an extension table and how is it related to base table?
Extension table may be 1:1 realation table to the base table or a 1:M relation to the base table.
1:1 extension table and the base table are logically considered as a single table.
Par_row_id will be the foriegn key.
Can you create an extension table with an intersection table?
We can not create an extension table with an intersection table
How do you create intersection table?
In Tools select new object wizard in that select Table enter the name of the table starting with CX_
and select the project and specify the type of table i.e. an intersection table for the two existing
tables
Then it will ask the first Parent Table and foreign key column name for the first parent table in the
same way fill the second parent table and FK column.
How is Siebel 7.x data model is different from Siebel 6.0 data model?
S_PARTY is the base tables and S_CONTACT,S_ORG_EXT,S_POSTN, S_USER are now
extension tables. Siebel 6.x was dedicated application while from Siebel 7.x onwards we can
access Siebel application via web.
What is seed data in Siebel?
The data that siebel supplies as a part of siebel vanilla application is seed data.
What is s_party table?
S_PARTY Table is the Base Table for all the Party related tables.
S_ORG_EXT
S_CONTACT
S_USER
S_BU
and etc.
the party tables can have the implied joins. the party related BC's have the S_PARTY as the base
table. so, any of these tables are extension tables.
What does install.ksh and imprep.ksh files do?
Imprep.ksh : This is a database unix shell script provided by siebel for importing all your sif files in
siebel repository.It is automatically run while installing siebel and it prepares Repository file in
tools.
Install.ksh : contains all manually applied installation files.

Siebel Workflow Interview Questions,Siebel Workflow Quiz,Siebel Workflow Multiple


Choice Questions
If I do a Insert operation at the Siebel Operation step in a Workflow process, the newly
created record's row_id will be stored in ?
Object Id
Siebel Operation Object Id
Process Instance Id
When do I need to run Generate Triggers?
When I modify the workflow policy duration field
When I change the workflow policy action
When I change the workflow policy condition
After workflow monitor agent successfully processes the record, then it moves the record
in which table?
S_ESCL_STATE
S_ESCL_LOG
S_ESCL_REQ
None
Can we create a Workflow Process without a specifying a Business Object?
Yes
No
Can we insert a Wait Step in workflow with mode as "Service Flow" ?
Yes
No
If there are two business services, with exactly same name, one is Client BS
(Administration - Business Services ) and the other is Tools BS ( Srf ), it is being used in a
Workflow Process, which will take priority ?
Client Business Service
Tools Business Service (srf)
Can we deploy Workflow processes as Web Services?
Yes
No
Can you update MVF(multi value field) using the Siebel Operation step in a workflow
process?
No
Yes
Increasing Workflow Persistence helps to trace the complete workflow execution, which
helps to find error step in case a error happens. Where can we set the Persistence for a
workflow in Application?
Administration Business Process -> Workflow Deployment -> Active Workflow Processes
Administration Business Process -> Workflow Instance Admin

The 'Stop' step of workflow is used to ?


Stop the workflow which can be resumed
Stop workflow execution with a custom popup message and which can't be resumed
Normally stops the workflow without any popup message
Which of the following business service can be used to call a Workflow Process
asynchronously?
Workflow Process Manager
Asynchronous Server Requests
Can we have more than one version of Active Workflow Process?
Yes
No
Collection of Siebel Scripting Interview Questions and Answers from web,Siebel
eScript Interview Questions Answers,Siebel Scripts Interview Questions Answers

Where do we write eScript in Siebel?


We can write Browser or Server Script in following areas based on the requirement.
Applet
Business Component
Business Service
What is Client Business Service?
We can see the Business Services Client also. These are called Client Business Services we can
see them in Business Service Administration Screens. We can write the script for the BS in the
client itself. After writing the BS there is no need to compile those BS's.
When do you use "CanInvoke(False/True)" method in scripting?
We use it before invoking a method in PreCanInvoke Event and verify a condition. Based on the
result, we can make the method Invoke =True/False. It is just like validating a condition before
invoking the method.
What is the Alternative for Business Service?
An alternative to writing a business service is to write the method at the application level. Siebel
Systems encourages developers to use business services, as they can be called by workflow
processes; as we cannot call custom application level methods.
When to User Browser and Server Script?
Browser script is recommended for:
Communication with the user
Interaction with desktop applications
Data validation and manipulation limited to the current record
Server script is recommended for:
Query, insert, update, and delete operations
Access to data beyond the current record

Siebel Configuration Best Practices,Siebel Configuration Recommended Practices,Siebel


Configuration Best Practices Interview Questions
This article discusses best practices for Siebel configuration.
You need to evaluate whether the business process can be changed as it is usually more cost
efficient to change the business process rather than change the application. You should change
the application when the cost of changing the business process is greater than changing the
Siebel application.
It is usually best to make minimal changes to the standard Siebel application; this will reduce the
possibility of unexpected errors etc. You should use existing Siebel object definitions wherever
possible. This will make the application easier to maintain and upgrade. General rule of thumb is
to modify existing Siebel repository objects or copy existing repository objects rather than create
new objects. Also do not delete/inactivate existing Siebel objects as they may be referenced by
other objects.
You should plan the Siebel project from the top down (i.e. Determine UI and Siebel application,
then determine the changes required to business objects and business components, then
determine what changes this results in the data level). You shouldimplement the Siebel project
from the bottom up (i.e. Edit the data level objects and then edit the business object level, then
edit the UI layer objects).
For business components you should take care when copying business components. You
should not define system fields on the business components. You should name all new business
objects and business components with a prefix that identifies the project and the name you give
an object should be descriptive and meaningful to that object. Ensure if you do copy a business
component that you specify the name of the original business component in the Upgrade
Ancestor field so that the object can be easily upgraded.
For applets you should take care when copying existing applets, only copy when you have to
make major changes to the applet. It is usually best to modify existing applets. Reuse with
applets is the best methodology. This saves a lot of time and maintenance. As with business
components/business objects, name your applets with a meaningful descriptive name and prefix
with the project name acronym.
For views you should usually modify existing views just making changes to the Title and applet
layout of the view. Create a new view if no other existing views present a similar applet layout that
you desire. As with applet/business components/business objects you should name new views
with a meaningful descriptive name prefixed by the project acronym. When you use a view within
the application you need to define the view in the master reference data and associate
responsibilities to this view, otherwise the view cannot be viewed. To do this in Siebel 7.7,
navigate to Administration - Application > Views and create a new record with Name = [the name
of the view]. Then navigate to Administration - Application > Responsibilities and associate the
desired responsibilities to the view. Keep the Title bar, View tab bar and Screen menu option
consistent for each view.

Use scripting only if you cannot implement the required functionality through Siebel
configuration. The use of script will always cause a performance hit on the application. If possible
avoid scripting on applets; it is usually better to script on business components. Avoid writing
scripts on events that occur frequently. Re-use script as much as possible using business
services. Schedule regular technical peer reviews to ensure that the scripting is efficient as
possible. See my article Siebel Scripting Best Practices for more best practices related to Siebel
scripting.
You should always enter comments in the "Comments" field for any objects that are modified.
You should use a project standard for comments. The following is a good project standard:
[project acronym]-[initials]-[date]-[description2]; [project acronym]-[initials]-[date]-[description1]
From the above you can see that when multiple changes are made to an object these are
separated by ";". [project acronym] = The project acronym for the implementation, [initials] =
developers initials, [date] = date of the change, [descriptionx] = description of the change.
You should perform a full get on local developer databases on a regular basis. On my project we
have a scheduled full get on our local database which is automated every week so that when we
get in on Monday morning everything is fresh. Always use local database to make changes, never
make changes on the server. The following strategy can be used to determine whether to make
changes locally first or whether to check out a project to make changes:
1. If you are unsure what changes need to be made and wish to try something to see if it works,
then perform a get on the projects you require and lock these projects locally. Then when you are
satisfied take a Siebel archive (sif) of these changes and go to step 2 and merge these changes
to the project.
2. If you are sure of what changes need to be made, then check out the project and make the
changes.
Siebel Configuration Best Practices.The following are Siebel configuration best practices
to keep in mind when creating or modifying calculated fields on Business Components.
- Avoid setting Force Active = TRUE or Link Specification = TRUE as this will result in the
calculated field always being evaluated whenever the BC is instantiated. This in turn results in
any dependant fields being evaluated hence causing additional database calls.
- Avoid using InvokeServiceMethod in calculated fields. Especially avoid setting Force Active =
TRUE or Link Specification = TRUE for InvokeServiceMethod calculated fields. Whenever the
calculated field is active it will make a business service call, the business service will be
repeatedly called for each record in the current instance context. This obviously becomes
exponentially worse if there are one or more queries within the business service as additional db
calls are made each time the business service is invoked.
- If InvokeServiceMethod must be used in calculated fields then assess whether the business
service can be cached (In Tools > Busines Service, set Cache = Y), this way the business service
will not have to be repeatedly instantiated.

- Avoid using calculated fields with SUM and COUNT. Using the SUM and COUNT functions in
calculated fields will result in an additional query generated for each record in the current
instance. Again especially avoid setting Force Active = TRUE or Link Specification = TRUE for
these aggregate function calculated fields as the additional query will be generated for every
record whenever the BC is instantiated and queried. If you are using the COUNT or SUM function
to determine if child BC records exist for a particular parent record then use the EXISTS function
instead, EXISTS has much better performance.
- Avoid using calculated fields in search specifications or search expressions. This may result in
Siebel firstly querying on the search specification/expression without the calculated field first and
then again filter against this result set in memory against the calculated field. This has potential
for severe performance problems
This article discusses Siebel configuration best practices associated with setting the
Immediate Post Changes field property. Collection of Siebel configuration best practices
from web,Siebel recommended practices Interview Questions Answers,Siebel Scripts
Interview Questions
We know that Immediate Post Changes should be set to TRUE for a field when the data is to be
posted to the server immediately when a user updates a field and steps out of the field. Here is a
list of all the situations that I know of when Immediate Post Changes = TRUE would be required
for a field. If any of the below is not the case for the field then Immediate Post Changes should be
set to FALSE.
1. If the field is the parent constraining field in a constrained picklist then Immediate Post
Changes = TRUE for the parent field. This will ensure that the child picklist values are updated as
soon as the value of the parent field is changed.
2. For the On Field Update Set n or On Field Update Invoked n property, setting Immediate Post
Changes = TRUE for the fields used in the calculations will ensure that the property is invoked as
soon as the field changes that cause the property to be invoked are made.
3. The BC event handler server script BusComp_PreSetFieldValue will not be invoked unless
Immediate Post Changes = TRUE for that field.
4. The BC event handler server script BusComp_SetFieldValue will not be invoked as soon as the
field is updated unless Immediate Post Changes = TRUE for the field. If Immediate Post Changes
= FALSE then when the field is updated it will not post the data to the server immediately so the
BusComp_SetFieldValue event script will be "queued" until the data is posted to the server. If
many fields are updated prior to posting to the server then the BusComp_SetFieldValue event
handler for each of these fields is queued. Then when data is finally posted to the server all the
queued field BusComp_SetFieldValue event handler script is executed.
Therefore if you need BusComp_SetFieldValue event handler to be invoked as soon as the field
is updated then you need to set Immediate Post Changes = TRUE for the field.
5. If you have a Field Read Only Field user property that uses other field(s) in the calculations,
then these other fields need Immediate Post Changes = TRUE if you want to ensure that the read

only rule will apply as soon as the dependant fields are updated. The read only rule will still work
without setting Immediate Post Changes = TRUE however the read only rule will only apply after
the data has been posted to the server.
6. If a Toggle Applet is dependant on other field(s) then these field(s) should have Immediate Post
Changes = TRUE if you want to ensure that the Toggle will occur as soon as the dependant
field(s) are updated.
7. If any fields that are referenced in a Calculated Field do not have Immediate Post Changes =
TRUE then the Calculated Field value may not be updated as soon as the associated fields are
updated. The Calculated Field will display updated value when the associated field data is posted
to the server.
8. If any Siebel vanilla fields have Immediate Post Changes = TRUE configured out of the box
then do not change this property as this property would be set to enable vanilla functionality for
that BC field.
This article discusses Siebel configuration best practices associated with modifying
Siebel Vanilla objects,Siebel Configuration Best Practices
1. If a Siebel Vanilla field has Immediate Post Changes, Force Active or Link Specification set
to TRUE DO NOT change this property as it would be used in the underlying C++ code for that
BC.
2. If you clone (copy) a BC consider if the BC really does need to be cloned, there is usually a lot
of fields, MVL, user properties on an existing BC, is it possible to create the BC from scratch only
using the Fields, MVLs, user properties that are required? This may be better performance that
cloning the entire BC. If the cloned BC has a class other then CSSBCBase ask yourself why you
are cloning the BC, if you are not requiring any specialized class functionality then change the
class of the cloned BC to CSSBCBase. CSSBCBase class allows user properties (such as
Named Method N) to be invoked which other BC classes can not.
3. Dont inactivate or delete any standard vanilla fields - the specialized C++ code for the BC class
may require these fields and could cause runtime error.
4. Dont change the column or join on standard vanilla fields. The vanilla fields have been mapped
to those joins/columns by siebel and may be used in the C++ code associated to the class of that
BC. Also consider that Siebel have baselined and performance tested their product with the
vanilla out of the box BC fields/columns. Changing the underlying columns on vanilla fields could
adversely affect performance as appropriate indexes may not be used any longer.
5. I have found that if you need to create a new custom extension column you are usually better
off creating this on the base table (eg. S_CONTACT) rather than using the 1:1 extension table
(eg. S_CONTACT_X). When updating and saving records having fields on the extension table will
result in additional INSERT or UPDATE statements required for the extension table. Also we just
finished a Siebel upgrade and found complications where some of the extension columns
(ATTRIB_XX) were now mapped to Siebel fields in the new Siebel version. Therefore we had to
re-map our existing fields on these columns

What is applet toggle how many types are there?


Applet toggle identifies one or more alternate applets to use in displaying the data of a business
component.They are 2 types static and dynamic
What is thedifference between MVG applet And a pick Applet?
MVG is nothing but to display the child records for the parent table ,and for pick applet to update
join fields
Pick applet is used when there is 1:1 relationship and MVG is used when there is 1:M r/n.
What is Detail Applet and Association Applet?
Detail applet word is used in the context, when there is a Master Detail relation. in this case there
will be one master and many child records. so, we usually show these child records in list applet
and not in form applet.
How to run Genbscript.exe?
The syntax for running genbscript is:
When you run genbscript.exe, all browser scripts in the repository are generated. They are
placed in a directory that you specify using the destination directory parameter (dest_dir).
The genbscript.exe utility is located in:
siebsrv_root/bin or client_root/bin
genbscript config_file dest_dir [language]
For example:
genbscript c:sea15022client inenuuagent.cfg c:sea15022clientpublicenu enu
Difference between LOV and Picklist??
LOV is to store the values for the picklist in the application admin and where as picklist is used to
select the value from the list of values
What value will get stored in the database when a field has both predefault value and post
default value.
Answer is Predefault Value.
Explanation:When user clicks the new record button,predefault value will get populated in that
field,post default value will get stored only when user does'nt type any value in the field and saves
the record.Since already value has been populated by predefault property,it will get stored in the
database.
What is Symbolic URL in Siebel.
Symbolic URL allow you to configure Portal Agents in several ways. You use Symbolic URL
Arguments for two purposes, to define data to be sent to an external host and to submit
commands to SWE that affect the behavior of Portal Agents.
What is forceactive property?
Force Active property for a field makes it accessable in scripting even if it is not in UI.
What difference between join specification and join definition?
"Join" object specifies the table name and "Join Specification" object specifies the Primaty Key
Foriegn Key relationship.

1 what is difference between eai and emi?


1. EAI deals with exchanging data among the different Enterprise Applications. It is devided into
two parts.
a. Batch Integration:(EIM) Data will be sent another system on a bulk basis. This is done
periodically.
b. Realtime Integration: Data will be sent to other system whenever there is a change in data of
one system. Data is immediately sent. The amount of transfered data is less.
2 Where does Xml comes into picture in eai
2. XML come in to the picture when a Legacy system has to send data to another Legacy system.
And the format of both systems data is different. XML is W3C standard tool. which has to be
followed by all to generalize the message sending formats. That is why XML is being used
between heterogeneous applications.
3 What are third party eai tools
Third Party EAI Tools.
a. IBM MQ Sieries
b. TIBCO
c. XML
d. MSMQ
e. Seebeyond
What is difference between s_opty_x and s_opty_xm tables.
s_opty is a base table for which
s_opty_x is an extension table with 1:1 relationship
s_opty_xm is an extension table with 1:M relationship
How do you add Button Icon in a Applet?
Like New,Query,Delete.I want Activate Button also .
You can add those bittons by creating controls under that applet
and specifying a method name under that.
you can get a Dropdown box for method Name and select from that.
How will you do validations in escripts and in configuration?
In Tools select the object definition,right click and select validate. this is used to check the
correctness of values of a perticular object before going to store.
in escripting, once we write script then we can do validation by check syntax option.
What is detailed category in configuration,and its use?
In an application, we see a page tab let say Account. Below that we have let say My/My
Teams/All Accounts. Each has a form applet showing account name, address etc. Related to this
we have several tabs like account address, account profileclicking on which show us accounts
detail in that specific area.
So the Account is Aggregate category. My /my teams/all is Aggregate ViewThese tabs which
will show details of Account is Detail Category. So any child object of a aggregate category
showing details of an entity is Aggregate category.

Interview question on Actuate Reporting Solutions


What is AFC? Where we Use AFC in Actuate?
How to call a stored procedure from a report?
How many times executite the fetch method at run time?
How to implement the parallel report?
What is Master-Detail Reports.How do you develop it?
Do you use external or internal user validation? LDAP? Who maintains that code?
What is the difference between -using Group by in the SQL of the report -having a Group
section in the report?
Can we define global methods in a report?
Explain the major differences between Actuate 7 and Actuate 8
What is your preferred method of creating the SQL query? Graphical Query Builder,
Textual, override OSS( )?
Which cmponent has onRead method and what it is used for?
What is report bursting?
What is page level security?
Can you give an example of any complex report you designed using Actuate?
Actuate Reports Interview Questions and FAQs gathered from Actuate Developers
What is FetchLimit and why it is used?
What is ValueExp and can we write scripts in it?
How do we invoke Actuate Reports from the click of a button in Siebel
What is sscustom.rol and sscustom.bas in Siebel Actuate?
What is a composite datastream?
How to display Barcode in Siebel Actuate reports?
What is sssiebel.rol and sssiebel.bas?
What is Master-Detail Reports.How do you develop it?
How to display only the records selected in a list applet in Actuate Reports?
Explain the architecture of Siebel-Actuate
What are parameterized reports
How to hide a field in Actuate reports based on some condition
What are the OM parameters that are required in Siebel for the Siebel-Actuate integration?

How do we pass XML from Siebel to Actuate?


How to display secondary records in a MVG applet in Actuate Reports
What is the use of "Data Memory Sorter" in the actuate reports?
What are Smart reports?
How do we develope Multilingual Reports in Actuate

Вам также может понравиться