You are on page 1of 45

TOOLS

TABLE OF CONTENTS
1.

PURPOSE ................................................................................................................................................................7

2.

SCOPE .....................................................................................................................................................................7

3.

CONVENTIONS USED ......................................................................................................................................7

4.

NAMING CONVENTION ..................................................................................................................................7

5.

APPLICATION CREATION ..................................................................................................................................8

6.

CREATING A MULTI SCREEN APPLICATION ...........................................................................................12

7.

JOINS .................................................................................................................................................................15

8.

JOIN RELATIONSHIP BETWEEN CONTACT AND ACOUNT ...................................................................15

9.

CREATING A JOIN ..........................................................................................................................................16

10. LINKS ....................................................................................................................................................................18


11.

CREATING A 1-M LINK ................................................................................................................................18

12.

CREATING A M-M LINK ...............................................................................................................................19

13.

PICKLISTS ........................................................................................................................................................21

14.

CREATING A STATIC PICKLIST ..............................................................................................................21

15.

CREATING A DYNAMIC PICKLIST .............................................................................................................23

16.

TOGGLES .....................................................................................................................................................25

17.

CREATING A TOGGLE (STATIC) .............................................................................................................26

18.

CREATING A TOGGLE (DYNAMIC) ........................................................................................................27

19.

DRILLDOWNS .............................................................................................................................................27

20

CREATING A DRILLDOWN...........................................................................................................................27

21.

CREATING A DRILLDOWN FOR JOINED FIELDS.................................................................................28

22.

MULTI VALUE GROUP ..............................................................................................................................28

23.

CREATING A MVG FOR 1-M RELATIONSHIP .......................................................................................29

24.

REQUIRED FIELD .......................................................................................................................................30

25.

TO VALIDATE YOUR OBJECT DEFINATIONS ......................................................................................30

26.

TO VISUALIZE YOUR OBJECT DEFINATIONS......................................................................................30

28.

TO SEE RELATIONSHIPS.......................................................................................................................31

29.

TO GET A NOTE PAD ON THE DESCRIPTION FIELD OF BC ..........................................................31

30.

TO CREATE SUB / CATEGORIZED VIEW ...............................................................................................31

31.

IMPLEMENTING FIND DIALOG BOX .....................................................................................................31

32.

TO CREATE A NEW BITMAP ....................................................................................................................32

33.

TO IMPORT A BITMAP ..........................................................................................................................32

34.

FOR LOGO TYPE BITMAP .....................................................................................................................32

35.

TO HAVE A BITMAP IMAGE AS A APPLET BACKGROUND ..........................................................32

36.

TO HAVE A BITMAP IMAGE AS A VIEW BACKGROUND ..............................................................32

37.

BUTTON CONTROLS IN APPLET .........................................................................................................33

38.

COMPANY LOGO ....................................................................................................................................33

39.

VISIBILITY--------------------------------------------------------------------------------------------------------------34

40.

ATTACHMENT APPLET---------------------------------------------------------------------------------------------- 35

41.

SIEBEL VB----------------------------------------------------------------------------------------------------------------36

42.

CHECK-IN/CHECK-OUT--------------------------------------------------------------------------------------------- 37

43.

EXTENSION TABLE & COLUMN---------------------------------------------------------------------------------39

44.

SMART SCRIPT------------------------------------------------------------------------------------------------------- 40

45. ACTUATE REPORT, ITS INTEGRATION WITH SIEBEL APPLICATION, FILE SYSTEM
46.

35

SIMPLE REPORT.36

47.

GROUP REPORT---------------------------------------------------------------------------------------------------- 37

48.

MASTER-DETAILS REPORT----------------------------------------------------------------------------------- 38

49.

LOGO-------------------------------------------------------------------------------------------------------------------- 39

50.

GLOBAL MODIFICATION----------------------------------------------------------------------------------------------40

51.

ASSIGNMENT MANAGER..41

52.

WORKFLOW MANAGER..42

53.

EIM----------------------------------------------------------------------------------------------------------------------43

Common Siebel Entities:


1. Account: Client, Business Partner, or a competitor; serviced by a team or individual rep.
2. Opportunity: Potential revenue generating event, may be linked to an account serviced by a team or
individual sales rep. Has probability, end date and follows sales methodology.
3. Service Request: request from customer for information or help related to our product.
4. Contact: Individual outside your company
5. Activity: task or event to be completed, assigned to employee. Can be linked to opportunity, accounts,
service requests, and contacts.
6. Products/ Services.
The Siebel Entity Relationship
Account

I: I, I: M, M: I, M: M

1. Opportunity:

M:I
M: M

M: M

Contact

Product

Opportunity

I: M
Activities

2. Account:

Opportunity
I: M

I: M

Contact

Account

I: M

Activities

M: M
Opportunity

Product

M: M
3. Contact:
Product

M: M

Contact
M: M

Activities

M:I

Account

SIEBEL TOOLS BASICS:


1. What is Siebel Tools?
Siebel Tools is not a programming languageit is a declarative Software development tool. Standard
Siebel applications provide a core set of object definitions that you can use as a basis for your tailored
application. Using Siebel Tools, other configuration tools that are part of a Siebel solution, individual
programmers or teams of developers can customize a standard Siebel application without modifying
source code or SQL.
2. Object Types: An Object Type is a named structure from which object definition of that type can be
created. An Object Type has a predefined set of properties. Applet, Application, BC etc are in the Object
Explorer window are Object Types.
3. Object Definition: An Object Definition in the Siebel Tools environment implements one piece of the
software, either a user interface, abstract data representation, or direct database representation
construct. The followings are the important object definitions:
1. Business Component: represents a small business functionality, and also is collections of fields from
one or more tables. Its a virtual table. Its an abstract layer above the Data object Layer.
2. Business Object: represents a major business functionality and is also collection of logical related
business components.
3. Applet: is a user interface mechanism to enter, edit the data and developed on a Business Component.
4. View: is a user interface mechanism to group the applets, and represents the data of a Business Object.
5. Screen: represents a major business functionality and collection of views. It logically maps to the
business object in the business object layer.
6. Application: Application is the end product. One application is the collection of Screens.
7. Projects: Projects are named set of object definitions that resides in the Siebel repository-mechanisms to
meaningfully group object definitions, so they can be worked on by teams of application developers. If a
development activity is large, with multiple developers, the object definitions should be groped into
several project

Layered Structure of Siebel Applications


3

Siebel Tools enables you to customize Siebel applications by modifying and creating
object definitions. A standard Siebel application provides a core set of object
Definitions, which you can use as a basis for your own tailored application.

1.
2.
3.
4.

The Siebel application architecture consists of the following four layers:


User Interface Layer
Business Object Layer
Data Object Layer
DBMS (Database server)
In the multiple Developer Development Environments, the Siebel Server and Siebel Database
Server has to be Installed first. The database server holds the master Repository and the
master copy of all the database tables. The Repository, in Siebel is as set of database table that
holds all Siebel object definitions. The master copy of the Repository resides on a server
database where multiple developers can access it to make changes and additions. After the
installation of the Database server, the Developer Machines will be configured as a Siebel
Mobile Client and the copy or instance of the master database will be copied into the machine.
The Developers machines will have all the three layer except the database server.

Data Object Layer: Object definitions in the Data Objects layer provide a logical representation
of the underlying physical database (constructs like table, column, and index), and are
independent of the installed RDBMS.
Business Object Layer: This is the layer where we implement the business logic by using the
tables and fields of underlying layer. We do create BC, BO, Joins, Links, MVGs and many
others to represent the business functionality.
User Interface Layer: The User Interface Layer defines the visual elements user interacts with
on the object definition which are created in the Business Object Layer.
All the above layers are independent of each other and at the same time they are
interdependent.
DBMS: Siebel depends on the Third party DBMS systems for installation. Siebel Database will
consist of Repository and Tables. Repository is collection of tables where the Object Definition
has been stored.
SIEBEL FILE SYSTEMS

. EXE

. CFG

. SRF

. EXE: Siebel.exe is the Siebel Application Engine that runs all of the Siebel Application. The below
command line parameters being passed to the Siebel.exe program:
Siebel /D datasource /U username /P password /C Siebel.cfg
. SRF: Siebel.srf is the output of Siebel Tools compilation. It contains the data configuration and the data
presentation configuration (Object Definitions) created by the Developer in a binary format. A single
repository file can support multiple Siebel applications.
. CFG: Siebel.cfg contains the initialisation setting for the application engine. It identifies how the
application engine is to load up and run, where to obtain data from. Its simililar to .INI files used by many
window programs. It specifies the .SRF (containing set of object definitions to use when the application
engine executes. The Application Name setting identifies the application object definitions, within the
specified Repository file, that will be used in execution. Because of its Repository file and Application
name settings, each configuration file starts up a different application with a potential different set of
object definition. It also specifies the Data source available to the application like Sample, Local or Server
RDBMS you will connect to. The configuration file is a text file and is modified by any text editor.
To customize a Siebel application you need to modify the information contained in the configuration file
and the repository file. The Siebel executable is not modified, only the files reads are changed.

SIEBEL TOOLS REFERENCE MATERIAL


I.

PURPOSE

To provide a Simple and Comprehensive guidance to learn/refresh Siebel Tools and Configure
Customised Applications.
II.
SCOPE
This document provides detailed steps of Configuring and Customising Siebel Application. The
document does not cover the concepts in detail as it is assumed that the readers of this guide
have prior exposure to Siebel Application and Configuration.
III.
CONVENTIONS USED
CNR - Create New Record
PBC - Parent Business Component
Acc-Account

CBC - Child Business Component


Opty-Opportunity
Cont-Contact

FK-Foreign Key

PK-Primary Key

OLE-Object List Editor


OD-Object Definitions
COT-Child Object Type
BOL-Business Object Layer
means Next Step

OE- Object Explorer


OT-Object Type
UIL- User Interface Layer
DOL-Data Object Layer

IV.

NAMING CONVENTION

Project: <Prefer giving Small and One Word Names that relate to the Objective of the Project>
E.G. Sample Project

OBJECT
Business
Component
Field Name
Business Object
Applet

CONVENTION
<Project Name><BCObjectName>BC

<Object><FieldName>
<Project Name><BO-ObjectName>BO
<ProjectName><BussComp
Name><AppletType>
View
<Project Name><ParentObjectChildObject><ViewType
<Project
Screen
Name><ObjectName>Screen
Application
<Project Name>Application
SRF
<ProjectName>.SRF
CFG
<Project Name>.CFG
Responsibility
<Project
Name><Position>Responsibility

EXAMPLE
SampleAccBC
SampleOptyBC
Opt Name
SampleOptyBO
SampleOptyBCListA
pplet
SampleOptyContListView
SampleOptyScreen
Sample Application
Sample.SRF
Sample.CFG
Sample SM
Responsibility

V.

APPLICATION CREATION

Scenario:
Client XYZ Inc. desires to automate the Opportunity Management using Siebel Application and
wants the following information to be displayed in the Opty List Applet and the Entry Form
Applet in the Opty List View under Opty Screen.
Opty Name
Opty Alias Name
Description
Steps:
1. Logon to Siebel Tools as SADMIN and connect to Sample Database
Creating the Project
2. Click on Project Object Type in the Object Explorer (OE) WindowGo to the Object
Definitions(OD) Window where you can find the list of all the existing projects Create a
new record(CNR) Mention the Project Name in the Project Name Field( E.G. XYZ
Opportunity) Lock the Project by setting the Lock Field to true change the focus/move
from the record to commit
Creating Business Components
3. Select The Business Component OT from the OE Window Go to Business Component
OD Window where you can find list of all the available Business Components
4. CNR Give Name to the Business Component in the Name Field (E.G. XYZ Opty BC)
Move to the Project Field and select the project from the Pick Applet to associate the XYZ
Opty BC to the XYZ Project Map this BC to the Opty Base Table by selecting the
(S_OPTY) table from Pick Applet attached to the Table Field Change the Focus /Move
from the record to commit.

Click on the Field OT, which is the Child Object Type (COT) of Business Component
Set the Focus on the BC to which you want to add the fields i.e. XYZ Opty BC Move
to the Field Object Definitions Window below the Business Component Window

CNR Populate the Column, Name an, Data Type and Length properties with the data
mentioned in the table below

COLUMN NAME
NAME
ALIAS_NAME
DESCRIPTION

Note:

FIELD NAME
Opty Name
Opty Alias Name
Opty Description

TYPE
<Default>
<Default>
<Default>

TEXT LENGTH
<Default>
<Default>
<Default>

Change the focus/move from the window to commit the fields

Created, CreatedBy, Updated, Updated By and Id are automatically populated. We can also
Reuse/Modify the Standard Opportunity Business Component provided by Vanilla Siebel
Creating Business Objects
9. Select Business Object (BO) Object Type from the OE windowMove to the Object
Definitions Window CNR Give a name to the Business Object in the Name Field
Associate the BO to the Project by Selecting the Project in the Project Field

Move to the Business Object Components OT, which is the Child Object Type of Business
Object OT CNR Go to the BussComp Property and select XYZ Opty BC from the Pick
applet Change the Focus to Comit

Creating Applets
12. Create Opty List Applets by executing the steps below
Go to Menu Bar FileNew ObjectSelect the Applets Tab Select the List Applet
Wizard Then Click on OKIn the General Dialog Box Populate Project Name (XYZ Inc.),
Business Component (XYZ Opty BC), Name and Title of the Applet will appear automatically.
Click Next Select Applet List (Base/Edit List) from the template window and move the same
to Select the Template to use for the Base-Read only mode box
Select Applet List Edit (Edit/New/Query) from the template window and move
the same to Select the Template to use for the Edit Mode box.
Select Applet List (Base/Edit List) from the template window and move the same
to Select the Template to use for the Edit List Mode box
Click NextPick Up the fields (Opty Name, Opty Alias Name and Opty Description) from the
Available Fields window to Required Field window Click on Next Click on NextClick on
Finish
13. Create Opty Entry Form Applets by executing the steps below
Go to Menu Bar FileNew ObjectSelect the Applets Tab Select the Form Applet
Wizard Then Click on OKIn the General Dialog Box Populate Project Name (XYZ Inc.),
Business Component (XYZ Opty BC), Name and Title of the Applet will appear automatically.
Click Next Select Applet Form 4 Column (Base) from the template window and move the
same to Select the Template to use for the Base-Read only mode box.
Select Applet Form 4 Column (Edit/New) from the template window and move the
same to Select the Template to use for the Edit Mode box.

Click NextPick Up the fields (Opty Name, Opty Alias Name and Opty Description) from the
Available Fields window to Required Field window Click on Next Click on NextClick on
Finish
Creating a View
14. Go to Menu Bar FileNew ObjectSelect the General Tab Select View Wizard In
the Dialog Box Populate Project Name (XYZ Inc.), Business Object (XYZ Opty BO), Name
(XYZ Opty List View), Title (Opportunity View) Click Next Select View Detail (Parent with
Pointer) from Select Web Template window Click Next Move both the List and Form
Applets from Available Applets to Selected Applets window Click Next Click Finish.
Creating Screen
15. Select Screen Object Type Move to the Screen OD windowCNRGive a name to the
Screen in the Name property (XYZ Opty Screen) Select the Project in the Project property
Populate the View Bar Text field(XYZ Opportunity) Default View (The view selected here
from the pick applet will be the default view when we move to the XYZ Opty screen) Change
Focus to Commit

Select the Screen View Object Type which is the COT of Screen OT Move to the OD
Window CNRAssociate the XYZ Opty List View to the XYZ Opty Screen by picking up
the view from the Pick Applet associated to the View FieldPopulate the View Bar Text
field My Opportunities (The name you give here will be the display name of the view in the
Menu Bar) Populate the Menu Bar Text field &My Opportunities(The name you give
here will be the display name of the view in the View Bar) Give the Sequence of the view
in the Sequence field (Sequence is the order in which the views will be listed in the UI
Layer) Change Focus to Commit

Creating an Application
16. Select the Application Object Type Move to the Application OD windowCNRName
the Application(XYZ Application) Select the Project from the Project PropertyGo to the
Menu Property and Select Generic from the Pick Applet Go to the Container Web Page
property and Select CC Container Page from the Pick Applet Go to the Error Page
property and Select CC Error Page from the Pick Applet Go to the Login Web Page
property and Select CC Login Page (Login Only) from the Pick Applet Go to the LogOff
Acknowledgment Web Page property and Select CC Login Page (Login Only) from the Pick
Applet.

Seelct Application Toolbar Object Type which is the COT of Application OTCNR Go to
Toolbar Property and select the Menu Bar/Tool Bar/History Bar from the Pick AppletGive
the Sequence to define the order in which each of these bars should appear in the UIL
Change Focus to Commit

Seelct Application PageTab Object Type which is the COT of Application OTCNR Go
to Screen Property and select the XYZ Opty Screen (The Screens selected here will be

displayed on Page Tab in the UIL Go to the Text Property and give Display name of the
Screen Opportuinty Populate the Sequence in the Sequence Propoerty Change
Focus to Commit

Select Screen Menu Item ObjectType which is the COT of Application OT CNR Go to
Screen Property and select the XYZ Opty Screen (The Screens selected here will be
displayed on Screen Menu Item in the UILGo to the Text Property and give Display name
of the Screen Opportunity Populate the Sequence in the Sequence PropoertyChange
Focus to Commit

Creating an SRF file and Compiling the Project


17. Menu BarRepositoryCompileClick On BrowseFocus Siebel.SRF File & Right
ClickCopy-PastRename as XYZ.SRFClose and move back to the Compile Dailog
BoxSelect the Project from the Window and Click on Compile
Note: The SRF file should always be stored in Sea702\client\OBJECT folder Before moving
out from Tools ideally copy the Views, Application and SRF name to avoid mistakes
Creating CFG File
18. Navigate to \sea702\client\BIN\ENU Folder Copy the Siebel.CFG file PasteRename
it as XYZ.CFGOpen the XYZ.CFG Fileand fill the following properties:
Repository File
Application Name

= XYZ.SRF
= XYZ Application (Mention the Exact name of the SRF
and Application Name including the Case
Application Splash Text
= XYZ Sales Application
Application Title
= XYZ Application (The title mentioned here will
Appear in the UIL)
Creating a Shortcut to the Configured Application and mapping the Exe File to the CFG
file
19. Go to the DeskTopCopy the Siebel Application IconPasteRename the Icon to XYZ
ApplicationRightClick on the icon and select Properties from the Cascade menuClick on
Shortcutand set the Exe path to:
C or D: \sea702\client\bin\ENU\ XYZ.cfg
Visibility and Access Rights
20.Logon to Siebel Call Center as SADMINClick on Sitemap Click on Application
Administration ViewsIn the Views List Applet CNRCopy-Paste the View Name(In this
case its only the XYZ Opty List View) in the View and Description fields
Navigate
to ScreensApplication AdministrationResponsibilities ViewCNR in the
Responsibility List AppletGive a name to the responsibility
(E.g. Sales Manager
Responsibility) and DescriptionMove to View List Applet and CNRSelect the view you wish
to associate to their responsibility (XYZ Opty List View in this Case)Move to Employee List

Applet and CNRAssociate one or more employees to the


Applciation

responsibilityClose the

21. Goto the DesktopOpen the XYZ Application with the associated employees Login
parameters to find the XYZ Application with One Screen, One View carrying two applets.

VI.

CREATING A MULTI SCREEN APPLICATION

Scenerio: Client XYZ Inc wants to automate the Opportunity, Contact and Account Information
using Siebel Application. Below are the User Requirement Specifications

The Application must provide the ability to manage Opportunity , Account and Contact
Information

The application should provide the Contact information of each Opportunity selected.

The application should provide the Account information, and also the contact and
oppportunity information of each account

The application should provide Contact information along, and also the Opportunities each
contact is associated with.

Solution: From the URS the following can be derived


Buss
Comps
Opty BC

Buss
Objects
Opty BO

Applets
Opportunity List Applet
OpportunityEntryForm Applet
Opprotunity Form Applet

Views

Screens

Opportunity List Opportunity


View
Screen
Opty-Cont

Cont BC

Cont BO

Acc BC

Acc BO

Contact List Applet


Contact Entry Form Applet
Contact Form Applet
Account List Applet
Account Entry Form Applet
Account Form Applet

Detailed View
ContactList View
ContactOpty
Detail View
AccountList View
Acc-OptyDetail
View
Acc-ContDetail
View

Contact
Screen
Account
Screen

Steps:
Business Component: XYZ MS Opty BC(CNR Means Create New RecorD)
1. Select Project OTCNR Populate Project Name (XYZ Multi-Screen Application) and
Lock the Project
2. CNR Populate (Name, Project, Table)
3. Select Field Object Type CNR and populate (Column, Name, Type, Text Length)
Repeat the Step 1 and 2 to create Contact and Account BCs aswell and pick up 3-4 fields for
each BC
4. Select Business Object OT CNRName the Business Object (XYZ MS Opty BO)
5. Select Business Object Component OTCNRPopulate the BussComp property with the
Parent Business Component, which is Opty BC in this case, and also, select the Contact
BC that will be the Child Business Component in this case.
Note: We can establish a Parent Child relationship between two BCs at the BO level. Parent
Business Component will establish a Parent Child Relationship the XYZ MS Opty BC BCs with
which the Opty BC will establish.
6. Repeat the Step 3 and 4 to create Contact and Account BOs and associate Opty BC to
Contact BO and both Contact and Opty BCs to Account BO to establish Parent Child
relationship
7. Create the Views and Screens specified in the table above and associate the Screens to an
application.
8. Compile an SRF file.
9. Add Views in the Application Administration and associate responsibilities and employees
to the views.
10. Create a CFG file and refer the CFG to the SRF compiled in step 7.

Create a Short Cut and run the application.

VII.

JOINS

When ever the relationship between two entities is Many-One or One-One we go for a Join
between the entities.

Join is established bteween a BC and One or more related tables.

Join Object allows a business component to represent data from a foreign table and is used
on the many side of a Many-One relationship

Join allows data from more than one table to be displayed on one applet.

The Object which is on the One Side is the PBC and the One which in the Many Side is the
Child.

The Parent Table would have the Primary Key and the Child table will have a Foreign Key
refering to the PK of the Parent Table.

VIII.

JOIN RELATIONSHIP BETWEEN CONTACT AND ACOUNT

A Contact is associated with a maximum of one Account

An Account can have many Contacts

A Primary Key (PK) uniquely identifies a row on a table


For Siebel Tables, the primary key is always the ROW_ID column
In Siebel, row_id is unique within the table and the database

A Foreign Key (FK) column stores the Primary Key (PK) of another table

Contact
Foreign Key/Child

M:1

Account
Primary Key/Parent

IX.

CREATING A JOIN

Scenerio: Client XYZ Inc wants the Opportunity List applet to also provide the Account Name
and Location the Opportunity is associated to.

Create the Child Business Component (Opty in the above case)

Add FK field in Child BussComp fields Required to Construct Join

Create a Join by Specifying Destination Table(S_ORG_EXT in this case)

Specify the Join relationship

Select the fields from the Parent table to Child Business Component

Inputs
Relationship between Opty and Acc is M-1
Opty is a child and Acc is the parent
Opty BC will have the FK and the Acc table will have the PK
Steps:
1. Create Project, Opty BC and select 3-4 fields from Opty Table.
2. Goto Table OTQuery for the S_OPTY (Child table)Goto Column OT which is the Child
OT of TableQuery for S_ORG_EXT (Parent Table)in the Foreign Key Table Property
Copy the FK Coulmn (PR_DEPT_OU_ID) from the Name property and Paste it in the CBC
(Opty BC)
Note: PR_DEPT_OU_ID is the foreign key in the Opty table refering to the Primary key of
Account table.
3. Select Join Object typeGoto the Join OD windowCNRPopulate the Table Property
with the Destination table(S_ORG_EXT)Set the Outer Join Flag Property to True

4. Go to Join Specification Window, which is the COT of Join OT CNR Give a name to
the Join (Optinal)Source Field (Row Id/Primary Key)Destination Field(FK field from
Opty BC/Child BC)
5. Go back to the Opty BC(CBC)FieldsCNRGo to the Join Property and select the Join
created( S_ORG_EXT)Select the Account Name and Location Columns from Accont
Table in the Column Property
Note: On Selecting the Parent table in the Join Property, we get all the coulmns of the Parent
table available in the Column Property.
Creating Applet, Views, Screens , Application would remain normal.

X.

LINKS

A Link Specifies the relationship between Business Components.

A Link provides the display of Master-Detail or Parent-Child Information.

A Link Controls what Child records are displayed for a parent record.

When ever the relationship between two Business Components is 1-M or M-M we can
establish a Link.

Links allows data from the Child Business Component (Foreign Tble) to return many
records associated with the parent/driving/main table.

XI.

CREATING A 1-M LINK

Scenerio: Client XYZ wants the list of all the Opportunities at each account on selecting the
account.
Create Parent and Child Business Components (Account and Opty in the above case)
Add FK field in Child BussComp fields Required to Construct Link

Create a Link between the Business Components

Add BCs to BO and specify the Link on Child (Child is Opty BC in this case)

Inputs:
Relationship between Account and Opportunity is 1-M
Account is the parent and Opportunity is the Child
Account BC has the PK and Opty BC has the FK
Steps:
1. Create Project, Acc BC and Opty BC and associate 3-4 fields to each BC
2. Goto Table OTQuery for the S_OPTY (Child table)Goto Column OT which is the Child
OT of TableQuery for S_ORG_EXT (Parent Table)in the Foreign Key Table Property
Copy the FK Coulmn (PR_DEPT_OU_ID) from the Name property and Paste it in the CBC
(Opty BC)
Note:In Siebel Row_ID(PK) is a system defined field and is automatically populated in the BC
fields and hence you need not explicitly associate the PK to the PBC

3. Select Link OTCNRParent Business Component(Acc BC), Child Business Component


(Opty BC), Source Field (Row_Id), Destination Field(FK in the CBC)
Note: Observe that the Link Name is automatically genreatd once the PBC and CBC fields are
populated.

4. Create Account Business Object with Account and Opportunity as the Business Object
Components
5. Goto Acc BOBusiness Object ComponentSpecify the Link created above in the Link
of the CBC (Opty BC)

6. Create Opty List Applet, Account List Applet and Account Form Applet
7. Create Acc List View and Acc-Opty Detail View
8. Create Account Screen and associate both the views created above
9. Application and others remain the same.
XII.

CREATING A M-M LINK

When ever the relation ship between two Business Components is M-M we must use the
M-M link to establish the relationship.
No RDBMS application supports M-M relationship directly . hence when the relationship is
M-M the same is split into two 1-M relationships.
Between two entities with M-M relationship, there exists an Inter table which holds the
referential keys of both the entities pointing to each other through the Inter Table.
The Inter table aslo has a column which is called asa 3 rd FK . The logically arrived Child
table (BC) will have the referntial key as one of the coulmns. The Child BC will use this a
FK refering to the Inter table.
E.G. of a M-M relationship: In Opportunity Screen we have the Contact View which gives
the Opty-Contacts Detialed view. Here the relationship between Opty and Contacts is 1-M
with Opty as the driving entity (One Opty can have Many Contacts associated to it). Hence
logically Opty becomes thee Parent and Contact becomes the Child.

Scenerio:
Client XYZ Inc wants the list of all the Contacts associated to an Opty (Detailed
above)

Inputs:
Relationship between Opportunity and Contact is M-M
Oppportunity is logically the parent and Contact is the Child
Opty BC will hold the 3rd Foerign Key as one of its columns which refers to the PK of the
Interface table.
Steps:
10. Create Project, Opty BC and Contact BC and associate 3-4 fields to each BC
11. Goto Table OTQuery for the S_CONTACT (Child table)Goto Column OT which is
the Child OT of TableQuery for the other table S_OPTY) (Logically the Parent Table)
in the Foreign Key Table Property Copy the 3rd FK from the Name Propeorty and
paste it in the Contact BC fields Also Copy the Inter table name from the Primary
Inter table property
12. Go back to Table Object type and Query for the Primary Inter table in the Name
Property
13. Now Go to the Coulmn Propoert and Query for Both the tables in the FK table property
(Query as S_OPTY or S_CONTACT) to find two records displayed. The First Record
Name Property will have the FK of Opty refering to the Contact Table and the Second
Records Name propoerty will have the Contact Table FK Coulmn name which is
refering to the Opty Table Copy these two FKs
14. Go to the Link Object Type CNR Associate the Link to the Project Populate Opry
and Contact in the BC and CBC PropertiesPopulate the Primary Inter table Property
with the Inter Table NamePopulate the Inter Parent Coumn with the FK of Opty
Populate the Inter Child Column with the FK Coulmn of Contact
15. Create Opty Business Object with Contact BC and Opportunity as the Business Object
Components
16. Goto Opty BOBusiness Object ComponentSpecify the Link created above in the
Link of the CBC (Contact BC)
17. Create Opty Form Applet, Contact List Applet
18. Create Opty-Contact Detailed View
19. Create Opty Screen and associate the view created above
20. Application and others remain the same.

XIII.

PICKLISTS

Picklists enable users to select a value to populate a text box with data.
Static Picklist: A static picklist is a selection list that is invoked from a particular text box or list
column in an applet.
XIV.

CREATING A STATIC PICKLIST

Scenerio: Client XYZ wants a specific list of Account Types so that one type can be selected
for each account.
Create an LOV of type LOV_TYPE in Application Administration

Create LOVs of type created in the previous step in Application


Administration

Create a picklist in Tools

Associate the created picklist to the field in the BC where the picklist must
be made available

Inputs:
Special-purpose business component for the list-of-value lists, Pick List Generic BC is used in
static picklists. It is administered through the List of Values view in the System Administration
screen in Siebel applications.
The name of the type of List of Value to be created is specified in the Type attribute of the
picklist Generic BC and the name of the List of Values is specified in the Name attribute of the
same BC
Steps:
1. Login to Tools. Create Project, Acc BC and associate 3-4 fields to the BC including the field
pertaining to Account Type
2. Login to Call Center

3. Go to Application Administration

List of Values

List of Values

4. CNRSelect the Type as LOV_TYPE Provide same values for the Display Name,
Language Independent Value fields say Account_Type, Select the English-American value in
the field Language Name, Check the Translate and Active fields
6. CNR to create the list of Account TypesSelect the Type as Account_Type or the name
provided in Step 4 sub-point ii Provide the first item in the list for the Display
Name,Language Independent Code fields Select the English-American value in the
field Language Name Check the Translate and Active fields
7. Create a picklist in Tools following the below steps

CNR in the picklist OT


Specify a name for the picklistSelect the Picklist Generic BC as the BC for the
picklist Select Type in the Type fieldSpecify the name of the picklist as the same
created in Step 4 sub-point ii (Account_Type) in the Value field

8. In the Picklist field of the field corresponding to Account Type in the Account BC, specify
the name of the picklist created in Step 6.
9. Compile the SRF

XV.

CREATING A DYNAMIC PICKLIST

Scenerio: Client XYZ wants to view the list of all the accounts at each Opportunity on
selecting the Account Field and wants to associate on of the accounts to the current
opportunity.

Create Parent and Child Business Components (Account and Opty in the above case)

Create a join between the two BCs

Add a few columns including Account Name and Account ID to the


Opportunity BC by specifying the join created in the previous step

Create a picklist

Associate the Picklist with the field Account Name in the Opportunity
BC and create mappings to the fields in the Picklist to the fields
present in the BC pertaining to the Account fields(at the PickMap OT
level)

Create a pick Applet based on the Account BC

At the applet level, associate the pick applet created with the
corresponding field (Account Name)

Inputs
Since an account picklist is to be made available in the Opportunity applet, the Opportunity BC
forms the Originating BC while the Account BC (on which the Pick List will be based on) forms
the destination BC
There being a 1:M relationship between Account and Opportunity, a join needs to be created
between the two to enable inclusion of Account fields in the Opportunity BC

Steps:
1. Create Account and Opportunity BCs
2. Create a join between the two business components
3. Add a few columns including Account Name and Account ID to the Opportunity
specifying the join created in the previous step

BC by

Create a picklist in Tools


4. Create a new record in the picklist OTSpecify a name for the picklistSelect the Account
BC as the BC for the picklist
5. Associate the Picklist with the field Account Name in the Opportunity
Create mappings between the fields in the Picklist and the fields corresponding to Account
added to the Opportunity BC. Steps for the same are as below:
6. Query for the Account Name field in the Opportunity BC
7. Go to Pickmap OT pertaining to the Account Name fieldCNRSelect Account ID in the
Field attribute and ID (pertaining to Account ID in Account BC) in the Pick List Field
attributeSelect Account Name in the Field attribute and Name (pertaining to Account
Name in Account BC) in the Pick List Field attribute.
Similarly create mappings for the remaining account fields present in the Opportunity BC
8. Creating a pick applet by following the below steps:

Go to menu File New ObjectIn the New Object box that appears, select Pick Applet
and click on the OK button

In the General form that appears, choose the project, the Account BC and enter a name to
identify the applet as well as the display title

In the Fields form that appears, select all the fields that you want the pick applet to contain
and click on the Next button

In the Finish form that appears, verify the entered data. In case of any changes needed,
click on the Back button else click on the Finish button

Add the fields pertaining to Account in the Opportunity Applet (which are already available
in the Opportunity BC)

In the record pertaining to Account Name, specify the pick applet created in Step 7 in the
Pick Applet field

9. Compile the srf.

Comparison between Static and Dynamic Picklist


Similarities:
They are similar in that both enable the user to select a value to
Populate a text box with data.
Differences:
A dynamic picklist draws values dynamically from a pick business component. A static
picklist is a static list of available selection values.

A dynamic picklist invokes a dialog box with multiple list columns and buttons. All that
appears in a static picklist is a simple one-column pop-up list, without buttons.

A dynamic picklist can populate multiple controls in the originating applet. A static picklist
populates a single control in the applet, and the corresponding field in the underlying
business component.

XVI.

TOGGLES

Toggle is a User Interface Gadget which is used to navigate between Applets in the
Same View.

Toggle is an Object is aasociated to the applet and enables the user to navigate to
another applet based on the Same or different Business Component.

Toggles are used when you desire to view complete information of a particular record in
a list applet. Viewing all the fields information of a record in one stroke is the comfort
one can attain by using toggle and moving to a Entry Form Applet.

Togles are of Two types. Static Toggle and Dynamic Toggle

Static Toggle: Static Toggle allow the user to navigate to a different applet by being in the
same view. You may have another togggle in the destination applet which when clicked can
navigate back to the Originating Appplet or move to a Third Applet
E.g. The Contact List Applet in the Opty-Contact View hasa aToggle Button which when
clicked takes us to the Contact Entry Form Applet which becomes the detination applet.
Here we have another toggle button which when clicked will take you back to the Contact
List Applet.

XVII. CREATING A TOGGLE (STATIC)


Scenerio: Client XYZ Inc., wants the Opty-Contact Detial View, In addition the client also
wants an option to view complete information of each record in one stroke. The Solution is to
have the Contact List Applet in the Opty-Contact Detailed View with a Toggle. On Selecting a
record and Clicking on the Toggle Button the userr can navigate to the Contact Entry Form
Applet to find the entirte information in one shot. The User will also have a toggle in the Entry
Form Aplet to navigate back to the List Applet
Steps:
1. Applet OTSelect your parent Applet (The applet from where you wish to move to another
applet. Contact List Applet in the above case)
2. Applet Toggle COT of Applet OT) In the Applet Property select the destination/directional
applet which is Contact Entry Form Applet in the above case, Give the Sequence number
in the Sequence property
3. To toggle back from Contact Entry Form Applet to List Applet:
Applet OTSelect your Child Applet (Contact Entry Applet in the above case)
4. Applet Toggle COT of Applet OT) In the Applet Property select the destination/directional
applet which is Contact List Applet in the above case, Give the Sequence number in the
Sequence property
The above two steps have defined the navigation path, however, we must add the toggle
button in both the applets using which the user from the User Interface can toggle between
the applets. To do this:
5. Query for an applet with Toggle button in the Applet OT (Query As: *Toggle*) in the Name
property Right Click one Applet Object Defination appeared as a result of the
queryClick on the Edit Layout Item in the Cascade drop down Copy the Toggle button
from the layout Go back to the Contact List Applet Right Click Edit LayoutPaste the
Toggle Button Save and Exit
6. Repeat the Above and paste the Toggle button in the Entry Applet aswell

XVIII. CREATING A TOGGLE (DYNAMIC)


Scenerio: Customer XYZ Inc., requires a functionality in the application which can dynamically
take the user from Contact List Applet in the Opty-Contact View to Contact Entry Form Applet
when the user focuses on a record when the value of the Job Title field is CEO
Steps:
1. Applet Select your Parent applet (Contact List Applet)
2. Applet Toggle COT In the applet property select the destination applet (Contact Entry
Applet)Populate the Auto Toggle field with the field on which the Dy. Toggle Functionality
is based on (Job Title in the above example), In the Auto Toggle value property populate
the value (CEO in the above case).Sequence (You can have more than one Dy. Toggle
in one applet with each Dy Toggle based on different values)
Note: Dynamic Toggles can take yu to the destination applet but, you cannotcome back to the
originating aplet.
XIX.

DRILLDOWNS

A Drill down is similar to an Hyperlink which when clicked takes you to a new location.
Drilldown object in Siebel is associtaed to a field in a list applet. On Clicking on the Hyperlink
field the user can navigate to a different view in the same screen or a different screen
E.G. of a Drill down with the same Screen :
Opty name field in Opty List applet in Opty List View when drilled takes you to Opty-Contact
Detail view which is again in the same Opty Screen
E.G. of a Drill down to a View in a different Screen :
Contact Last Name field in the Contact List Applet of Opty Contact Detailed view wi;ll take you
to Contact Activities View in Contact Screen
XX.

CREATING A DRILLDOWN

Scennerio: Creating a Drilldown from Opty ListView (Opty Name Field) to Opty-Contact View
Steps:
1. Applet Select your List Applet (Opty List applet)
2. Go to Drill Down OT CNR Give a name to the drill down in the Name fieldView the
directional /destination view (Opty-Contact Detailed view in the above case), Specify the
Hyperlink field (Opty Name field in the above Scenerio)Mention the name you wish to

have to the drilldown in the Cascade Drop down( Cascade drop down is the other way of
to navigate to the destination view)
XXI.

CREATING A DRILLDOWN FOR JOINED FIELDS

Scenerio: Associating Drill down functionality to the Account Anem Field in the Opty List
Applet of Opty List View. Account Name being a joined field originated from the Account
Table we must specify the Referntial Key Fields (i.e. the FK in the Opty BC referring to the
Acc BC) in the Source Field Property
Steps:
Go to Drill Down OT CNR Give a name to the drill down in the Name field View the
directional /destination view (Account-Contact Detailed view in the above case)Specify the
Hyperlink field (Account Name field in the above example)Mention the name of the drilldown
in the Cascade Drop down In the Business Component Field Select the Account BCIn the
Source Field Property select the FK from Account column
note: Cascade drop down is the other way of to navigate to the destination view
XXII.

MULTI VALUE GROUP

Multi Value Group (MVG) applets allow for the pop up display of detail or child records on
demand/runtime.When ever more than one value is associated with a field we get MVGs

Multi Value Field (MVF) allows Master-detail ot Parent-Child information to be displayed in


one applet. Any field which has more than one value associated to it is called as a Multi
Value Field

Multi Value Links levarages on the Links to support MVFs

E.g. Sales Team Field in Acount Applet is a Multi Value field because the relationship between
Sales team and Account is:
One Account can have more than one sales person associated to it (1-M). Other way round,
One Sales person can be associated to more than one Account (1-M). Which establishes a MM relationship.
In the above exmple:
Sales team field is a MVF as it have more than one value
The Group of Sales people associated to the account are called a s MVG.
The Object that establishes a link between MVF and MVG is MVL.

When ever the relationship between MVG and MVF is M-M we get an Association applet.

E.g. : In the above example between Account and Sales team, the relationship M-M. In this
case we get an Association applet which is based on the S_EMPLOYEE table and provides th
list of allth employees

The MVG Applet that provides the list of Sales team members asociated to a particular
account is based on the S_POSTN table.
Why Use MVG:
When ever you have two entities with a 1-M or M-M relationship and you desire to get the
related data the only option you had was to have two different applet displaying a MasterDteail relationship. The disadvantages with this option are:

Two applets would take more space.


We cannot Query at a time on two business components if the dtaa from the BCs is
displayed in two separate applets.

To overcome this problem we can use MVG. E can configure a MVF rather than display the
child information in the sepertae applet because a MVF takes up less
Screen real estate than the entirely separate applet. Also, MVFS are available for use in
queries in combination with other fields in the applets business component.
XXIII. CREATING A MVG FOR 1-M RELATIONSHIP
Scenerio: Client XYZ wants the all the addreeses of an account to be displayed in the same
account applet asa pop up attahed to the Address field instead of having two sepreate applets.
Inputs:
Relationship between Account and Address is 1-M
Parent is Account and Child is Address

Create a Multi Value Link in the Parent BC

Add Multi Value Field sin the Parent BC

Create a MVG Applet to display Child records

Add Controls/ListColumns to the Parent Applet to display MVFs and Invoke MVG Applet

Ad Primary FK in Parent BC and on the MVL to enhance the performance of List Applets

Steps

1. Create a Link between Account and Address Business Components Associate the Link
to the CBC (Address) in the Buss Object Components under BO.
2. Select your Parent/Originating BC (Account).
3. Go to MVL Object Type CNR Give a name to the Link in the Name propertyPopulate
the Child BC(Address) in th eDestination BC PropertyPopulate the Link created in Step(1) in
th4e Destination Link Property.
4. Go to MVF Object TypeCNRGive a Name to the the MVFSelect the MVL in the MVL
property.
Note: On completing the above steps you can see the MVF created in the 4 th Step
automatically populated in the Account BC fields.
5. Go to Applet Object typeCNRUse the Object Wizard to create the Applet
Note: Base the MVG applet on the CBC and the Applet. In case of creating the MVG Applet
manually ensure that you populate the Applet type property to MVG, Dimension 512*220.
9. Select the Originating Applet (Account)ListList ColumnsGo to the MVF and associate
the MVG Applet to this field by populating the MVG Applet propoerty with the MVG Applet
name Check the Runtime property to True.
10. Creating View, Screen and Others remain the same.

XXIV. REQUIRED FIELD


1. Select your BCField OT Select the field you wish to make as a required field and
check the Required Property to True
XXV. TO VALIDATE YOUR OBJECT DEFINATIONS
Select any of your Object Definations and Right Click and Click on Validate in the
Cscade Drop Down
XXVI.

TO VISUALIZE YOUR OBJECT DEFINATIONS

Select your Object Definations Right Click View Hierarchy

XXVII. TO SEE RELATIONSHIPS


Select your Object Definitions Right Click View Relationships

XXVIII.

TO GET A NOTE PAD ON THE DESCRIPTION FIELD OF BC

1. Go to Applet OT Query for the applet in which you wish the Note pad to be
associated to the Description field Go to the List Columns of the applet Select the
Description field and Set the Popup Edit Propoerty of the field to true
XXIX. TO CREATE SUB / CATEGORIZED VIEW
1. Go to Screen OTSelect the Screen under which you wish to have sub views
2. Go to the Screen View Object TypeCNR In the View property select the view
you wish to have as a Sub View and Give a name to the Category in the Category
Property
3. Repeat the same step to add more sub views and specify the same Category Name
to all the Sub Views.

XXX. IMPLEMENTING FIND DIALOG BOX


1. Find OT CNR Specify Name (Say Account), Project and Title (Say Find Account)
2. Applet OT Select the Applet in which you which this feature be added
3. Find Field CNR In the Fields property specify the field say Acc Name, Give
Sequence in the Sequence property and title in the title property. Repeat the step for
each field you wish to include
4. Go to Find View CNR In the View Property select the view you wish to implement
the Find Dialog box for and specify the Sequence in the Sequence Property
5. Application: Select your Application Go to Application Find OT CNR In the
Find Property select the Find Object created by you in the 1st Step above and give the
Sequence in the Sequence property Field

XXXI. TO CREATE A NEW BITMAP


1. Goto Bitmap Category CNR In the name property give a name to the Bitmap, Associate
the Bitmap to a Project and Set the Predefined property to true or false
2. Goto Bitmap (COT of Bitmap Category) CNR Specify, Name, Height and Width. Also,
specify the Transparency Color by Right clicking in the Transparent Color Property and
selecting the color
XXXII. TO IMPORT A BITMAP
1. Go to Bitmap OT, which is the Child Object Type of Bitmap Category Right Click Import
Bitmap Choose one from the available .BMP files
XXXIII.

FOR LOGO TYPE BITMAP

1. Screen Query for the Screen in which you desire this Bitmap to be associated Go to the
Bitmap Category property and select the Bitmap from the list
XXXIV. TO HAVE A BITMAP IMAGE AS A APPLET BACKGROUND

1. Bitmap Category In the name property specify a name to the Applet Background
Associate the Object to a Project and Set the Predefined property to true or false
2. Goto Bitmap (COT of Bitmap Category) CNR Specify, Name, Height and Width. Also,
specify the Transparency Color by Right clicking in the Transparent Color Property and
selecting the color
3. Goto Applet OT and Query for your applet in which you want the background and in the
Back Ground Bitmap Property select the above bitmap In the Background Bitmap Style
property specify any of these four (Center Value/Stretch Value/Tile Value/Top Left Value)
XXXV. TO HAVE A BITMAP IMAGE AS A VIEW BACKGROUND

1. Bitmap Category In the name property specify a name to the Applet Background
Associate the Object to a Project and Set the Predefined property to true or false
2. Goto Bitmap (COT of Bitmap Category) CNR Specify, Name, Height and Width. Also,
specify the Transparency Color by Right clicking in the Transparent Color Property and
selecting the color
3. Goto View OT and Query for your View in which you want the background and in the Back
Ground Bitmap Property select the above bitmap In the Background Bitmap Style property
specify any of these four (Center Value/Stretch Value/Tile Value/Top Left Value)

XXXVI. BUTTON CONTROLS IN APPLET

1. Bitmap Category Select Button Icons


2. Goto Bitmap Object Type (COT of Bitmap Category) Either Create or Select the Bitmap
3. Goto Applet Query for your applet Right Click Edit LayoutSelect Control from Menu
BarDrag and Drop Right Click Specify a Caption and Set the Owner Draw to True
XXXVII. COMPANY LOGO

1.Bitmap Category Select One or CNR Go to the Bitmap OT Select One or CNR
2. GO to Application OT Select your Application and in the Company Logo Property Select
the Bitmap Created /Selected in step One.
XXXVIII.

SMART SCRIPT

Siebel SmartScript enables business analysts, call-center managers, and Siebel Developers to
create scripts to define the application workflow for interactive Customer communications. The
flow of the interaction is determined entirely by the Script not by the agent or customer.
A script comprises of pages, which in turn comprise of questions. Each question can have
none or more answers.
Steps for creating a script
1. Logon to the local Siebel client instance with the login parameters
2. Go to Screens Smart Script Administration SmartScripts Questions
3. Right-click on the Questions applet and select new record.
Give a name for the question in the Name field
Three options Optional, Must Answer, Answer if reached are available for selection in
the Must Answer field
Optional: If the question need not be answered
Must Answer: If the question must be answered irrespective of whether the question is
reached or not
Answer if Reached: The question must be answered if it is reached through branching
The type of answer expected is selected in the Answer field. The available options are:
String, Integer, Number, Currency, Date, Date & Time, Time and Information. If no
answer is expected for the question (the question being a statement), the option
Information is selected
If the answer for the question is to be picked up from a list of answers, check the option
Pick Only.

If the answer expected is an integer, the maximum and minimum acceptable values for
the answer can be set in the Maximum and Minimum fields
If the answer expected is a currency, the Currency code can be set in the Currency field
One of the answers among the list of answers for a question can be set as the default
answer in the Default Answer field
The picklist or MVG associated with the question can be set in the PickList and MVG
fields
The Save Answer Table field must be checked is the answer to the question is to be
saved to BC.
4. Create question translations, right-click on the Question Translations applet and select new
record.
Select the language in the Language field
Enter the question text in the Question field
5. Create Answers for corresponding questions (wherever required), right-click on the
Answers applet and select new record.
Enter the sequence number of the answer in the Number field
Enter the answer text in the Value field
Select the appropriate currency (wherever required) in the Currency field
6. Create answer translations, right-click on the Answer Translations applet and select new
record.
Note:
All the questions whose answers must be picked up from a list of answers must
have the field Pick Only checked. The answers must be available as records in the Answer
applet. It is mandatory to provide Question Translations for every question while it is not
mandatory for Answer Translations.
7. Create new pages based on the script document. To create a page, go to the Pages view
8. Right-click on the Pages applet and select new record.
Give a name to the page in the Name field
Select the first question of the page in the First Question field
Select one of the options- One per Line, Rows, Columns in the Layout field
One per line: Each question is displayed across the full width of the script desktop.
Rows: The questions are displayed in horizontal rows across the script desktop.
Columns: The questions are displayed in vertical columns on the script desktop.

Select one of the options All Reachable, Only Current, All in Page in the Reveal field to
select how questions are to be displayed

All in Page: All questions on the page are visible.


All Reachable: The current question, and all questions that can be reached from
the current question via a single branch, are visible.
Only Current: Only the current question is visible.
9. Create page translations, right-click on the Translations applet and select new record.

Select the language in the Language field


Enter a label for the page. This label will be visible in the script.

10. The next step is to create page branching (branching within the questions pertaining to a
single page). The answers to the first question of the page (specified in the Pages applet)
will be available in the Answers to First Question applet. All the answers pertaining to a
page can be associated to the page through page branching
Create new records for each answer to be linked to a question in the same page in the
Answers to First Question applet
Select the answer in the Answer field
Select the question this answer is to lead to in the Next Question field. Once a question
is selected in this field, this question becomes a part of the current page
Drill down on the question selected in the Next Question field to be taken to the
Answers to Current Question applet
Create a new record in the Next Questions applet
For the current question, select the answer which is to lead to the next question in the
same page in the Answer field and the question in the Follow-on Question field
Thus continue linking all the questions pertaining to a page
11. Go to Scripts view.
12. Create a new record in the Scripts applet.
Specify the name of the script in the Name field
Select the first page of the script in the First Page field
Enter the estimated duration, unit of duration in the fields Est. Duration and Duration In
respectively
Select the appropriate Question Style, Dashboard style, Layout and Reveal mode in the
respective fields
Check the Jumping Allowed field to allow jumping from question to another out of order
Choose the appropriate option in the Save Session field the options being: Always,
Finished, Never
Always: The session record and answers are saved whether the script is
Completed normally or cancelled.
Finished: The session record and answers are saved only when the script is
Completed normally and the agent clicks Finish. This is the default setting.
Never: The session record and answers are not saved.
13. Select the Organization the script belongs to in the Organization field
14. Create script translations. Create a new record in the Translations applet
Select the language in the Language field.
Provide a label in the Label field
Specify the text to be specified in the Dashboard in the Dashboard field
15. Now create script branching wherein the pages pertaining to the script are linked.

The questions pertaining to the first page in the script (specified in the Script applet) are
available in the Question field in the Answers to First Page Questions applet
Create records pertaining to the questions in the first page whose answers lead to
questions in other pages in the same script in the Answers to First Page Questions
applet
Select the question whose answer leads to another page in the Question field and the
answer in the Answer field
Select the page which contains the follow-on question in the Next Page field and the
follow-on question in the Next Question field
Drill down on the Next Page field to go the Answers to Current Page Questions applet
Create records pertaining to the questions in the page specified in the Next Page whose
answers lead to questions in other pages in the same script in the Next Pages applet
Select the question whose answer leads to another page in the Exit question field.
Select the answer which leads to another page in the Answer field
Select the follow-on page and question in the Follow-on Page and Follow-on Question
fields
Thus continue linking all the pages pertaining to the script
16. After the questions and the branchings are created, the questions and script need to be
coded for specific functionality and for further control over the flow of the script. The various
methods and events that can be coded at the question and script levels are listed and
explained in the bookshelf.
After the script is ready, coding needs to be done at the Business Component level for
saving data from the script to the business component and setting certain workflow flags.
This coding is done in Siebel VB
Note: Please refer the SmartScript pdf for fields available in the application and not mentioned
in the above document
EXTENSIONS TABLES/ COLUMNS

1.
2.
3.
4.

Siebel has given standard tables and columns to represent the business functionality.
These tables and columns are predefined. Some times the business scenario demands some fields,
which are not available in the standard tables. For example: for a Finance service firm, which is
implementing Siebel, populating the mothers name for the Contact BC is compulsory. But there is no field
mother name field in S_CONTACT table or any other table. In this kind of scenario, we have following
options:
Do join, and get the fields from another table.
Add new fields to existing table.
Create new table.
Use the Extensions tables.
Options 2 and 3 are difficult to go for. If you want create new table and fields, u should have separate
licenses for that. Again adding new table or field will create problem during the upgradation.
Its advisable to go for Extension table in these kind of scenario. Siebel has given the standard Extension
tables for this purpose for almost all the important base tables only.

Extension Tables
17

An extension table provides additional columns to a data table that cannot be directly added to the
original table because the underlying DBMS may support only a limited number of columns, or will not

allow adding a column to a table once it is populated with data. An extension table allows you to provide
additional columns for use as fields in a business component without violating DBMS or Siebel application
restrictions. An extension table is a logical augmentation of an existing table. Its columns are provided for
developers, and are not used by standard Siebel applications. An extension table extends a base table in
the sense that it effectively adds additional columns. These columns are not physically part of the base
table, but are available for use in a business component alongside the base table columns as if they
were.
Note the following distinctions between standard and custom extension tables: Siebel provides standard
extension tables for several of the standard data tables. A standard extension table has a predefined
relationship with a standard data table. This relationship allows you to easily add columns for new
functionality without making alterations to the base table. You cannot create or delete standard extension
tables. You can use the Siebel Database Extension Designer to create custom extension tables to extend
data tables, provided the data tables are of type Data (Public). NOTE: Custom extension tables, once
created by the developer, cannot be deleted from within Siebel Tools. An extension table, whether
standard or custom, provides a set of generic columns of various data types and lengths for your use.
These may eliminate the need to add a custom column to the extension table. Generic columns in an
extension table have names of the form ATTRIB_xx, where xx stands for a two-digit number. For
example, there are generic columns named ATTRIB_04 and ATTRIB_12.

Types of Extension Tables:


Extension tables can be of the one-to-one or one-to-many style: Rows in as one-to-one extension table
have a one-to-one relationship with corresponding rows in the base table. A one-to-one extension table
extends the base table horizontally,
One-to-one extension tables are described in greater detail in One-to-One Extension Tables, following.
In a one-to-many extension table, there are multiple extension table rows for each base table row. There
are standard one-to-many extension tables for certain of the major business components, including
Opportunity, Contact and Account. These are used primarily to create multi-value groups based on usercreated business components.
Exp:
S_CONTACT_X = (1: 1)
S_CONTACT_XM = (1: M)
Join between BC and Extension Tables:
If u requires to populate field from the extension table in the BC in a one to one manner, we do use the
S_ _X kind of tables. The join between the BC and its base tables extension table is called as Implicit
Join, as the primary key and foreign key mappings are already done by Siebel.
Business
Component: Select Contact BC
Field:
Cnr
Cnr

Join,
S_CONTACT_X,
S_CONTACT_X

Column,
Attribute 01
Attribute 02

Applet: Select the Contact List Applet


List:
List Column:

Field

Sequence
Father Name
5
Mother Name
6

Name
Mother Name
Father Name

Extension Table 1: M
Business
Component:

Name,
Contact Hobby Extn BC

Fields:
CNR
CNR
CNR
CNR
CNR

Project,
Table
S_CONTACT_XM

Column,
Name,
PAR_ROW_ID Contact Id (fk)
NAME
Hobby Name
TYPE
Hobby Type
Attribute 01
Hobby Descriptions
Attribute 14
Hobby Timings

Link: CNR: Name: Contact/Contact Hobby Extn Link, Project: , Parent BC: Contact
BC, Child BC: Contact Hobby Extn BC, Source Field: Id, Destination
Columns: Contact Id (fk).
Business Object: Select Contact BO

BOC:

Bus Comp,
CNR: Contact Hobby Extn BC

Link
Contact/Contact Hobby Extn Link

Applet: Create a list applet on Contact Hobby Extn Link


View: Create a master-detail view on Contact Form Applet( sector 0, 4) and Contact Hobby Extn List
Applet (sector 1,2,3,5,6,7) and drop sectors 3,7.
Screen: Under Contact Screen Pick up the new Contact/Contact Hobby Extn view
Compile the Project and go to call center and assign the responsibility for the new view.

Navigation: History and Thread Bar


Please follow steps to activate the History and Thread Bar.
View:

Name,
Opty list view
Opty Contact view
Acc list view
Acc/Cont view
Acc/Opty view
Cont list view
Cont/Opty view

Thread Applet, Thread Field,


Opty list applet
Opty form applet
Acc list applet
Acc form applet
Acc form applet
Contact list applet
Contact form applet

Opty name
Opty name
Account Name
Account Name
Account Name
Last Name
Last Name

Thread Title
Opportunity
Opportunity
Account
Account
Account
Contact
Contact

Tree Applet/ Explorer View:


Assumption is that: There are Opty BC, Contact BC, Product BC, Activity BC and all the BCs are taken
into Opty BO and they are linked to each other.
Applet: Create a tree applet on Opty BC
Menu Bar-File- New Object-Tree Applet Wizard-okProject:
Business Component: Opty BC,
Name: Opty Tree Applet
Click on next-finish and pick up the fields from available to required window.
Inside the Opty Tree Applet, select the top node-Right Click- View properties window
And fill the following parameters:
Applet: Opportunity list applet
BC
: Opportunity BC
Label Field: Opportunity Name
Display Name: Opportunity
Select Tree Node 2 right click view properties window- and fill the followings
Applet: Contact list applet
BC: Contact BC
Display Name: Contact
Label Field: Last Name
Select Tree Node 3 right click move selected tree node-to right-right click and view properties and fill
the followings:
Applet: Product list applet,
BC: Product BC
Display Name: Product
Label Field: Product Name
Right Click in the tree applet and Create new tree node-right click on the new tree node and move select
tree node- to right and right click and view properties window and fill the follwings:
Applet: Activity list applet
BC: Activity BC
Display Name: Activity
Label Field: Activity Name
View: Create an Explorer view on Opportunity BO
Menu Bar-File-New object-View-ok
Project: , Name: Opportunity Explorer view, BO: Opportunity BO , Drop Sector: 3,7
Drag and place the tree applet on the sectors of 0,1,2,3 and keep sectors 4,5,6,7 blank
Screen: assign the newly created view to the Opportunity Screen
Compile the project and go to call center and assign the view and responsibility.

ACTUATE REPORT

Siebel doesnt have its own reporting tools. It takes help of the third party software tools like Actuate
and Crystal to generate reports. The default reporting tool for Siebel application is Actuate.
Siebel Tools:

Siebel Tools define the structure of the data exported from the Siebel application to the Actuate Report,
which the Actuate Report receives into its DataStream.
Actuate Developer Workbench:

Actuate Developer Workbench is a visual design editor from which object-oriented Actuate basic code
is generated and compiled from the report design (.rod file) and references library classes (.rol file) into
an executable report program. The resulting executable program is .Rox file. When the executable
program is run, the result is an .roi file containing both the report specificactions and data. The instance
file is in .roi format suitable for display in the Actuate report viewer on a Microsoft windows client.
Actuate file systems:

1. .ROD:(Report Object Design) file defines the layout, structure and behaviour of a report
subsequently compiled into .ROX file. The value in Access Base DB name becomes the .ROD
file. Its generated in Actuate Developer Workbench.
2. .ROL (Report Object Library) file contains reusable components you can add to design files.
The value in Template Name field becomes the .ROL file name.
3. .ROX (Report Object Executable) file is a compiled .ROD file. When you run a report, the Siebel
application executes the .ROX file.
4. .ROI (Report Object Instance) file Is what the user sees when the report is running in the
Actuate window in the Siebel application.
5. .BAS (Basic Source Code) file is generated during the build and compilation processe. It is
generated from the .ROD file being compiled from all included library modules from .ROL files. It
is an intermediate file format used in the subsequent complation step and is not directly
modified by the developer.
Steps to create a Simple Report:

Siebel Tools:
Report: (cnr) Name: Sun Cont detail Report, Project: , BC: Sun Cont BC, Access Base
DB Name: CONTDETL, Template Name: CONTDETL, Menu Text: Cont
details, Client: True, Class: cssActuateReportViewer
Report
Field :
Field
Cnr
last name
Cnr
first name
Cnr
Job title
Menu Bar-Tools-Generate Actuate Report. On clicking it a .ROL file will generate and the report
with the above contact BC and its field will be exported to Actuate Class for subclassing and
generating report.
The path of the file will be D:\sea601\tools\Rptrsc\Enu\Lib\CONTDETL.rol file has been
successfully generated.

View: Select the contact list view and assign the report as the report in Siebel is view
specific.
View Report: Cnr:

Report Name: Sun Cont Detail Report, Sequence: 1

Compile the project and close the Siebel Tools.


Open

The

Actuate

Developer

Workbench:

Menu bar - File- New Blank Report Design (select this) and click on OK.
In the Report Design Window fill the followings:
Title: CONTDETL
File Name: -----CONTDETL.rol
Report Root Name: CONTDETL
Then click on OK and the Report Designer window will open.
Menu bar file Include module: D:\sea601\tools\Rptrsc\enu\lib\
From the above path select and open CONTDETL.ROL AND SSCUSTOM.ROL one by
one.
In the Designer Window select the Top Node (Design) and Double Click and select Class and in
the super class change it from AcReport to ssReport and click on close.
Select the Second Node in the Desginer Window (Content), Right Click and Local Subclass and
Drag the Blue SQL icon from the CONTDETL.ROL library window and place it on Second node
i.e. Content ssRpt1 and close CONTDETL.ROL library window.
Select DataStream and Right Click and Local Subclass.
Select the Child Content Node and from sscustom.rol library view window, drag the ssFrm and
place it on Content. Select Content.ssFrm and right click and local subclass.
From the sscustom.rol library view window, drag the ssTxt and place it on the Content.ssFrm
and a compnent properties window will open and select the last name field and click on close.
Repeat this step for other two fields.
From the sscustom.rol library view window, drag the ssFrm and place it on PageHeader and
right click and local subclass.
From the sscustom.rol library view window, drag the ssLbl and place it on PageHeader.Frm and
Right Click and in the compenent editor fill the Text field as Last Name. Repeat this step for
other two fields too.
Menu bar- File- Include Basic File and select the sssiebel.bas file, open it and close it.
Minimize the Actuate Developer Workbench and open your customized call center with the
Contact list view selected and contact list applet selected.
Come to Actuate Developer Workbench and menu bar- Report- build and run to compile and
Requester window will open and there fill the following parameters.
SsBusObjectName: Account (Remove this one and keep it blank)

SsOLEServer: SiebelAppServer.ApplicationObject
And delete other details and click on ok and wait for sometime the report will
generate.
Once the report generates in Actuate Developer Workbench close both this one and the call
center.
Follow the path D:\sea601\tools\rptsrc\enu\lib and copy the CONTDETL.ROX file and paste it in
path D:\sea\client\Reports\enu and paste the CONTDETL.ROX file over there.
And now open your customized call center and see the report by clicking on the report menu in
the contact screen and my contact list view selected and the report will generate.

ASSIGNMENT MANAGER
Assignment Manager allows organization to define rules that automatically assign data
ownership or job to the most qualified people.
Assignment Manager Elements:
While assign a task to subordinate, a manager in the real time evaluate many things, such as
the expertise, workload of his subordinates. Likewise Siebel Assignment Manager take cares
following elements before assign a job to particular person/position.
1.
2.
3.
4.
5.
6.

Skills
Workload
Assignment Object
Assignment rules/criteria
Geographical Location
Candidates/employee/position

1. Candidates: the people or position to be evaluated as potential assignees for objects: the
resources.
2. Assignment Object: Entities to which candidates will be matched: the work. For exp:
Opportunity, Service Request, Account, contact.
3. Assignment Rules-set of criteria and values, candidates, scores, rule type, and workload
compared to objects and candidates to match candidates for objects:
For exp: If an Opportunity Revenue > &100,000 and the Account State = Calfornia then assign
the small deal sales rep.
4. Workload Criteria: is a special criteria type used to balance the load between
Candidates. The workload criteria applies a workload score to candidates based on their current
workload. Candidates with higher workload receives a higher score than candidate with a
heavier workload. Candidates that have workloads in excess of the maximum workload will be
eliminated from the assignment from the assignment rule.
Low workload = High Score
High Score = Assignment.
5. Skills/Expertise: Assignment Manager uses skills to match assignment rules,
Objects, employees and positions.
Skill Match = Qulaified employee = Assignment
Assignment manager compares the pool of above resources and work to the rules and
Assigns the positions or employees accordingly.
How does AM find the best candidate:
AM calculate score for each candidate on the basis of the above elements. And highest scoring
candidate is considered best match and the assigned the job.

Calculating Scoring:
Criteria: Product= Hard disk
Employee = Halacon, Cconway.
Assignment Object = Service Requests (SRs)
Workload = 20 SRs = 45 scrores
Current workload of Cconway = 15 SRs, Halacon = 4 SRs

Expertise on Hard disk Cconway = 16, Halacon = 12


Employees Workload Score
Total
Total Score * {1-(current workload/Max
Workload)}
----------------------------------------------------------------------------------------------------------Cconway
16
45 * {1-(15/20)} = 11.25
27.25
Halacon
12
45* {1-(4/20)} = 36.00
48.00
Employee:

Product:

Highest score = Halacon, assignment of job will be to Halacon


RUN ASSIGNMENT MANAGER:
There are three ways to run assignment manager.
1. Batch Assignment: allows the reassignment of all objects using the new assignment rules. For
exp: need to implement a territory realignment across all existing accounts and opportunities.
2. Dynamic Assignments: enables users to create assignments as other users and server
programs change object attributes. For example: user changes revenue or address of an
Opportunity: dynamic Assignment Mgr automatically invokes Assignment Manager to reassign
the Opportunity to a different territory or sales team as necessary.
3. Interactive Assignment: allows user to view the list of assignees generated by the Assignment
Manager and then override the assignment and select another assignee from the list in real
time. Exp: need to assign a specific position/employee that the entire rule will not select.
Steps to Perform a Batch Assignment Exercise:
Call Center- Sadmin Server Screen Assignment Administration Assignment Rules:
Assignment
Rules View: CNR: Name: US West Sales, Object: Account (Pick up), Activation Date: , Expiration
Date: , Assignment Rule From: All, Above, Minimum
Assignment Criteria View:
Assignment Criteria: CNR: Criteria: Account State, Comparison Method:
Compare to object
Values: CNR: State: CA, cnr: OR
Assignment Employees View: CNR: Pickup two employees. (Halacon, Silver)
Assignment Rules View: Select the US Sales West Record and Click on the Release Button to
release the assignment.
To Activate the Assignment Manager by running the Server Components:
Screen Server Administration Server Server Task
Server Task Click on New and from the component window select the Batch assignment
component and close.
Then click on Parameter button and fill the following parameters:
Assignment Object Name: Account
Sleep time: 17
Error Flag: 1
Sql trace flag: 8

Trace Flag: 1
Table owner password: Siebel.
Click on Close.
Then click on Start and wait till the status will come as Completed
To Cross Check the Assignment Manager do the following things.
Before defining Assignment Mgr:
Screen- Marketing Manager- Accounts and create few accounts with different state and one account with
CA as the Account State in the state field of Account list applet.
After the server process:
Open call center and logon as Halacon and check whether the account, which is having CA as the
Account State, has been assigned to Halacon.
Conflicts Resolutions:
Assignment Mgr recognizes the following conflict scenarios and handles them as follows:
1. Conflicts between two rules with same score,
2. Conflicts between two exclusive rules with the same score
3. Candidates match an item with any rules.
Solution: Assigns System Administration to the team as primary and calculate the score once again.

You might also like