B2B Front End Delivery Section: Day 1 To 6: Siebel Configuration
B2B Front End Delivery Section: Day 1 To 6: Siebel Configuration
Siebel Tool
This Application is used to configure the Siebel Application to exactly meet the users’ business
requirement for:
User Interface
Business Logics
Data Storage
.
Database
Tools Application
Repository
Data Application Object Manager
Compiled Object
definitions .srf Configured
application
Business
Object
Business
Component
Data Objects layer
Consists of data object definitions that directly map the data structures from the underlying
physical relational database into Siebel applications
There are two principal object definitions:
Tables
Columns
Internal
Product (BC) Fields
Name Part # Version
S_PROD_INT Columns
NAME PART_NUM VERSION
(Base Table)
Additional Table
Account
Contact
Contact
Quote Product Contact
Business Contact
component First Name Job Title Email Address
Account
Account
Screens
Repository File
Siebel Application
Application Title
OE
OBLE Child Object Definition
Expanding a
definition displays
child object types
Expanding child
object type displays
definitions of that type
Expanding top level object type displays object definitions of that type
OBLE shows flat list of definitions for selected type
All object types are displayed in flat list (no hierarchy shown)
Selected object type in flat list results in OBLE displaying all definitions of
that type
You can compare same-named definitions with different parent in the
OBLE Child definitions have Parent property in OBLE
Helps developers to find child object with unknown parent
Select one
or more
Double-click to
navigate to
definition
S_PROD_INT
ROW_ID
NAME
ASSET_NUM
PROD_ID
M:M Relationship are captured using foreign key table columns in a third table
called the intersection table
S_PROD_LN S_PROD_INT
ROW_ID
NAME
PART_NUM
UOM_CD
ROW_ID
NAME
DESC_TEXT
S_PROD_LN_PROD
ROW_ID
PROD_LN_ID
PROD_ID
ROW_ID
NAME
PART_NUM
UOM_CD
ROW_ID
PAR_ROW_ID
ATTRIB_39
Stores the Stock
Level field
Is a special table for storing child data related to an existing parent table
Allows you to track entities that do not exist in the standard Siebel applications
Contain more than 20 predefined tables that have one-to-many relationships with
base tables
Has name of main table appended with _XM
S_CONTACT S_CONTACT_XM
ROW_ID
FST_NAME
LAST_NAME
EMAIL_ADDR
ROW_ID
PAR_ROW_ID
TYPE
NAME
ATTRIB_01
TYPE column distinguishes
between different types of data
in the table
One table is considered as a base table which contains the main columns of the Business
component. These fields are typically editable.
Field referencing columns in the joined table are read only.
Column property maps to a column in the base table, if the join property is blank
Opportunity
Name Description Decision Level Sales Stage Sales Stage Phase
NAME
DESC_TEXT
CURCY_CD
ROW_ID
NAME
PHASE_CD
STG_ORDER
ROW_ID
PAR_ROW_ID
ATTRIB_01
ATTRIB_09
ATTRIB_39
Base table
Name of join
Joined table
Opportunity
Name Description Sales Stage Id
Foreign Primary
key key
S_OPTY S_STG field column
ROW_ID
NAME
DESC_TEXT
CURCY_CD
CURR_STG_ID
ROW_ID
NAME
PHASE_CD
STG_ORDER
Base table and extension table columns can be considered to be one logical table
Data from the extension tables is retrieved for the base table for the business
component
Data coming from extension tables can be edited
ATTRIB_01
Columns from
S_OPTY_X
Employee
Access Group Division
User
User List
Partner Organization
Account
Account
Parent BC
Child BCs
Account BC Master/Parent/
One
lin
k
Contact BC
Activity Plan
BC
Activity Plan
Action BC
Master Local
We can lock and unlock projects directly either on local or on server by setting the Locked
property TRUE
Also thru Tools > Lock Project of menu option
Prototyping your ideas without preventing other developers from checking out the project
Only projects you have checked out or a newly created project can only be checked in
Local project’s definitions will get overwritten the next time you get or check out the
project.
When a developer locks a project directly on the server, other developers cannot check out the
same project. They may Get those object definitions in an incomplete, inconsistent, and untested
state
In addition the developer loses the ability to cancel check out and restore the original definitions
Siebel recommends that developers never directly lock Projects on the Server
Always use check out and modify the object definitions locally
Master Local
Sensitivity: Internal & Restricted
Editing Object Definition
Select the object definition to edit using the Object Explorer and Object List Editor
Make sure that project has been locked
Create a unique name Select a project from picklist Assign values to remaining fields
Database
Repository
Data
Maps to
BusObj View
Maps to
BusComp1 BusComp2 Applet
….
.
1. Create New applet object definition
Right-click to invoke
Edit Web Layout Editor
Screens have a single child object type: Screen View and the list of Views related to that
screen are added in Screen View
Views must be administered in the client application to make them available to users
Register the view
Assign the view to one or more responsibilities
Navigate to Site Map > Administration – Application > Views in the client application
Copy and paste view name from object definition in Tools to the view record
Container
page
Application-
level menu
Toolbar
Screen tabs
Link bar
View
Drilldowns allow users to click a hyperlink in a field so as to view more information about
that field through another view
74
Sensitivity: Internal & Restricted
Static Drilldown: Same Business Component
Drill down to another view, keeping the business component (BC) context
Contact record in
Visible Contacts list
view
Same contact
record in Contact
detail view
75
Sensitivity: Internal & Restricted
Static Drilldown : Same Business Component
Static drilldowns take the users to the same view under all the circumstances
To create the new drilldown object, set the Hyperlink Field and View properties to enable static
drilldown
Specifies the BC
field for drilldown
Specifies the
target view
76
Sensitivity: Internal & Restricted
Static Drilldown Different Business Component
Drill down to another view, changing the business component context
77
Sensitivity: Internal & Restricted
Configuring Drilldown to different business component
Specifies master BC
in target view
78
Sensitivity: Internal & Restricted
Dynamic Drilldown
Enables hyperlink navigation to multiple views from the same hyperlink field,
depending on the value of a field in the Applet’s current record
For business
Contacts, go to the
Contact Detail View
For Personal
Contacts, go to the
Personal Contact List
View
79
Sensitivity: Internal & Restricted
Matching Conditions
Identify one or more matching conditions to trigger drilling down to a specific target view
Used when BC has a field that indicates classification, for example:
‘Lead quality’ for an Opportunity
‘Primary Industry’ for an Account
Siebel will check the value for this field in the current record and navigate to the
correct view based on the value
Personal Contact = Y ====> Personal Contact Detail View
Personal Contact = N ====> Contact Detail View
80
Sensitivity: Internal & Restricted
Configuring Dynamic Drilldown
Create the drilldown objects for each view
Create a dynamic drilldown destination definition for each condition
Field to Value to
check check for
81
Sensitivity: Internal & Restricted
Thread Bar
It tracks previous business object and active record
Provides hyperlinks to previous views
Updates whenever the user navigates to different business object (View)
Thread bar
82
Sensitivity: Internal & Restricted
Thread Properties
It specifies the text which appears in the thread bar
83
Sensitivity: Internal & Restricted
Business Component Properties
Capture business logic
Includes:
Editing properties (Set the editing properties at the business component level to prevent
deleting, inserting, merging, and updating of records in all applets). The values can be
TRUE / FALSE
No Delete
No Insert
No Merge
No Update
Owner Delete (Set the Owner Delete property to TRUE to enable only the owner of a
record to delete it)
Search Specification
Sort Specification
84
Sensitivity: Internal & Restricted
Search Specification Property
85
Sensitivity: Internal & Restricted
Search Specification Expressions
Must contain name of one or more fields and various logical and/or comparison operators
May contain functions
Combined syntax creates a conditional expression
This property exists in Business Component, Applet, Pick List, Link and Report Object.
Avoid mutually-exclusive search specifications
86
Sensitivity: Internal & Restricted
Search Specification Expressions (Contd...)
Use double-quotes to enclose strings rather than single quotes
Single quotes may not be supported in a future release
Enclose field names within brackets
87
Sensitivity: Internal & Restricted
Business Component Field Properties
Required
Set the Required property to TRUE to prevent user from leaving field blank
Read Only
Set the Read Only property to TRUE to prevent the user from editing the value
Validation
Create a Validation property to ensure that field data is valid.
Is expressed as a combination of logical operators, constants, field names, and predefined
functions
Can refer only to business component fields in the same record
Pre Default
Automatically assigns a value to a field for a new record
Post Default
Assigns a value to a field, if not entered by the user, before the record is inserted into the
database
Force Case
Defines the case for a field value
Valid values are:
UPPER
LOWER
FIRSTUPPER
88
Sensitivity: Internal & Restricted
Calculated Field
Derive their value from the values in other fields of the business component
Cannot be stored in the database; therefore, there is no associated column
Require setting the Calculated property to TRUE (shown as check mark)
Column property
is empty because
calculated fields are not
stored in the database
89
Sensitivity: Internal & Restricted
User Properties
Are object definitions added as children to an applet, business component, control, field, or list
column
Use to configure specialized behavior
Beyond what is configured in the parent object definition's properties
Add conditional logic to User Property record, instead of scripting
Some Business Component User Properties are:
BC Read Only Field
Field Read Only Field
On Field Update Set
90
Sensitivity: Internal & Restricted
Picklists
Picklists allow users to populate one or more single value fields by selecting a value from a list
The following are its advantages:
enforces business rules and policies
makes data entry faster
reduces errors
It can be either:
Static
Dynamic
91
Sensitivity: Internal & Restricted
Static Picklist
Static Picklists draws values from the picklist data managed by the administrator
The values of static picklist doesn’t change during runtime
A Static “Picklist” provides for the popup display of a list of valid values for a user to select from.
Can be bounded (must pick a single value from the list) or not bounded (can type in a single value
not in the list).
Valid values are entered into the S_LST_OF_VAL table
Can be entered interactively through administration screens or by using Enterprise Integration
Manager (EIM)
Example:
92
Sensitivity: Internal & Restricted
The S_LST_OF_VAL Table
Holds pick list values for all static pick lists
Must Exists in the application database
Has values entered through List Of Values Administration View or by batch Loading
Navigate to Site Map > Administration – Data > List of Values Explorer to administer static
picklist data
Select an existing picklist or create a new picklist type in the List of Values - Types applet
Expand the type and select the child Values folder
Edit the picklist values in the List of Values (LOV) applet
94
Sensitivity: Internal & Restricted
Creating a Static PickList
Set Business Component property to
1. Create a New Static Pick List PickList generic
Set the Type Field property to “Type”
Set the Type Value property to match what
was entered in the S_LST_OF_VAL table
2. Add / Identify BC Field That Will Be Set the Bounded property to make the list
Populated restrictive or not
95
Sensitivity: Internal & Restricted
Dynamic PickList
Draws values from a business component with records edited by users
Values displayed in picklist change during run time
Is used to update joined fields
Copies foreign key reference to the selected value into destination field
Reflects the current data in the database
Opportunity: originating
business component
Toggling allows to configure several applets to share the same place in a view
Applet toggle identifies one or more alternate applets to use in displaying the data of a business
component
97
Sensitivity: Internal & Restricted
Configuring a Static Toggle in an Applet
Allow users to toggle between applets by selecting the name of the applet from the show
drop-down list.
Configured with one or more applet toggle child object definition of an applet object
definition
The parent applet object definition specifies the first applet to appear in the view
98
Sensitivity: Internal & Restricted
Configuring a Dynamic Toggle in a Applet
The applet object type has an applet toggle child object type
One child applet toggle definition is specified for each applet you want to have appear when a
specific condition is met
All applets must be based on the same business component
The value contained in a designated BC field determines the applet which will appear
If all test conditions fail for the applets specified in the applet toggle definitions, the parent
applet is displayed
99
Sensitivity: Internal & Restricted
Primary Foreign Key
A Primary Foreign Key is a foreign key on the parent-side that points to one “primary” record
on the child -side of a one-to-many relationship
A primary FK creates a one-to-one relationship between the parent and the child
A primary FK allows the one initial query to join in one child record per MVG per parent
record and display it
100
Sensitivity: Internal & Restricted
Creating the Custom Extension Column
101
Sensitivity: Internal & Restricted
Creating a New Table
Use the Table wizard to create a new table
Select File > New Object > Table
102
Sensitivity: Internal & Restricted
Creating a Standalone table
Table wizard creates a standalone table with:
Type of Data (Public)
Seven required system columns
P1 index on ROW_ID
103
Sensitivity: Internal & Restricted
Creating a 1:1 Extension Table
Select a base table
Choice restricted to type Data (Public) by default it is Extension
Multiple extension tables relate directly to base table, and not to each other
Table wizard creates an extension table with:
Seven required system columns
PAR_ROW_ID column as foreign key column to base table
P1 index on ROW_ID
U1 index on PAR_ROW_ID and CONFLICT_ID
S_PROD_INT CX_PROD_INT_X
ROW_ID
NAME
PART_NUM
UOM_CD
ROW_ID
NEW COLUMN
PAR_ROW_ID
104
Sensitivity: Internal & Restricted
Creating a 1:M Extension Table
Table wizard creates an 1:M extension table with:
Seven required system columns
PAR_ROW_ID column as foreign key column to base table
TYPE and NAME columns
Type of Data(Public)
P1 index on ROW_ID
U1 index on PAR_ROW_ID, TYPE, NAME, and CONFLICT_ID
M1 index on TYPE and NAME
105
Sensitivity: Internal & Restricted
Creating a intersection Table
Table wizard creates an intersection table with:
Seven system columns
Two foreign key columns as specified
Type of Data(Intersection)
P1 index on ROW_ID
U1 index on two foreign key columns, TYPE, and CONFLICT_ID
F1 index on foreign key to second parent table
106
Sensitivity: Internal & Restricted
Apply Changes to Local database
Click Apply/DDL to make the physical database changes
All database schema changes are made by Siebel Tools
No separate SQL scripts need to be created or maintained
Changes are preserved across Siebel application upgrades
Compile relevant projects
Test changes locally before checking projects into server
Use vendor-supplied utility to query extended tables
107
Sensitivity: Internal & Restricted
Generate DDL
DDL- SQL statements that can be used either interactively or within programming language
source code to define databases and their components
108
Sensitivity: Internal & Restricted
Thank You!