TABLE OF CONTENTS
1. Purpose.................................................................................................................................................................................... 6
2. Scope......................................................................................................................................................................................... 6
3. Conventions Used......................................................................................................................................................... 6
4. Naming Convention..................................................................................................................................................... 6
5. Application Creation.................................................................................................................................................... 7
6. Creating a Multi Screen Application........................................................................................................... 11
7. JOINS.................................................................................................................................................................................... 14
8. Join Relationship between Contact and Acount................................................................................. 14
9. Creating a Join............................................................................................................................................................ 15
10. LINKS........................................................................................................................................................................................ 17
11. Creating a 1-M Link.................................................................................................................................................. 17
12. Creating a M-M Link................................................................................................................................................ 18
13. PICKLISTS........................................................................................................................................................................... 20
14. Creating a static Picklist............................................................................................................................... 20
15. Creating a dynamic picklist.............................................................................................................................. 21
16. TOGGLES......................................................................................................................................................................... 24
17. Creating a TOGGLE (STATIC)............................................................................................................................... 24
18. Creating a TOGGLE (DYNAMIC).......................................................................................................................... 25
19. DRILLDOWNS................................................................................................................................................................ 26
20 Creating a DRILLDOWN............................................................................................................................................ 26
21. Creating a DRILLDOWN FOR JOINED FIELDS................................................................................................. 26
22. Multi Value Group................................................................................................................................................ 27
23. Creating a MVG for 1-M relationship........................................................................................................ 28
24. Required Field.......................................................................................................................................................... 30
25. To Validate Your Object Definations...................................................................................................... 30
26. To Visualize your Object Definations...................................................................................................... 30
28. To See Relationships........................................................................................................................................ 30
29. To get a Note Pad on the Description Field of BC......................................................................... 30
30. To Create Sub / Categorized View................................................................................................................ 30
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 35
46. 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
|
I: I, I: M, M: I, M: M
![]() |
1. Opportunity: M:I
M: M M: M
|

|
|

![]() |
I: M
|
|

I: M
|
|

|
![]() | |||
![]() |
M: M
| ||||
| ||||
![]() |
M: M
3. Contact:
|
|
|
![]() | ![]() | ||||
![]() |
|
SIEBEL TOOLS BASICS:
1. What is Siebel Tools?
Siebel Tools is not a programming language—it 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:
- Business Component: represents a small business functionality, and also is collections of fields from one or more tables. It’s a virtual table. Its an abstract layer above the Data object Layer.
- Business Object: represents a major business functionality and is also collection of logical related business components.
- Applet: is a user interface mechanism to enter, edit the data and developed on a Business Component.
- View: is a user interface mechanism to group the applets, and represents the data of a Business Object.
- Screen: represents a major business functionality and collection of views. It logically maps to the business object in the business object layer.
- Application: Application is the end product. One application is the collection of Screens.
- 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.
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: 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 CBC - Child Business Component
PBC - Parent Business Component Opty-Opportunity
Acc-Account Cont-Contact
FK-Foreign Key PK-Primary Key
OLE-Object List Editor OE- Object Explorer
OD-Object Definitions OT-Object Type
COT-Child Object Type UIL- User Interface Layer
BOL-Business Object Layer DOL-Data Object Layer
àmeans “Next Step”
IV. Naming Convention
Project: <Prefer giving Small and One Word Names that relate to the Objective of the Project> E.G. Sample Project
Object | Convention | Example |
Business Component | <Project Name><BCObjectName>BC | SampleAccBC SampleOptyBC |
Field Name | <Object><FieldName> | Opt Name |
Business Object | <Project Name><BO-ObjectName>BO | SampleOptyBO |
Applet | <ProjectName><BussComp Name><AppletType> | SampleOptyBCListApplet |
View | <Project Name><ParentObject-ChildObject><ViewType | SampleOpty-ContListView |
Screen | <Project Name><ObjectName>Screen | SampleOptyScreen |
Application | <Project Name>Application | Sample Application |
SRF | <ProjectName>.SRF | Sample.SRF |
CFG | <Project Name>.CFG | Sample.CFG |
Responsibility | <Project Name><Position>Responsibility | 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) WindowàGo 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 field’s 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 | FIELD NAME | TYPE | TEXT LENGTH |
NAME | Opty Name | <Default> | <Default> |
ALIAS_NAME | Opty Alias Name | <Default> | <Default> |
DESCRIPTION | Opty Description | <Default> | <Default> |
· Change the focus/move from the window to commit the fields
Note:
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 windowàMove 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à FileàNew ObjectàSelect the Applets Tab àSelect the List Applet Wizardà Then Click on OKàIn 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 NextàPick 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 NextàClick on Finish
13. Create Opty Entry Form Applets by executing the steps below
Go to Menu Barà FileàNew ObjectàSelect the Applets Tab àSelect the Form Applet Wizardà Then Click on OKàIn 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 NextàPick 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 NextàClick on Finish
Creating a View
14. Go to Menu Barà FileàNew ObjectàSelect 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 windowàCNRàGive 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à CNRàAssociate the XYZ Opty List View to the XYZ Opty Screen by picking up the view from the Pick Applet associated to the View FieldàPopulate 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 windowàCNRàName the Application(XYZ Application)à Select the Project from the Project PropertyàGo 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 OTàCNR à Go to Toolbar Property and select the Menu Bar/Tool Bar/History Bar from the Pick AppletàGive 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 OTàCNR à 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 UILàGo to the Text Property and give Display name of the Screen ‘Opportunity’à Populate the Sequence in the Sequence PropoertyàChange Focus to Commit
Creating an SRF file and Compiling the Project
17. Menu BaràRepositoryàCompileàClick On BrowseàFocus Siebel.SRF File & Right ClickàCopy-àPastàRename as XYZ.SRFàClose and move back to the Compile Dailog BoxàSelect 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 àPasteàRename it as XYZ.CFGàOpen the XYZ.CFG Fileàand fill the following properties:
Repository File = XYZ.SRF
Application Name = 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 DeskTopàCopy the Siebel Application IconàPasteàRename the Icon to XYZ ApplicationàRightClick on the icon and select Properties from the Cascade menuàClick on Shortcutàand 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 SADMINàClick on Sitemap à Click on Application Administration à ViewsàIn the Views List Applet CNRàCopy-Paste the View Name(In this case its only the XYZ Opty List View) in the View and Description fields
Navigate to ScreensàApplication AdministrationàResponsibilities ViewàCNR in the Responsibility List AppletàGive a name to the responsibility (E.g. Sales Manager Responsibility) and DescriptionàMove to View List Applet and CNRàSelect the view you wish to associate to their responsibility (XYZ Opty List View in this Case)àMove to Employee List Applet and CNRàAssociate one or more employees to the responsibilityàClose the Applciation
21. Goto the DesktopàOpen 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 Comp’s | Buss Objects | Applets | Views | Screens |
Opty BC | Opty BO | Opportunity List Applet OpportunityEntryForm Applet Opprotunity Form Applet | Opportunity List View Opty-Cont Detailed View | Opportunity Screen |
Cont BC | Cont BO | Contact List Applet Contact Entry Form Applet Contact Form Applet | ContactList View Contact–Opty Detail View | Contact Screen |
Acc BC | Acc BO | Account List Applet Account Entry Form Applet Account Form Applet | AccountList View Acc-OptyDetail View Acc-ContDetail View | Account Screen |
Steps:
Business Component: XYZ MS Opty BC(CNR Means Create New RecorD)
1. Select Project OTàCNRà 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 BC’s aswell and pick up 3-4 fields for each BC
4. Select Business Object OTà CNRàName the Business Object (XYZ MS Opty BO)
5. Select Business Object Component OTàCNRàPopulate 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 BC’s at the BO level. Parent Business Component will establish a Parent Child Relationship the XYZ MS Opty BC BC’s with which the Opty BC will establish.
6. Repeat the Step 3 and 4 to create Contact and Account BO’s and associate Opty BC to Contact BO and both Contact and Opty BC’s 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


![]() |
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.
![]() |
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 OTàQuery for the S_OPTY (Child table)àGoto Column OT which is the Child OT of TableàQuery 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 typeàGoto the Join OD windowàCNRàPopulate 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)àFieldsàCNRàGo 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.

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 OTàQuery for the S_OPTY (Child table)àGoto Column OT which is the Child OT of TableàQuery 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 OTàCNRàParent 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 BOàBusiness Object ComponentàSpecify 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 3rd 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 OTàQuery for the S_CONTACT (Child table)àGoto Column OT which is the Child OT of TableàQuery 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 Record’s Name propoerty will have the Contact Table FK Coulmn name which is refering to the Opty Tableà Copy these two FK’s
14. Go to the Link Object Typeà CNRà Associate the Link to the Projectà Populate Opry and Contact in the BC and CBC PropertiesàPopulate the Primary Inter table Property with the Inter Table NameàPopulate 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 BOàBusiness Object ComponentàSpecify 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.
![]() | |||
![]() | |||
![]() |
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


4. CNRàSelect 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 TypesàSelect 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 picklistàSelect the Picklist Generic BC as the BC for the picklistà Select ‘Type’ in the Type fieldàSpecify 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.
![]() | ||||
![]() | ||||
![]() |
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 BC’s
2. Create a join between the two business components
3. 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 in Tools
4. Create a new record in the picklist OTàSpecify a name for the picklistàSelect 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 fieldàCNRàSelect Account ID in the ‘Field’ attribute and ID (pertaining to Account ID in Account BC) in the ‘Pick List Field’ attributeàSelect 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 ObjectàIn 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 OTàSelect 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 OTàSelect 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 queryàClick 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 LayoutàPaste 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 fieldàView 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 BCàIn 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 MVG’s
§ 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 Link’s to support MVF’s
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 M-M 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 Master-Dteail 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 BC’s 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, MVF’S are available for use in queries in combination with other fields in the applet’s 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

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 propertyàPopulate the Child BC(Address) in th eDestination BC PropertyàPopulate the Link created in Step(1) in th4e Destination Link Property.
4. Go to MVF Object TypeàCNRàGive a Name to the the MVFàSelect the MVL in the MVL property.
Note: On completing the above steps you can see the MVF created in the 4th Step automatically populated in the Account BC fields.
5. Go to Applet Object typeàCNRàUse 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)àList—List ColumnsàGo 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 BCàField 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 OTàSelect the Screen under which you wish to have sub views
2. Go to the Screen View Object TypeàCNRà 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 LayoutàSelect Control from Menu BaràDrag 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
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 mother’s 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.
It’s 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 user-created 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


Cnr S_CONTACT_X, Attribute 01 Mother Name
Cnr S_CONTACT_X Attribute 02 Father Name




Father Name 5
Mother Name 6
Extension Table 1: M
Business

Contact Hobby Extn BC S_CONTACT_XM

CNR PAR_ROW_ID Contact Id (fk)
CNR NAME Hobby Name
CNR TYPE Hobby Type
CNR Attribute 01 Hobby Descriptions
CNR 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
![]() |

CNR: Contact Hobby Extn BC 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, Thread Applet, Thread Field, Thread Title
Opty list view Opty list applet Opty name Opportunity
Opty Contact view Opty form applet Opty name Opportunity
Acc list view Acc list applet Account Name Account
Acc/Cont view Acc form applet Account Name Account
Acc/Opty view Acc form applet Account Name Account
Cont list view Contact list applet Last Name Contact
Cont/Opty view Contact form applet Last Name 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-ok-
Project: 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 doesn’t 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.
- .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.
- .ROX (Report Object Executable) file is a compiled .ROD file. When you run a report, the Siebel application executes the .ROX file.
- .ROI (Report Object Instance) file Is what the user sees when the report is running in the Actuate window in the Siebel application.
- .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:

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.

specific.

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. Skills
2. Workload
3. Assignment Object
4. Assignment rules/criteria
5. Geographical Location
6. Candidates/employee/position
- Candidates: the people or position to be evaluated as potential assignees for objects: the resources.
- Assignment Object: Entities to which candidates will be matched: the work. For exp: Opportunity, Service Request, Account, contact.
- 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.
- 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.
- 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
Employee: Product: Employee’s 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
Highest score = Halacon, assignment of job will be to Halacon
Run Assignment Manager:
There are three ways to run assignment manager.
- 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.
- 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.
- 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:




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:
- Conflicts between two rules with same score,
- Conflicts between two exclusive rules with the same score
- Candidates match an item with any rules.
Solution: Assigns System Administration to the team as primary and calculate the score once again.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.