Date post: | 16-Apr-2015 |
Category: |
Documents |
Upload: | realvasyapupkin |
View: | 17 times |
Download: | 2 times |
1 of 31Running Enterprise Integration Manager
Siebel 8.0 Essentials
Module 49: Running Enterprise Integration Manager
3 of 31Running Enterprise Integration Manager
Module Objectives
• To know the process of importing external data successfully into Siebel database
• To understand the steps required for importing data through EIM– Populate interface (EIM) tables for imports– Modify configuration (.ifb) files for imports– Invoke an Enterprise Integration Manager (EIM) server task– Modify configuration (.ifb) files to optimize imports
4 of 31Running Enterprise Integration Manager
Interface Table• All interface tables have three required columns:
– IF_ROW_BATCH_NUM and ROW_ID are set by the user to uniquely designate a record
– IF_ROW_STAT is used by EIM to return status after an EIM run
• For import and merge processes, you must populate the ROW_ID, IF_ROW_STAT, and IF_ROW_BATCH_NUM columns
• For merge processes, you also need to populate the IF_ROW_MERGE_ID column
– Must be done for delete processes when you run DELETE EXACT
5 of 31Running Enterprise Integration Manager
Running an EIM Task for Data Imports
• 1. Populate EIM tables• 2. Determine Processing Order• 3. Run an EIM Task• 4. Verify EIM Task Results• 5. Remove Data from EIM Tables
6 of 31Running Enterprise Integration Manager
1. Populate EIM tables
• Populate source data into EIM tables using a non-Siebel process– Use database vendor utilities to load data from flat files– Use SELECT INTO to pull data from other SQL databases– Use direct SQL insert, update, or delete statements to update columns in
EIM tables– Use SQL queries to verify that EIM tables populated correctly
External Data
Interface Table
Non-Siebel Process
7 of 31Running Enterprise Integration Manager
2. Determine Processing Order• Edit the EIM configuration file (default.ifb) to determine the correct
processing order for EIM tables. – Customizes the behavior of EIM by defining the data you will import and
identifying the batch number to use– When importing, tables referenced via foreign key must be loaded first
8 of 31Running Enterprise Integration Manager
3. Run an EIM Task
• Creates an operating system (OS) process that reads the .ifb file, loads the dictionary, executes EIM steps, and writes log entries
• Direct the execution of an EIM task using a configuration (.ifb) file– Specifies the batch, order, and type of processing– Use default.ifb as a template
9 of 31Running Enterprise Integration Manager
Turn Off Transaction Logging
• Siebel Remote logs transactions to allow synchronization of mobile clients
• Transaction logging reduces EIM performance– Before initial loads, turn off logging• Navigate to Administration – Siebel Remote > Remote System
Preferences– After initial loads, turn on logging to support mobile clients• Turning off transaction logging in a running production system will require
subsequent re-extraction of all mobile user databases
Logging disabled during Initial Loads
10 of 31Running Enterprise Integration Manager
Create and Run an EIM Job
• Navigate to Administration - Server Management > Jobs
11 of 31Running Enterprise Integration Manager
Monitor the EIM Task
• Navigate to Administration - Server Management > Tasks– Query to view progress– Review Task Information Log
12 of 31Running Enterprise Integration Manager
4. Verify EIM Task Results
• Run SQL SELECT statements to verify the table data
13 of 31Running Enterprise Integration Manager
4. Verify EIM Task Results…
• After import, IF_ROW_STAT will contain a value that describes• the status of each imported row
14 of 31Running Enterprise Integration Manager
4. Verify EIM Task Results…
• Verify imported data in the application using appropriate views• Example: Products > Internal Product List
15 of 31Running Enterprise Integration Manager
4. Verify EIM Task Results…
• For troubleshooting:– Navigate to Administration – Server Management > Tasks– Find task number for EIM task– Examine log file in Siebel server log directory
16 of 31Running Enterprise Integration Manager
4. Verify EIM Task Results…
• Job parameters can override component-level event logging to create additional information in the log
– Trace Flags = 1• Records processing steps
– SQL Trace Flags = 8• Records summary SQL• Should only be done in test environment• Dramatically impedes EIM performance and generates large log file
– Error Flags = 1• Records details regarding failed rows
EIM Logging tasks used for troubleshooting
17 of 31Running Enterprise Integration Manager
5. Remove Data from EIM Tables
• You are responsible for removing records from the EIM tables• Use SQL to delete EIM table records once they have been successfully
processed
18 of 31Running Enterprise Integration Manager
Required Configuration (.ifb) Parameters
• Header Section Parameters– Should use the reserved name [Siebel Interface Manager]– CONNECT– PASSWORD– PROCESS– USERNAME
• USERNAME and PASSWORD can be specified as EIM Server component parameters also
• Process Section Parameters– BATCH– TABLE– TYPE
19 of 31Running Enterprise Integration Manager
Additional Configuration (.ifb) Parameters – Process Options
• Explicitly include or exclude tables and columns to avoid unnecessary processing
– Use ONLY BASE TABLES, ONLY BASE COLUMNS
or– Use IGNORE BASE TABLES, IGNORE BASE COLUMNS
Directs task to process only these target tables
20 of 31Running Enterprise Integration Manager
Process Options…
• Set options to control processing and enhance performance– Set USING SYNONYMS to FALSE to avoid unnecessary processing– USING SYNONYMS applies to accounts only
• Use SHELL to process multiple EIM tables/sections in a single run
21 of 31Running Enterprise Integration Manager
Additional Configuration (.ifb) Parameters –Import Options
• Set options to preprocess EIM rows and columns– Use FILTER QUERY to select a subset of EIM rows for processing– Use DEFAULT COLUMN or FIXED COLUMN to set values for EIM
columns
22 of 31Running Enterprise Integration Manager
Import Options …
• INSERT ROWS and UPDATE ROWS Parameters both have the default value is TRUE.
– To change this for all tables, use this syntax:• INSERT ROWS = FALSE
– To change only one table, specify the table name • UPDATE ROWS = S_PROD_INT, FALSE
– To change multiple tables, specify each table in a separate line• INSERT ROWS = S_PROD_INT, FALSE• INSERT ROWS = S_ADDR_ORG, FALSE
– If you need the parameter to be FALSE for most tables, and TRUE for only a few, use this method:
• UPDATE ROWS = FALSE• UPDATE ROWS = S_PROD_INT, TRUE• UPDATE ROWS = S_ADDR_ORG, TRUE
23 of 31Running Enterprise Integration Manager
• Setting TYPE = DELETE automatically sets DELETE ROWS = TRUE
• DELETE EXACT parameter specifies the base table rows to delete by using user key values specified in the EIM table.
– By default, DELETE EXACT = FALSE. – DELETE EXACT = TRUE must use the ONLY BASE TABLES parameter in
conjunction to identify the base tables.
Additional Configuration (.ifb) Parameters –Delete Options
To prevent deletion of rows from a specified table
24 of 31Running Enterprise Integration Manager
• DELETE MATCHES parameter specifies a WHERE clause expression for filtering base table rows.
– The value is in two parts: the Siebel base table name and the filter expression that goes against the target base table.
– Filter expression is a self-contained WHERE clause expression • Should use only literal values or column names
Delete Options…
25 of 31Running Enterprise Integration Manager
• At least one process should be defined with TYPE = EXPORT.• EXPORT ALL ROWS used to export all rows from the tables that are
mapped in an EIM table
Additional Configuration (.ifb) Parameters –Export Options
Example: To define an export process from the S_PARTY table and its extension tables
26 of 31Running Enterprise Integration Manager
Primaries
• Improve performance by eliminating sub-queries when displaying data from parent and child tables
• If primaries are not used, a new query needs to be executed to identify any child records each time a parent record is displayed
• Two types of Primary settings:– Explicit Primary– Implicit Primary
27 of 31Running Enterprise Integration Manager
Explicit Primary• Use the Primary flag to set explicit primaries through EIM
– Use when the external system knows which child should be primary
• If you always want to use explicit primaries, use MISC SQL parameter:
– Ex: MISC SQL = EXPR_S_PROD_INT_TNTX_PR_CATEGORY_ID
28 of 31Running Enterprise Integration Manager
Implicit Primary
• Allow EIM to implicitly set primaries– Use when the external system does not know the primary– Sets the primary to be the child with the lowest ROW_ID– Mimics auto primary in the application
• If you always want to use implicit primaries, use MISC SQL parameter– MISC SQL = IMPR_ S_PROD_INT_TNTX_PR_CATEGORY_ID
29 of 31Running Enterprise Integration Manager
Using EIM with Database Modifications
• To populate base table extension columns through EIM:– Add an extension column to the EIM table– Map the EIM column to the base column– Test the mapping by running EIM on the server
• Use the Interface Table Mapping Wizard
Base Table
Base table Extension Column
EIM Extension Column
EIM Table
30 of 31Running Enterprise Integration Manager
Using EIM with Database Modifications…
• Update EIM table mappings to include columns or tables you have added using the Interface Table Mapping Wizard
• Select the table in Tools, right-click, select EIM Table Mapping… and complete the wizard
31 of 31Running Enterprise Integration Manager
Module Highlights
• Three required columns are there in an EIM table are:– IF_ROW_BATCH_NUM– ROW_ID– IF_ROW_STAT
• EIM import steps are:– Populate EIM tables– Create an EIM configuration file (.ifb)– Run an EIM job– Verify job results– Remove EIM table records
• Parameters that can speed EIM processing:– No transaction logging– Process and import options in .ifb file
• Can set primaries during EIM import