8/18/2019 Module 17 Business Components
1/15
1 of 15 Business Components
Siebel 8.0 Essentials
8/18/2019 Module 17 Business Components
2/15
Module 17: Business Components
8/18/2019 Module 17 Business Components
3/15
3 of 15 Business Components
Module Objectives
• To define a business component and learn mapping of fields inBusiness layer to columns in Data layer
• To know how to retrieve the data from the base and joined tables aswell
• To know how to group data according to business logic
8/18/2019 Module 17 Business Components
4/15
4 of 15 Business Components
Application Architecture Business !omponents
• Are referenced by applets• "pecify access to tables #read$ write$ and update%• Are used by business objects to provide data to views
Business
Object
Business
ComponentField
View ppletCont!ols"
#ist Columns
$able Column
Sc!eenDefines the &'
interface
Defines theBusiness (ayer
Defines thedata storage
structure
8/18/2019 Module 17 Business Components
5/15
5 of 15 Business Components
Business !omponent• A business component #B!% is a person$ place$ thing$ or event about which
data must be stored
• )rovides the foundation for controlling how data is selected$ inserted$ andupdated in underlying tables *epresents a fundamental business entity !onsists primarily of fields and joins+ ,ach field references a single column in a table 't does not store data+ 't stores data about data #metadata%
• Arranges data from one or more tables in to a logical grouping
,ach B! has a table property that specifies the base table
Bi!t% &ate SpouseMa!!iedCiti'ens%ip ccount (!ice #ist )d
Contact BC
S*CO+$ C$*,
- O.
*) &
( -
*- O.
*) &
$ $ -) B
* 0 8
$ $ -) B
* 0 /
S*O- *E,$
- O.
*) &
+ME
B 1 *) &
S 1-V E 2
*$ 2 ( E
* C &
S*CO+$ C$
- O.
*) &
F S $ *+ME
B) -$ 3
*&$
C ) $ ) 4 E + S 3) (
* C &
8/18/2019 Module 17 Business Components
6/15
6 of 15 Business Components
*eusing Business !omponents
• A business component can be
Defined once in terms of logical collection of columns from one ormore tables
Then used in many different business object conte-ts+
ccount
ccount
ction
ction Contact (!oduct
Contact
Contact (!oduct Catalo5
!ontact B! appears as
Master B!
!ontact B! appears as!hild B!
8/18/2019 Module 17 Business Components
7/157 of 15 Business Components
Base Table
• ,very B! references only one base table•
!ontains the main columns for the business component• Many B! fields are mapped to base table columns
.ields referencing base tables are editable in the &'
8/18/2019 Module 17 Business Components
8/158 of 15 Business Components
.ields Mapping• .ields that are mapped to base table
!olumn property maps to a column in base table /oin property is left blank
• .ields that are mapped to joined table !olumn property maps to a column in joined table /oin property specifies the join object definition being referenced
The "0O*10,2T column!&**0)*'0("T0'D contains
Account )rice (ist 'd data3Account )rice (ist 'd4
field maps to 3Account4 join
3!iti5enship4 refers thebase table
!olumn in the BaseTable
6ame of the join that joins the "0O*10,2T
table
8/18/2019 Module 17 Business Components
9/159 of 15 Business Components
/oining data from /oined tables
• *eturns only one row from the joined table
• There is a 787 or 78M relationship from the joined table to the B!– Not every record in the base table will have a record in the joined
table• *elationship is established using a .9 column on the base table to join to
the )9 column on the joined table
S*O- *E,$
- O.
*) &
+ME
B 1 *) &
C 1--
*( -
) *# S $ *) &
S*CO+$ C$
- O.
*) &
F S $ *+ME
B) -$ 3
*&$
( -
*&E ( $
* O 1 *) &
F6 (6
8/18/2019 Module 17 Business Components
10/1510 of 15 Business Components
/oin• /oin Definition
"pecifies 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• /oin "pecification
"pecifies 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 /oin
/oined table
.9 .ield )9 .ield
8/18/2019 Module 17 Business Components
11/1511 of 15 Business Components
'mplicit /oins• Base tables are automatically joined to their e-tension tables
9nown as implicit joins
Make e-tension table rows available to the B! An e-plicit join to describe the relationship is not needed
• !ome pre:configured as part of the "iebel object architecture 6ame of an implicit join is always the name of the 02 table
• Do not appear as /oin object definitions
• Do appear in the picklist for the /oin property in an ";.
6o join definitionappears for
"0!O6TA!T02
"0!O6TA!T02appears in the /oin
)icklist
8/18/2019 Module 17 Business Components
12/1512 of 15 Business Components
Mapping .ields through 'mplicit /oins
• /oin property specifies the e-tension table being referenced
• !olumn property references a column in the e-tension table• .ield is editable in the &'
ATT*'B0
8/18/2019 Module 17 Business Components
13/1513 of 15 Business Components
,-plicit /oin
's a join that brings in data from tables other than the base table to meetthe business component?s data display re@uirementsMost fields referencing e-plicitly joined tables are read:only in the
applet'ncludes a join definition and a join specificationB! field references the join definition
Bi!t% &ate Citi'ens%ip ccount (!ice #ist )d
Contact BC
S*O- *E,$
- O.
*) &
+ME
B 1 *) &
C 1-- *( -) *# S $ *) &
S*CO+$ C$
- O.
*) &
F S $ *+ME
B) -$ 3
*&$
C ) $ ) 4 E + S 3) (
* C &
Base Table
,-plicit /oin to"0O*10,2T
8/18/2019 Module 17 Business Components
14/1514 of 15 Business Components
Displaying fields from joined tables
• The &' layer specifies how information joined at the business
layer will be displayed
!ontact (ist Applet
!ontact B!
"0!O6TA!T
) #a e!
Business #a e!
&ata #a e! "0O*10,2T
.rom BaseTable
.rom /oinedTable
8/18/2019 Module 17 Business Components
15/1515 f 15Business Components
Module ighlights
• A B! is a person$ place$ thing$ or event about which data is stored• A B! can be defined once then re:used by different BOs• ,ach B! references a single base table• A B! can include data from joined tables• A join definition specifies joined table• A join specification specifies how to access joined table via )9 .9
• An e-tension table e-tends data in the B!• .ields on e-tension tables use implicit joins