You are on page 1of 26

Creating Data Maps 50.

Time: Lecture: <n – n> minutes; Labs: <n – n> minutes


Siebel 8.0 Essentials
Intent: <What is the instructional goal of the module>
Flow: < Describe at a high level the overall flow of the module>.
Key Terms: <List terms the instructor should be familiar with in order
to teach this module>
§ <Term>
Module 50: Creating Data Maps § <Term>
§ <Term>
§ <Term>

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.2

Each objective and “why you need to know” should be stated aloud.
Module Objectives
After completing this module you should be able to:
} Determine correct interface (EIM) tables and columns to use to
import data into and delete data from Siebel base tables and
columns
} Document data mappings between EIM tables and Siebel base
tables

Why you need to know:


} Enables you to construct a strategy for successfully importing data
into and deleting data from the Siebel database

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.3

Usually data mapping is a design activity. It happens up front during the


Data Mapping initial stages of the project. Here the focus is more on EIM to base table
mappings rather than on external to Siebel database mappings.
n The first step in using EIM to import external data is data
mapping
n Data mapping determines:
1. Which Siebel base table columns will store external source data
2. Which interface (EIM) table columns will be used to import from
source to destination
1. Decide
where data
ends up

Source Destination
(external) (base table)

2. Determine
how to get
there Interface
(EIM) table

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.4

This is not specific to a Siebel implementation. Any time you are looking
Source Data to move or migrate data, you must analyze what the data represents.
Entity and attribute are common terms used along with entity
n Analyze external source data relationship diagrams (ERDs).
} Decide which attributes to store
} Determine which entity the collection of attributes represents
} Analyze relationships between entities

M:M Sales
Entity Customer
Person
Attribute Name... M:M
Name...

Decision
Maker

Name...

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.5

Students have practiced techniques for exploring the Siebel Data Model
Siebel Destination earlier in the course. Since the goal is to move data into the Siebel
database, one must understand what the Siebel database has to offer. The
n Analyze Siebel destination tables and columns engineering teams at Siebel Systems have put significant effort into
} Start with applets and fields used, and work down to business designing the database and most of the data mapping needs should be
layer
addressed. Notice that the base table for each of the three depicted
} Use Siebel Tools to view tables and columns, business components is S_PARTY, which was defined in previous modules.
components (BCs), and relationships
Table
BC

Account Position

Contact

Copyright © 2007, Oracle. All rights reserved.

Party Business Account, Position, and Contact entities are person-


Components and organization-related. Therefore, their business
components share the S_PARTY table.

Siebel Tools Relationships between business components and BC


fields and base tables and columns can be examined
easily in Siebel Tools. Select the business component
object definition of interest in Tools’ Object List Editor,
right-click, and choose View Details. The mapping of
BC fields to database tables and columns will be
graphically depicted.

Siebel 8.0 Essentials


Creating Data Maps 50.6
0/3
This is a structuring slide for <insert what will be discussed>. Do not
Identify and Verify Destination Tables and Columns teach the steps or concepts here because the following slides cover them
in detail. Provide a high level description of what will be discussed.

1. Determine Destination Applet

2. Identify BC Fields

3. Map BC Field to Database Column

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.7
1/3

1. Determine Destination Applet


n Use the Siebel client to identify applets and controls where
external data is to be displayed
} Determine applet and business component names
n Example: Verify mapping for Main Phone # field of an account
} Data to appear in Account Entry Applet

Applet name

Desired
destination
applet
BC Name

Control to map

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.8
2/3

2. Identify BC Fields
n Use Siebel Tools to map the applet control to the BC field

Locate control Properties


in Web Layout window displays
view field name

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.9
3/3

3. Map BC Field to Database Column


n Examine BC field properties in Siebel Tools to determine which
Siebel base table and column it maps to

BC field
being
mapped

Table and
column

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.10

Once you understand both sides, external and internal, in the Siebel
Map Source to Siebel Destination database, then you must bring the data together. Which external piece
ends up where in the Siebel database?
n Specify the source mapping to the Siebel destination
} Identify business component mapped to external entity
} Determine Siebel base tables and columns that will store source
attributes
BC Table
External
entity
Account Position
Sales
Customer
Person
Name... Name...
Attribute

Contact
Decision
Maker
Name...
Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.11

People may join or leave a team, therefore, documenting mappings is


Document Mappings critical. They must be documented. Students will practice working with
spreadsheets to document mappings in the lab.
n Document mappings between source and base so that
everyone has a common understanding
} EIM and configuration tasks are often performed by different
people
} Can reduce need to re-do tasks if team members leave the project

Source Source
EIM Table EIM Column Base Table Base Column
Entity Attribute
Customer Name S_ORG_EXT NAME
Customer Phone S_ORG_EXT MAIN_PH_NUM
Address S_ADDR_ORG ADDR
S_ADDR_ORG CITY
S_ADDR_ORG ZIPCODE

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.12

This is the focus of the module. Once you know where the data should
How to Get There: Determine Interface Tables reside in the Siebel base tables, then you need to identify the EIM tables
that would expedite the process.
n After verifying and documenting the source-to-base mappings,
determine and document EIM-to-base mappings Notice that the spreadsheet lists the EIM column on the left and the base
column on the right. This is reversed when looking at the EIM Interface
Source Source
EIM Table EIM Column Base Table Base Column
Tables report within Siebel Tools. Ensure that students do not get
Entity Attribute confused.
Customer Name S_ORG_EXT NAME
Customer Phone S_ORG_EXT MAIN_PH_NUM
Make sure students understand what a base table is and how it will be
Address S_ADDR_ORG ADDR
used in the EIM process. Refer to the student note for a base table
S_ADDR_ORG CITY definition.
S_ADDR_ORG ZIPCODE

ü
How to

ü
Source Destination
get there?

Interface (EIM) ?
Copyright © 2007, Oracle. All rights reserved.

Reference Siebel Tools Reference

Base Table A base table is the destination table in the Siebel


database for your data import.

Siebel 8.0 Essentials


Creating Data Maps 50.13

The point of this slide is that depending on the target base table, there
Table Relationships may be several EIM tables to choose from.
n An interface table may populate more than one base table
n A base table may be populated by more than one interface table

EIM_ACCOUNT

S_ORG_EXT

EIM_ADDR_ORG
S_ADDR_ORG

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.14

This slide shows a technique for finding the candidate or potential EIM
Locate EIM Tables tables that would populate a given base table. Stress to students that
EIM_ tables must be used. The graphic adds EIM_ as additional query
n Locate candidate EIM tables using Siebel Tools
criteria.
} Example: Locate EIM tables that populate S_ORG_EXT

Flat tab

Query

Result

EIM tables that


populate S_ORG_EXT

Note: Use EIM_ tables, not _IF tables


Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.15

Interface Table Documentation


n Mappings from interface tables to base tables are documented
by:
} EIM Interface Table report available in Siebel Tools
} EIM Table Mapping objects
n Less convenient than using report

Query for interface …select Reports > EIM Interface Tables


table and…

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.16

Interface Table Documentation Continued


n Table report documents EIM Table Mapping attributes

Interface table report for EIM_ACCOUNT

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.17

The best EIM table will be the one that allows you to populate the most
Interface Table Documentation Continued data. You can use options to limit the target tables during the run.
Therefore, having more targets or destinations than you need is an
n The EIM Interface Table report shows mapping from a single
advantage. The graphic shows a modified screen capture of the EIM
EIM table to one or more Siebel base tables
Interface Tables report generated in Siebel Tools and annotates how to
} EIM column (source) to base table column (destination) mapping read it.
} Column attributes (user keys, foreign key tables, required fields)
Note: The graphic was modified in order to fit it on the slide.
EIM table
name
Base column EIM column

Base table

Base table

Destination
column attributes
Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.18

Select EIM Table


n Select the EIM table that best maps to the target base tables
and columns
} Pick the EIM table that maps the most columns that you need to
migrate
n Example:
} EIM_ACCOUNT can be used to map Account-related Position
data because it maps to the intersection table S_ACCNT_POSTN

S_ACCNT_POSTN
columns mapped by
EIM_ACCOUNT

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.19

This is a positioning slide. The subsequent slides will show examples.


EIM to Base Mappings You want to determine which EIM columns map to your target columns.
n Determine EIM columns that populate target base columns Then you must also supply “required” columns whether you want to
populate those targets or not. Required means that the base table row will
n Determine other EIM required columns to populate the target
not be populated unless values are supplied in the EIM columns that map
base table
to the target columns. Required columns may be user keys or other
} Other columns may be required based on required fields in the
columns.
base table

EIM Base
table table

EIM Base
column column

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.20

Notice that the column name on EIM tables is often the same as the
Determine EIM Columns column name on the base table, but not always.
n Determine which EIM column populates the target base column
in Siebel Tools
} Example: MAIN_PH_NUM on EIM_ACCOUNT populates
MAIN_PH_NUM on S_ORG_EXT

Base EIM
column column

Copyright © 2007, Oracle. All rights reserved.

Column Names Column names are often the same, but not always.

Siebel 8.0 Essentials


Creating Data Maps 50.21

You can also determine mappings using Siebel Tools. It may be quicker
Determine EIM Columns Continued to search if you are not sure where to look in the documentation.
n Alternate method is to query Attribute Mappings in Siebel Tools
to determine which EIM column populates the base column
} Example: MAIN_PH_NUM on EIM_ACCOUNT populates
MAIN_PH_NUM on S_ORG_EXT

Use Flat tab Base table


to query and column

Query
Result
EIM table and column

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.22

Using Siebel Tools to determine required columns is not as straight-


Determine Base Required Columns forward as referencing the documentation. It is a two-step process. EIM
does not recognize non-system default columns. In Siebel Tools, you can
n Determine required base table columns that do not have
query for the required non-system columns. Notice that even though a
defaults (EIM does not recognize non-system default values)
default is specified and implemented in the database as a database
Query Column
constraint, EIM preprocesses data and does not recognize the default
values.

Result = required
base columns

Defaults not
recognized by EIM

Copyright © 2007, Oracle. All rights reserved.

Finding Non- An alternative method of locating required, non-system


System columns is to query for required columns with Type
Columns equals Data(Public).

Siebel 8.0 Essentials


Creating Data Maps 50.23

This is important: In the EIM Interface Tables report within Siebel


Mapping Considerations Tools, notice that for organization data, the documented mapping is to an
EIM table column ending in “_BI” with datatype varchar (15).
n Understand how to enter organization data
} Fill in _BU column with name of the organization
For example, for the EIM_ACCOUNT table, the mapping to the
S_ORG_EXT..BU_ID column is listed as ACCNT_BI. Instead of using
} Leave _BI column blank
the _BI column, use the corresponding _BU column, populating it with
n Populated with foreign key during import processing
the name of the organization. EIM resolves to the foreign key during
n Understand additional columns that must be populated for party
import processing. In the above example, you would use the
business components
} Use EIM Interface Table report to identify these
ACCNT_BU column on EIM_ACCOUNT, populating it with the name
} Examples:
of the organization, by default, “Default Organization”.
n PARTY_UID
n PARTY_TYPE_CD
n ROOT_PARTY_FLG

Copyright © 2007, Oracle. All rights reserved.

ROOT_PARTY_FLG ROOT_PARTY_FLG is for Oracle implementations


only. It was added to support performance for
Oracle. A query to obtain top-level Positions,
Organizations, or Access Groups can use either:
1. WHERE ROOT_PARTY_FLG='Y' or
2. WHERE PAR_PARTY_ID is NULL
Oracle cannot use an indexed access path for option
2 because there are no index entries for NULL, so
ROOT_PARTY_FLG was added.
ROOT_PARTY_FLG is set to 'Y' for top-level
Positions, Organizations, and Access Groups as it
applies only to these Party sub-types. It is set to 'N'
for other party subtypes.

Siebel 8.0 Essentials


Creating Data Maps 50.24

Mapping Considerations Continued


n Be aware of access control and data visibility issues
} Set access control by:
n Importing ownership information, or
n Using assignment manager
} If ownership is not set or is set incorrectly, data visibility will be
incorrect
n Example:
} Import product information to Siebel database
n Product visibility is determined by organization
n Map product and ownership information to EIM_PROD_INT (Product
interface table)
n Be sure to map from EIM_PROD_INT to both S_PROD_INT (Internal
product base table) and S_PROD_INT_BU (Product/BU intersection
table)
} Mapping documented in EIM Interface Table report

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.25

Review Question: When mapping organization-related data, which


Module Highlights column will you populate on the EIM table?
n Data mapping specifies: Answer: Fill in _BU column with name of the organization. Leave the
} Which base tables and columns will hold external data
_BI column blank.
} Which interface tables and columns will be used by EIM during data Review Question: What is the first step in determining your data
movement mapping?
n Steps to create data mappings for EIM: Answer: Analyze external source data and look at the attributes that
} Map external entities to Siebel business-layer objects need to be stored, identify the entity that the collection of attributes
} Use the Siebel Web Client to identify and verify mapping of external represent and identify the relationship(s) between entities.
attributes to BC fields
} Select the interface table used by the mapping
} Use Siebel Tools’ EIM Interface Table report to perform column-to-
column mappings between interface tables and base tables
} Map all external attributes of interest plus required non-system
columns
n Data mappings should be clearly documented

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials


Creating Data Maps 50.26

See lab instructions for details.


Lab
n In the lab you will:
} Map external solutions data to EIM tables and base tables
} Map external product data to EIM tables and base tables

Copyright © 2007, Oracle. All rights reserved.

Siebel 8.0 Essentials

You might also like