You are on page 1of 15

Siebel 8.

0 Essentials

Business Components

1 of 15

Module 17: Business Components

Module Objectives
To define a business component and learn mapping of fields in

Business layer to columns in Data layer


To know how to retrieve the data from the base and joined tables as
well
To know how to group data according to business logic

Business Components

3 of 15

Application Architecture Business Components


Are referenced by applets
Specify access to tables (read, write, and update)
Are used by business objects to provide data to views

Screen

View

Applet

Business

Business

Object

Component

Table

Business Components

Controls/
List Columns

Field

Column

Defines the UI
interface

Defines the
Business Layer

Defines the
data storage
structure

4 of 15

Business Component
A business component (BC) is a person, place, thing, or event about which

data must be stored


Provides the foundation for controlling how data is selected, inserted, and
updated in underlying tables
Represents a fundamental business entity
Consists primarily of fields and joins. Each field references a single column in a table
It does not store data. It stores data about data (metadata)
Arranges data from one or more tables in to a logical grouping
Each BC has a table property that specifies the base table
Contact BC
Birth Date

Citizenship

S_CONTACT

Spouse

S_CONTACT_X

Account Price List Id


S_ORG_EXT
SURVEY_TYPE_CD

BU_ID

NAME

ROW_ID

ATTRIB_05

ATTRIB_08

PAR_ROW_ID

ROW_ID

CITIZENSHIP_CD

BIRTH_DT

FST_NAME

ROW_ID
Business Components

Married

5 of 15

Reusing Business Components


A business component can be
Defined once in terms of logical collection of columns from one or
more tables
Then used in many different business object contexts.

Contact BC appears as
Master BC

Account

Contact

Action

Product Catalog
Contact

Contact BC appears as
Child BC

Business Components

Account

Action

Contact Product

6 of 15

Base Table
Every BC references only one base table
Contains the main columns for the business component
Many BC fields are mapped to base table columns
Fields referencing base tables are editable in the UI

Business Components

7 of 15

Fields Mapping
Fields that are mapped to base table
Column property maps to a column in base table

Join property is left blank


Fields that are mapped to joined table
Column property maps to a column in joined table

Join property specifies the join object definition being referenced

Account Price List Id"


field maps to Account"
join

Citizenship" refers the


base table

Business Components

The S_ORG_EXT column


CURR_PRI_LST_ID contains
Account Price List Id data

Name of the join that


joins the S_ORG_EXT
table

Column in the Base


Table

8 of 15

Joining data from Joined tables


Returns only one row from the joined table
There is a 1:1 or 1:M relationship from the joined table to the BC

Not every record in the base table will have a record in the joined
table
Relationship is established using a FK column on the base table to join to

the PK column on the joined table

S_CONTACT

CURR_PRI_LST_ID

BU_ID

NAME

ROW_ID

Business Components

PR_DEPT_OU_ID

BIRTH_DT

FST_NAME

ROW_ID

FK

S_ORG_EXT

PK

9 of 15

Join
Join Definition
Specifies the joined table from which to retrieve data
Defaults the alias property to the name of the joined table
Modify the alias name when there is more than one join to the same table

Join Specification
Specifies how to retrieve the related row from the joined table

Based on the foreign and primary keys used to relate the base and joined tables
Alias of Join

Joined table

FK Field

Business Components

PK Field

10 of 15

Implicit Joins
Base tables are automatically joined to their extension tables
Known as implicit joins

Make extension table rows available to the BC


An explicit join to describe the relationship is not needed
Come pre-configured as part of the Siebel object architecture
Name of an implicit join is always the name of the _X table
Do not appear as Join object definitions
Do appear in the picklist for the Join property in an SVF

S_CONTACT_X
appears in the Join
Picklist
No join definition
appears for
S_CONTACT_X

Business Components

11 of 15

Mapping Fields through Implicit Joins


Join property specifies the extension table being referenced
Column property references a column in the extension table
Field is editable in the UI

ATTRIB_08 column from


S_CONTACT_X contains data
for Married field data

Business Components

12 of 15

Explicit Join
Is a join that brings in data from tables other than the base table to meet

the business components data display requirements


Most fields referencing explicitly joined tables are read-only in the
applet
Includes a join definition and a join specification
BC field references the join definition

Contact BC
Birth Date

Citizenship

S_CONTACT

S_ORG_EXT
CURR_PRI_LST_ID

BU_ID

NAME

ROW_ID

CITIZENSHIP_CD

BIRTH_DT

Business Components

FST_NAME

ROW_ID

Base Table

Account Price List Id

Explicit Join to
S_ORG_EXT

13 of 15

Displaying fields from joined tables


The UI layer specifies how information joined at the business

layer will be displayed

From Base
Table
UI Layer
Business Layer
Data Layer

Business Components

Contact List Applet

From Joined
Table

Contact BC
S_CONTACT

S_ORG_EXT

14 of 15

Module Highlights
A BC is a person, place, thing, or event about which data is stored
A BC can be defined once then re-used by different BOs
Each BC references a single base table
A BC can include data from joined tables
A join definition specifies joined table
A join specification specifies how to access joined table via PK/FK
An extension table extends data in the BC
Fields on extension tables use implicit joins

Business Components

15 of 15

You might also like