50ESS_CreatingDataMaps

26
Creating Data Maps 50.1 Siebel 8.0 Essentials Copyright © 2007, Oracle. All rights reserved. Module 50: Creating Data Maps Siebel 8.0 Essentials Time: Lecture: <n – n> minutes; Labs: <n – n> minutes 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> § <Term> § <Term> § <Term>

Transcript of 50ESS_CreatingDataMaps

Page 1: 50ESS_CreatingDataMaps

Creating Data Maps 50.1

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Module 50: Creating Data Maps

Siebel 8.0 Essentials

Time: Lecture: <n – n> minutes; Labs: <n – n> minutesIntent: <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>§ <Term>§ <Term>§ <Term>

Page 2: 50ESS_CreatingDataMaps

Creating Data Maps 50.2

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

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

Each objective and “why you need to know” should be stated aloud.

Page 3: 50ESS_CreatingDataMaps

Creating Data Maps 50.3

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Data Mapping

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 data2. Which interface (EIM) table columns will be used to import from

source to destination

Source(external)

Destination(base table)

Interface (EIM) table

1. Decide where data

ends up

2. Determine how to get

there

Usually data mapping is a design activity. It happens up front during the initial stages of the project. Here the focus is more on EIM to base table mappings rather than on external to Siebel database mappings.

Page 4: 50ESS_CreatingDataMaps

Creating Data Maps 50.4

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Source Data

n Analyze external source data} Decide which attributes to store} Determine which entity the collection of attributes represents} Analyze relationships between entities

Customer

DecisionMaker

SalesPerson

Name...

Name...

Name...

Entity

Attribute

M:M

M:M

This is not specific to a Siebel implementation. Any time you are looking to move or migrate data, you must analyze what the data represents. Entity and attribute are common terms used along with entity relationship diagrams (ERDs).

Page 5: 50ESS_CreatingDataMaps

Creating Data Maps 50.5

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Siebel Destination

n Analyze Siebel destination tables and columns} Start with applets and fields used, and work down to business

layer} Use Siebel Tools to view tables and columns, business

components (BCs), and relationships

Contact

PositionAccount

Table

BC

Students have practiced techniques for exploring the Siebel Data Model 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 engineering teams at Siebel Systems have put significant effort into designing the database and most of the data mapping needs should be addressed. Notice that the base table for each of the three depicted components is S_PARTY, which was defined in previous modules.

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 Tools

Account, Position, and Contact entities are person-and organization-related. Therefore, their business components share the S_PARTY table.

Party Business Components

Page 6: 50ESS_CreatingDataMaps

Creating Data Maps 50.6

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Identify and Verify Destination Tables and Columns0/3

1. Determine Destination Applet

2. Identify BC Fields

3. Map BC Field to Database Column

This is a structuring slide for <insert what will be discussed>. Do not teach the steps or concepts here because the following slides cover them in detail. Provide a high level description of what will be discussed.

Page 7: 50ESS_CreatingDataMaps

Creating Data Maps 50.7

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

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

1/3

Control to map

Desired destination

applet

Applet name

BC Name

Page 8: 50ESS_CreatingDataMaps

Creating Data Maps 50.8

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

2. Identify BC Fields

n Use Siebel Tools to map the applet control to the BC field

2/3

Locate control in Web Layout

view

Properties window displays

field name

Page 9: 50ESS_CreatingDataMaps

Creating Data Maps 50.9

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

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

3/3

Table and column

BC field being

mapped

Page 10: 50ESS_CreatingDataMaps

Creating Data Maps 50.10

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Map Source to Siebel Destination

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

Account

Contact

Position

CustomerSales

PersonName... Name...

DecisionMakerName...

External entity

BC Table

Attribute

Once you understand both sides, external and internal, in the Siebel database, then you must bring the data together. Which external piece ends up where in the Siebel database?

Page 11: 50ESS_CreatingDataMaps

Creating Data Maps 50.11

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Document Mappings

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

Address

Phone

Name

Source Attribute EIM Table

Customer

Customer

Source Entity

ZIPCODES_ADDR_ORG

CITYS_ADDR_ORG

ADDRS_ADDR_ORG

MAIN_PH_NUMS_ORG_EXT

NAMES_ORG_EXT

Base ColumnBase TableEIM Column

People may join or leave a team, therefore, documenting mappings is critical. They must be documented. Students will practice working with spreadsheets to document mappings in the lab.

Page 12: 50ESS_CreatingDataMaps

Creating Data Maps 50.12

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

ü

How to Get There: Determine Interface Tables

n After verifying and documenting the source-to-base mappings, determine and document EIM-to-base mappings

üInterface (EIM) ?

AddressPhoneName

Source Attribute EIM Table

CustomerCustomer

Source Entity

ZIPCODES_ADDR_ORGCITYS_ADDR_ORGADDRS_ADDR_ORGMAIN_PH_NUMS_ORG_EXTNAMES_ORG_EXT

Base ColumnBase TableEIM Column

How to get there?Source Destination

This is the focus of the module. Once you know where the data should reside in the Siebel base tables, then you need to identify the EIM tables that would expedite the process.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 Tables report within Siebel Tools. Ensure that students do not get confused.Make sure students understand what a base table is and how it will be used in the EIM process. Refer to the student note for a base table definition.

A base table is the destination table in the Siebel database for your data import.

Base Table

Siebel Tools ReferenceReference

Page 13: 50ESS_CreatingDataMaps

Creating Data Maps 50.13

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Table Relationships

n An interface table may populate more than one base tablen A base table may be populated by more than one interface table

EIM_ADDR_ORG

S_ORG_EXT

S_ADDR_ORG

EIM_ACCOUNT

The point of this slide is that depending on the target base table, there may be several EIM tables to choose from.

Page 14: 50ESS_CreatingDataMaps

Creating Data Maps 50.14

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Locate EIM Tables

n Locate candidate EIM tables using Siebel Tools} Example: Locate EIM tables that populate S_ORG_EXT

Query

Result

Flat tab

EIM tables that populate S_ORG_EXT

Note: Use EIM_ tables, not _IF tables

This slide shows a technique for finding the candidate or potential EIM tables that would populate a given base table. Stress to students that EIM_ tables must be used. The graphic adds EIM_ as additional query criteria.

Page 15: 50ESS_CreatingDataMaps

Creating Data Maps 50.15

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

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 table and…

…select Reports > EIM Interface Tables

Page 16: 50ESS_CreatingDataMaps

Creating Data Maps 50.16

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Interface Table Documentation Continued

n Table report documents EIM Table Mapping attributes

Interface table report for EIM_ACCOUNT

Page 17: 50ESS_CreatingDataMaps

Creating Data Maps 50.17

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Interface Table Documentation Continued

n The EIM Interface Table report shows mapping from a single EIM table to one or more Siebel base tables} EIM column (source) to base table column (destination) mapping} Column attributes (user keys, foreign key tables, required fields)

Base column

Base table

EIM column

EIM table name

Base table

Destination column attributes

The best EIM table will be the one that allows you to populate the most data. You can use options to limit the target tables during the run. Therefore, having more targets or destinations than you need is an advantage. The graphic shows a modified screen capture of the EIM Interface Tables report generated in Siebel Tools and annotates how to read it.Note: The graphic was modified in order to fit it on the slide.

Page 18: 50ESS_CreatingDataMaps

Creating Data Maps 50.18

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

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

migraten 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

Page 19: 50ESS_CreatingDataMaps

Creating Data Maps 50.19

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

EIM to Base Mappings

n Determine EIM columns that populate target base columnsn Determine other EIM required columns to populate the target

base table} Other columns may be required based on required fields in the

base table

EIM table

Base table

EIM column

Base column

This is a positioning slide. The subsequent slides will show examples.You want to determine which EIM columns map to your target 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 not be populated unless values are supplied in the EIM columns that map to the target columns. Required columns may be user keys or other columns.

Page 20: 50ESS_CreatingDataMaps

Creating Data Maps 50.20

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Determine EIM Columns

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

EIM column

Base column

Notice that the column name on EIM tables is often the same as the column name on the base table, but not always.

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

Page 21: 50ESS_CreatingDataMaps

Creating Data Maps 50.21

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Determine EIM Columns Continued

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

Base table and column

EIM table and column

ResultQuery

Use Flat tab to query

You can also determine mappings using Siebel Tools. It may be quicker to search if you are not sure where to look in the documentation.

Page 22: 50ESS_CreatingDataMaps

Creating Data Maps 50.22

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Determine Base Required Columns

n Determine required base table columns that do not have defaults (EIM does not recognize non-system default values)

Defaults not recognized by EIM

Query Column

Result = required base columns

Using Siebel Tools to determine required columns is not as straight-forward as referencing the documentation. It is a two-step process. EIM does not recognize non-system default columns. In Siebel Tools, you can query for the required non-system columns. Notice that even though a default is specified and implemented in the database as a database constraint, EIM preprocesses data and does not recognize the default values.

An alternative method of locating required, non-system columns is to query for required columns with Type equals Data(Public).

Finding Non-System Columns

Page 23: 50ESS_CreatingDataMaps

Creating Data Maps 50.23

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Mapping Considerations

n Understand how to enter organization data} Fill in _BU column with name of the organization} Leave _BI column blank

n Populated with foreign key during import processingn Understand additional columns that must be populated for party

business components} Use EIM Interface Table report to identify these} Examples:

n PARTY_UIDn PARTY_TYPE_CDn ROOT_PARTY_FLG

This is important: In the EIM Interface Tables report within Siebel Tools, notice that for organization data, the documented mapping is to an EIM table column ending in “_BI” with datatype varchar (15).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 the _BI column, use the corresponding _BU column, populating it with the name of the organization. EIM resolves to the foreign key during import processing. In the above example, you would use the ACCNT_BU column on EIM_ACCOUNT, populating it with the name of the organization, by default, “Default Organization”.

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' or2. WHERE PAR_PARTY_ID is NULLOracle 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.

ROOT_PARTY_FLG

Page 24: 50ESS_CreatingDataMaps

Creating Data Maps 50.24

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Mapping Considerations Continued

n Be aware of access control and data visibility issues} Set access control by:

n Importing ownership information, orn 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 organizationn 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

Page 25: 50ESS_CreatingDataMaps

Creating Data Maps 50.25

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

Module Highlights

nData mapping specifies:} Which base tables and columns will hold external data} Which interface tables and columns will be used by EIM during data

movementn Steps to create data mappings for EIM:} Map external entities to Siebel business-layer objects} Use the Siebel Web Client to identify and verify mapping of external

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

columnsnData mappings should be clearly documented

Review Question: When mapping organization-related data, which column will you populate on the EIM table?Answer: Fill in _BU column with name of the organization. Leave the _BI column blank.Review Question: What is the first step in determining your data mapping?Answer: Analyze external source data and look at the attributes that need to be stored, identify the entity that the collection of attributes represent and identify the relationship(s) between entities.

Page 26: 50ESS_CreatingDataMaps

Creating Data Maps 50.26

Siebel 8.0 Essentials

Copyright © 2007, Oracle. All rights reserved.

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

See lab instructions for details.