Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1.1Purpose
The purpose of this document is to aid Lima CRM employees in preparing for Siebel interview questions
normally asked as a part of the candidate selection process for project assignments.
This document is intended to provide expected questions and guidelines to answering these questions
across a range of key technical areas within Siebel. The answers are described specifically from an
interview stand point and may omit minute details.
1.2Audience
This document will form the basis for Siebel technical interview preparation by Lima CRM employees.
It should be read only by:
1.3Amendment History
Versio
n
Date
Revision Comments
Amended By
0.1
01/06/200
8
Initial Draft
Lima CRM
0.2
01/19/200
8
Added Scripting
Lima CRM
0.3
01/26/200
8
Added EIM
Lima CRM
0.4
02/09/200
8
Added Workflow
Lima CRM
1.4Reviewed By
Reviewer
Date
Signature
Table of Contents
1 Document Control 2
1.1 Purpose 2
1.2 Audience 2
1.3 Amendment History 2
1.4 Reviewed By 2
2 Introductory Questions 4
2.1 Please tell us something about your experience 4
2.2 Can you describe your recent projects? 4
2.3 How would you rate your self on various Siebel technologies? 4
2.4 What is your availability? 4
2.5 What versions of Siebel have you worked on? 4
2.6 What entities/modules in Siebel have you worked with? 4
3 Architecture 6
3.1 Describe the Siebel Architecture 6
3.2 What are the different Siebel Client types? 6
3.3 What different Siebel applications are you aware of? 7
3.4 What is the difference between High Interactivity and Standard
Interactivity modes? 7
3.5 How will you create a Developer in Siebel? 7
4 Configuration 8
4.1 How will you configure a View? 8
4.2 How will you configure an Applet? 8
4.3 How will you configure a Screen? 8
4.4 How will you configure a Join? 8
6.2 How will you go about doing an EIM process (or EIM design)? 16
6.3 What are different types of EIM processes possible? 16
6.4 How will you create an .ifb file or explain the structure of an .ifb file? 16
6.5 Where are the .ifb files stored? 16
6.6 How will you improve the performance of your EIM loads? 16
6.7 What is the number of records you have processed per batch in an EIM
load? 17
6.8 How will you test your EIM load (or how will your write a test plan to
test your EIM load)? 17
6.9 How will you debug or troubleshoot your EIM load? 17
6.10 In which screen will you create an EIM job? 17
6.11 How will you schedule an EIM job to run nightly/regularly at a given
time? 17
6.12 What considerations you have to make for EIM when extending a
Siebel base table? 17
6.13 What do you have to keep in mind when doing an initial EIM load for a
fresh Siebel implementation? 17
7 Workflow 18
7.1 What are the different ways in which you can invoke a workflow? 18
7.2 Explain how a workflow is triggered from a workflow Policy ? 18
7.3 Explain what happens when a workflow policy condition is met? 18
7.4 Give an example of a complex workflow you have written? 18
7.5 How will you create a Workflow Policy? 19
7.6 Have you done any customization on workflow in Tools? 19
7.7 Explain the configuration and deployment of workflows in 7.7(or higher
versions)? 19
7.8 How will you improve the performance of your workflow? 19
7.9 How will you trouble shoot or/test workflow policies/processes? 20
7.10 How will you migrate workflow processes from one environment to
another? 20
8 EAI 21
9 Assignment Manager 21
10 Server Administration 21
11 Siebel 7.7 key features 21
2Introductory Questions
2.1Please tell us something about your experience
Sample ans: I have 7 years of IT industry experience of which I have spent about 5 years working on
Siebel applications. I have executed 6 odd projects in Siebel primarily as a developer where I have been
responsible for design, development, unit testing and bug fixing. I have worked on Siebel versions 7.8,
7.5.3 and 7.5.2.
From a technical standpoint I have worked extensively in configuration, scripting, workflow and EIM and
from a functional stand point I have worked in Siebel Sales, Call Center, and Marketing applications. I
also have good knowledge of Siebel development best practices.
This is my profile in a nutshell. I would be happy to answer any specific questions you may have.
3Architecture
3.1Describe the Siebel Architecture
Sample ans: The Siebel architecture consists of 4 layers
1. Siebel Clients These operate in a variety of environments such as web clients, mobile clients, PDAs,
handhelds etc.
2. Web Server The web server accepts Siebel request and passes completed HTML pages back to the
browser. The web server is extended by the Siebel Web Server Extension (SWSE) which directs urls with
Siebel request to the appropriate server component.
The Web Server also has a component called the Image cache which reduces the load on the web server
by caching images published to the web server and allowing parallel down load of images.
3. Gateway Server The gateway server serves as a single access point for Siebel servers. It
dynamically registers Siebel server and component availability. It assigns work based on the component
requested by the SWSE and also stores connectivity and session information.
The Siebel server processes requests from the Siebel clients. They have several components such as
workflow manager, object manager etc. which are specialized programs that perform a specific task or
function.
Several Siebel servers may be assigned to an Enterprise server which is a logical grouping of Siebel
servers accessing the same database.
The Object Manager is the most important server component that process object definitions at multiple
layers (UI, BO, Data layers). It consists of the Siebel Web Engine (to construct web pages using template
files) and data manger.
4. Siebel Database - The Siebel database provides a logical schema for Siebel data to be stored in a 3rd
party RDBMS such as oracle, DB2.
In addition to the above layers there is also the Siebel file system, which is a shared directory that stores
compressed files used by Siebel applications such as sales literature, presentation templates etc.
1.
2.
3.
4.
5.
Web client
Wireless web client
Mobile client
Handheld
Dedicated web client
The web client and wireless web client connect via the web server. The local machine has zero Siebel
application foot print.
The Mobile client and handhelds connect via the Siebel server. The local machine must contain the
cfg file, srf, local db, file system and Siebel.exe.
The dedicated web client connects directly to the server database. The local machine must have the
cfg file, srf and Siebel.exe. Local db and file system are not required. This mode is useful when a
developer wants to test local changes with server data before checking in.
Standard Interactivity applications are typically customer facing applications and require frequent page
refreshes like normal web applications.
4Configuration
4.1How will you configure a View?
Sample ans:
6. First I will create a view definition and specify the Business Object for the view
7. Then I will associate the View Web Template.
8. Then I will bind Applets to the view and specify the applet mode (i.e Edit List, Edit or Base mode)
9. Then I will assign the View to a Screen.
10.
Then I will register the View in the Siebel UI.
11.
Finally I will add the View to an appropriate Responsibility.
Alternatively I can use the View wizard for the first 3 steps.
4. In the applet list column or control specify the Run Time property as true.
Dynamic Picklist (also called Pickapplet)
1. If it is a dynamic picklist then I will first create the Picklist object definition and specify the
following:
1. BC = <Name of the Pick business component> eg: Account
2. Type = blank
3. Value = blank
2. In the business component field of the originating bc (eg: Activity) where the picklist is to be
configured specify the picklist property as the name of the picklist just created (in step 1)
3. Then create a SVF pickmap on the originating BC field and map the foreign key field in the
originating bc to the primary key field from the pick bc. Create mapping between other fields of
the originating bc and pick bc.
4. Create a pickapplet.
5. Then in the applet for the originating bc specify the pick applet and set run time as true.
1. On the Applet go to Drilldown Objects and specify the Hyperlink Field and View properties.
For a dynamic drilldown
1. On the Applet go to Drilldown Objects then go to Drilldown Object Definition and specify the
Destination Drilldown Object, Field, Value and Sequence properties.
1.
2.
3.
4.
5.
1. Modify existing object definitions to the extent possible instead of creating new ones (not for
performance)
1. Field ReadOnlyField
OnField Update Set
5Scripting
5.1Explain how you would write a script or explain the
various components of a script?
Sample ans: I would broadly structure my script as follows:
4. Based on whether a record is returned from the search, I will do any further manipulation required
which could be setting field values, or deleting records or calling a business service etc.
5. Then I would destroy objects, first destroying the child objects and then the parents.
6. Finally I would do error handling.
1. First, VB script cannot be used for client side scripting, one has to use only eScript.
2. In VB script one has to explicitly specify the variable types which is not needed in eScript.
3. VB script is more text oriented where as in eScript you use braces a lot for blocks.
4. In VB Script you do not use the Try, Catch and Finally blocks which you use in eScript.
5. In VB script you do not use semi colons after every statement which you do in eScript.
Methods:
SetProfileAttribute, GetProfileAttribute, SetSharedGlobal, GetSharedGlobal
Login, Position
PropertySet, GetService
GetBusinessObject, GetActiveApplet, GetActiveBusComp, GetActiveBusinessObject,
GetActiveViewName
RaiseErrorText, TraceOn, TraceOff
Methods:
Active Mode
BusComp
FindControl
InvokeMethod
Methods:
Note: For examples of how to use these events and method, refer Siebel Object Interface Reference
Guide from the Siebel book shelf.
6EIM
6.1What kind of EIM work have you done in your past
projects?
Sample ans: I have used EIM in my past projects to do initial data loads, run regular nightly batch jobs as
well do restatements for correcting data. Specifically I have done EIM design, written sql scripts to load
data into EIM tables, written IFB files for loading data from EIM tables to base tables and testing and
troubleshooting EIM jobs. I have loaded entities like Accounts, Contacts, Opportunities, Activities and
Assets.
1. First, I will identify the source system table and corresponding Siebel base table.
2. Then I will map the source system columns with the Siebel base table columns.
3. Then I will identify the EIM table columns from the Interface Table Reference guide.
4. I will determine any required EIM table columns as well base table columns. And also identify any
data conversions needed.
7. Finally I will run the EIM job to load data from EIM tables to base table.
1. First, I will specify the type of EIM processing whether it is Import, Export or Delete.
3. You can also use Filter Query command to further limit the processing to only necessary records.
4. You can use the Shell command to process multiple EIM tables in a sequence automatically and
save some time.
6.8 How will you test your EIM load (or how will your write
a test plan to test your EIM load)?
Sample ans:
1. First, I will run sql queries against the EIM tables to check if the right no. of records were
processed successfully or there were errors in some.
2. Then I will run sql queries against the base table to check if the right number of records got
loaded.
3. Then I will check in the Siebel UI whether the records are visible in the UI with the concerned
responsibility and position.
1. First, I will check the EIM log file in the Server/log directory.
2. Then I will check the EIM tables to see the status of the unprocessed records.
3. If I am not able to discover the root cause still, then I will increase tracing by setting the Error
Flag and SQL Trace Flag component event parameters and rerun the EIM process.
7Workflow
7.1What are the different ways in which you can invoke a
workflow?
Sample ans: There are 3 ways in which a workflow can be invoked:
When the Policy conditions are met, the trigger is fired and record is inserted in the S_ESCL_REQ table.
The Workflow Monitor Agent is constantly monitoring this table and picks up the record which in
S_ESCL_REQ for processing. The Workflow is executed and the Workflow Monitor Agent inserts a record
in the S_ESCL_LOG table to indicate that the workflow was processed. Finally the Workflow Monitor
Agent purges the record from S_ESCL_REQ table.
The business requirement was that whenever a new Opportunity was created, the application should
determine whether it was a Government or Non-Government Opportunity. Depending on whether it was
Govt. or Non-Govt., different operations were to be carried out.
For this, I first created a Workflow Policy which was triggered whenever a new Opportunity was ADDED
to the Account. This Workflow Policy would then call the Workflow Process.
The workflow process had a Decision step which would check whether the Opportunity type was
Government or Non-Government.
If the type was Government, then it would call a custom Business Service that I had written. This
Business Service used Opty Id as the input argument and would derive the Opportunity Size, Account
Name, Opportunity Sate and store all this in an Output Process Property called Opty Detail as a string.
The Business Service would also derive the email id of the Manager of the Sales Rep who created the
Opportunity and store it in another Output Process Property called Manager eMail. After this step, I used
the vanilla Outbound Communication Manager Business service to send an email to the Manager of the
Sales Rep with the Opportunity Details derived in the earlier process property. After this step an Activity
was inserted for the Manager by means of the Siebel Operation step to review the Opportunity.
If the Opportunity type was Non-Government, then it would call a Sub-Process step which would call a
workflow that would update the field Non Govt on the Account BC to Y by means of a Siebel Update
Operation. It would then send an email to the Non Govt. Contract Department to inform them of the
Opportunity.
1. By grouping workflow policies with similar polling intervals in the same Workflow Group.
2. By running multiple Workflow Monitor Agents in a parallel and on different servers.
3. By changing the values of component parameters such as Sleep Time and Requests Per
Iteration for the Workflow Monitor Agent.
1. I would first check if the Policy conditions are met. I can go to the Workflow Policy Log view to
verify that.
2. If the Policy condition is met, then I will check if a record is inserted in the S_ESCL_REQ table.
3. If a record is inserted in the S_ESCL_REQ table, then I will check if the Workflow Monitor Agent
is Online.
4. If the Workflow Monitor Agent is online, then I would check the Workflow Monitor Agent log file in
the Server/Log directory.
5. If I am still not able to find the root cause, then I would increase the trace levels for the Workflow
Monitor Agent by increasing the log levels for parameters such as Wokflow Definition Loading,
Engine Invoked, Process Execution, and Step Execution.
8EAI
9Assignment Manager
10Server Administration
11Siebel 7.7 key features