tag:blogger.com,1999:blog-74338520437979042572024-03-14T12:16:06.732+05:30EIM TOOL BOXA Complete Reference To Siebel EIMVarun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.comBlogger25125tag:blogger.com,1999:blog-7433852043797904257.post-51681887564317883902012-11-22T11:11:00.001+05:302012-11-22T11:11:27.484+05:30IFB to delete all records from S_ORG_EXT table that were created on the previous day<div dir="ltr" style="text-align: left;" trbidi="on">
Presently I came across one of my friend's requirement for an IFB to delete all records from S_ORG_EXT table that were created on the previous day and with value of SRV_PROVDR_FLG as Y, so that IFB can be scheduled to run on a particular interval and delete process can be automated.<br />
<br />
Here, I am sharing it with you guys and you can make use of it on any table and for deleting records in any time period just by changing the parameters given, as per your requirement.<br />
<br />
<a name='more'></a>[Siebel Interface Manager]<br />
PROCESS = Acc_Delete<br />
<br />
[Acc_Delete]<br />
TYPE=SHELL<br />
INCLUDE=Exp_record<br />
<br />
[Exp_record]<br />
TRANSACTION SQL = "DELETE FROM SIEBEL.S_ORG_EXT WHERE SRV_PROVDR_FLG='Y' AND FLOOR(SYSDATE-CREATED)='1'"<br />
TYPE = EXPORT<br />
BATCH = 1<br />
TABLE = EIM_ACCOUNT<br />
EXPORT MATCHES = S_ORG_EXT,(ROW_ID IS NULL)</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com7tag:blogger.com,1999:blog-7433852043797904257.post-22948746184473936732012-10-15T11:47:00.000+05:302012-10-27T15:25:53.744+05:30How to Load Responsibilities and Views through EIM<div dir="ltr" style="text-align: left;" trbidi="on">
Lets create three temporary tables firstly, say TEMP_VIEW,TEMP_RESP and TEMP_VIEW_RESP. These tables can be used as below :-<br />
<br />
TEMP_VIEW - to store information about Views such as view name and view description<br />
TEMP_RESP - to store information about Responsibilities such as responsibility name, responsibility description and responsibility organization.<br />
TEMP_VIEW_RESP - to store views and their associated responsibilities.<br />
<br />
At first, you have import data to load to these temporary tables. From these temporary tables data should be imported into the interface tables in three stages. At first, you have to import the views to 'S_APP_VIEW', then responsibilities to 'S_RESP' and then have to populate inter table 'S_APP_VIEW_RESP' with view-responsibility association information.<br />
<br />
Let's below look into the script used for loading the Views and Responsibilities:-<br />
<h4 style="text-align: left;">
<b><u><a name='more'></a></u></b></h4>
<h4 style="text-align: left;">
<br />
</h4>
<h3 style="text-align: left;">
<b><u>Populating View information</u></b></h3>
INSERT INTO SIEBEL.EIM_APP_VIEW<br />
(<br />
ROW_ID,<br />
IF_ROW_STAT,<br />
IF_ROW_BATCH_NUM,<br />
NAME,<br />
DESC_TEXT,<br />
LOCAL_ACCESS_FLG<br />
)<br />
SELECT<br />
SEQ.nextval,<br />
'FOR_IMPORT',<br />
1,<br />
VIEW_NAME,<span class="Apple-tab-span" style="white-space: pre;"> </span> ---view name<br />
VIEW_DESC,<span class="Apple-tab-span" style="white-space: pre;"> </span> ---view description<br />
'Y'<span class="Apple-tab-span" style="white-space: pre;"> </span> ---local access flag<br />
FROM TEMP_VIEW<br />
<h4 style="text-align: left;">
<u><b>IFB</b></u></h4>
[Siebel Interface Manager]<br />
PROCESS = "IMPORT"<br />
[IMPORT]<br />
TYPE = IMPORT<br />
BATCH = 1<br />
TABLE = EIM_APP_VIEW<br />
ONLY BASE TABLES = S_APP_VIEW<br />
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>Populating Responsibility information</b></u></h3>
INSERT INTO SIEBEL.EIM_RESP<br />
(<br />
ROW_ID,<br />
IF_ROW_STAT,<br />
IF_ROW_BATCH_NUM,<br />
RESP_NAME,<br />
RESP_DESC_TEXT,<br />
RESP_ACCSS_TYPE_CD,<br />
RESP_BU<br />
)<br />
SELECT<br />
SEQ.nextval,<br />
'FOR_IMPORT',<br />
1,<br />
RESP_NAME,<span class="Apple-tab-span" style="white-space: pre;"> </span> ---responsibility name<br />
RESP_DESC,<span class="Apple-tab-span" style="white-space: pre;"> </span> ---responsibility description<br />
'Yes',<span class="Apple-tab-span" style="white-space: pre;"> </span> ---web access flag<br />
ORG<span class="Apple-tab-span" style="white-space: pre;"> </span> ---organization<br />
FROM TEMP_RESP<br />
<h4 style="text-align: left;">
<u><b>IFB</b></u></h4>
[Siebel Interface Manager]<br />
PROCESS = "IMPORT"<br />
[IMPORT]<br />
TYPE = IMPORT<br />
BATCH = 1<br />
TABLE = EIM_RESP<br />
ONLY BASE TABLES = S_RESP<br />
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>Populating View-Responsibility relation information</b></u></h3>
INSERT INTO SIEBEL.EIM_RESP<br />
(<br />
ROW_ID,<br />
IF_ROW_STAT,<br />
IF_ROW_BATCH_NUM,<br />
RESP_BU,<br />
RESP_NAME,<br />
VIEW_NAME,<br />
LOCAL_ACCESS_FLG,<br />
APPVIEWRE_ROFLG<br />
)<br />
SELECT<br />
SEQ.nextval,<br />
'FOR_IMPORT',<br />
1,<br />
SBU.NAME,<br />
TE.RESP_NAME,<span class="Apple-tab-span" style="white-space: pre;"> </span> ----responsibility<br />
TE.VIEW_NAME,<span class="Apple-tab-span" style="white-space: pre;"> </span> ----view<br />
'Y',<span class="Apple-tab-span" style="white-space: pre;"> </span> ---local access flag<br />
'N'<span class="Apple-tab-span" style="white-space: pre;"> </span> ---read only flag<br />
FROM TEMP_VIEW_RESP TE<br />
JOIN SIEBEL.S_RESP SR ON SR.NAME=TE.RESP<br />
JOIN SIEBEL.S_BU SBU ON SBU.ROW_ID=SR.BU_ID
<br />
<h4 style="text-align: left;">
<u><b>IFB</b></u></h4>
[Siebel Interface Manager]<br />
PROCESS = "IMPORT"<br />
[IMPORT]<br />
TYPE = IMPORT<br />
BATCH = 1<br />
TABLE = EIM_RESP<br />
ONLY BASE TABLES = S_APP_VIEW_RESP,S_RESP</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-15747874757846459342012-09-18T16:26:00.003+05:302012-10-27T15:34:03.692+05:30Export All Rows IFB File<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: inherit;"><span style="background-color: white; line-height: 20px;">Here, Let's look at the IFB file which can be used to export entire records from a Siebel base table. For that, you have to </span><span style="background-color: white; line-height: 20px;">just include the parameter 'EXPORT ALL ROWS' in the IFB file and its value should be set to true. </span></span><br />
<span style="background-color: white; font-family: inherit; line-height: 20px;">Here is the IFB file to be used :-</span><br />
<span style="font-family: inherit;"><span style="background-color: white; line-height: 20px;"><br /></span>
<span style="background-color: white; line-height: 20px;">[Siebel Interface Manager]</span></span><br />
<span style="background-color: white; font-family: inherit; line-height: 20px;">PROCESS = CASE_EXPORT</span><br />
<span style="background-color: white; font-family: inherit; line-height: 20px;">[CASE_EXPORT]</span><br />
<span style="background-color: white; font-family: inherit; line-height: 20px;">TYPE = SHELL</span><br />
<span style="background-color: white; font-family: inherit; line-height: 20px;">INCLUDE = "EXPORT_CASE"</span><br />
<a name='more'></a><span style="background-color: white; font-family: inherit; line-height: 20px;">[EXPORT_CASE]</span><br />
<span style="background-color: white; font-family: inherit; line-height: 20px;">TYPE = EXPORT</span><br />
<span style="background-color: white; font-family: inherit; line-height: 20px;">BATCH = 1</span><br />
<span style="background-color: white; font-family: inherit; line-height: 20px;">TABLE = EIM_CASE</span><br />
<span style="background-color: white; font-family: inherit; line-height: 20px;">EXPORT ALL ROWS = FALSE</span><br />
<span style="background-color: white; font-family: inherit; line-height: 20px;">CLEAR INTERFACE TABLE = TRUE</span><br />
<span style="background-color: white; font-family: inherit; line-height: 20px;">ONLY BASE TABLES = S_CASE,S_CASE_PER,S_CASE_ORG,S_CASE_REL</span><br />
<span style="background-color: white; font-family: inherit; line-height: 20px;">EXPORT ALL ROWS = TRUE</span><br />
<span style="font-family: inherit;"><span style="background-color: white; line-height: 20px;"><br /></span>
<span style="background-color: white; line-height: 20px;">If we want to export from more than one base table associated to an interface table, we can specify all base tables with in 'ONLY BASE TABLES' parameter in IFB. If there is a need to export all records from an inter table like S_CASE_PER, we should also mention base tables associated to that within </span><span style="background-color: white; line-height: 20px;">'ONLY BASE TABLES' parameter as here and should filter tables other than the inter table using '</span><span style="background-color: white; line-height: 20px;">EXPORT MATCHES</span><span style="background-color: white; line-height: 20px;">' parameter.</span></span><br />
<span style="background-color: white; font-family: inherit; line-height: 20px;"><br /></span>
<span style="font-family: inherit;"><a href="http://eimtoolbox.blogspot.in/2012/09/export-matches-ifb-file.html" target="_blank"><span style="line-height: 20px;">To know more on 'EXPORT MATCHES' </span><span style="background-color: white; line-height: 20px;">parameter, click here . . .</span></a> </span></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-58861969253791546342012-09-18T13:08:00.000+05:302012-10-27T15:31:08.323+05:30Export Matches IFB File<div dir="ltr" style="text-align: left;" trbidi="on">
Here, Let's look at the IFB file which can be used to export certain amount of records that matches a condition.If u need only some specific records to be exported from a Siebel database, you can make use of this.<br />
<br />
The thing you have to do is, you have to specify the SQL statement to select the specific records needed with in the 'EXPORT MATCHES' parameter in the IFB.<br />
Here is the IFB file used :-<br />
<br />
[Siebel Interface Manager]<br />
PROCESS = CASE_EXPORT<br />
[CASE_EXPORT]<br />
TYPE = SHELL<br />
INCLUDE = "EXPORT_CASE"<br />
<a name='more'></a>[EXPORT_CASE]<br />
TYPE = EXPORT<br />
BATCH = 1<br />
TABLE = EIM_CASE<br />
EXPORT ALL ROWS = FALSE<br />
CLEAR INTERFACE TABLE = TRUE<br />
ONLY BASE TABLES = S_CASE,S_CASE_PER,S_CASE_ORG<br />
EXPORT MATCHES = S_CASE_PER, (ROW_ID IN ('1-4749','1-2789'))<br />
<br />
<span style="font-family: inherit;"><span style="background-color: white; line-height: 20px;">If there is a need to export from an inter table like S_CASE_PER, we should also mention base tables associated to that within </span><span style="background-color: white; line-height: 20px;">'ONLY BASE TABLES' parameter as here and should filter tables other than the inter table using '</span><span style="background-color: white; line-height: 20px;">EXPORT MATCHES</span><span style="background-color: white; line-height: 20px;">' parameter.</span></span><br />
<span style="font-family: inherit;"><span style="background-color: white; line-height: 20px;"><br /></span></span>
<span style="font-family: inherit;"><a href="http://eimtoolbox.blogspot.in/2012/07/export-process-parameters-in-ifb.html" target="_blank"><span style="line-height: 20px;">To know more on export process</span><span style="line-height: 20px;"> </span><span style="background-color: white; line-height: 20px;">parameters, click here . . .</span></a></span></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-70884135852304113572012-08-16T16:25:00.000+05:302012-10-27T15:52:08.458+05:30EIM Interview Questions<div dir="ltr" style="text-align: left;" trbidi="on">
Q 1 : When I tried to set the primary employee for the position through EIM, it is not getting updated. Why?<br />
<div style="text-align: left;">
Ans :<br />
While updating the primary employee for position, apart from setting the POSTN_PR_EMP column in the EIM table, you should also define the MISC SQL parameter in your IFB file.</div>
<br />
Q 2 : Although setting the trace flags, I’m not able to see log information in the log file. Why?<br />
Ans :<br />
You should configure your component event levels as described below :-<br />
<br />
Event Type Log Level<br />
---------------------- ---------------<br />
SQL Tracing 4<br />
SQL Summary 4<br />
Task Configuration 4<br />
Component Tracing 3<br />
<br />
Q 3 : What does IFB stands for?<br />
Ans :<br />
IFB stands for InterFace Builder.<br />
<br />
Q 4 : Can I use more than one IFB file for an EIM process?<br />
Ans :<br />
No, it’s not possible. You can use shell process in case if you want to do more than one operation in a single EIM task.<br />
<br />
<a name='more'></a>Q 5 : What is the effect of setting Docking Transaction Logging parameter to TRUE in case of EIM export?<br />
Ans :<br />
Any transaction logging won’t take place, since export process doesn’t change any data values. Also any parameter setting for transaction logging is ignored.<br />
<br />
Q 6 : What is the use of DELETE SKIP PRIMARY parameter in EIM DELETE operation?<br />
Ans :<br />
The default value of this parameter is TRUE which doesn’t update the primary child column in the parent record when the primary child record is deleted. If set to FALSE, the primary child column is set to “No Match Row Id”.<br />
<br />
Q 7 : How will I get the position details when I need to populate these values in the EIM table?<br />
Ans :<br />
The query listed below will fetch all the positions and their details in the underlying Siebel database.<br />
SELECT A.NAME "Position Name", B.NAME "Position Division",B.LOC "Position LOC", C.NAME "Position BU Name" FROM SIEBEL.S_POSTN A, SIEBEL.S_ORG_EXT B, SIEBEL.S_BU C WHERE A.OU_ID = B.ROW_ID AND B.BU_ID = C.ROW_ID<br />
<br />
Q 8 : Is it valid to set the configuration file in such a way to restrict inserts or updates in the target base table?<br />
Ans :<br />
Yes. You can disable the inserts or updates done to the target base table and still it won’t throw any error, provided the user keys and required column’s values are available.<br />
<br />
Q 9 : Why am I getting “NOT_ALLOWED” in the IF_ROW_STAT column after EIM import?<br />
Ans :<br />
Possible reason could be the misuse of the INSERT ROWS or UPDATE ROWS parameter. When you set the INSERT ROWS parameter to false and you try to import new record, you will get this error. When you set the UPDATE ROWS parameter to false and you try to make changes to this particular record, you get this error.<br />
<br />
Q 10: My EIM Delete fails by setting the IF_ROW_STAT column to AMBIGUOUS. Why?<br />
Ans :<br />
Whenever EIM encounters more than one record with same user key values but different CONFLICT_ID values, EIM cannot proceed with the delete operation and hence it sets the value “AMBIGUOUS” in the IF_ROW_STAT column.<br />
<br />
Q 11: What is an Account Synonym? How it affects my EIM?<br />
Ans :<br />
A synonym is nothing but an alias name given for any account. These synonyms can be entered by the Siebel Administrator through Synonym Views. Whenever you do an EIM Import on accounts, EIM not only checks the user key in the base table but also checks the associated Synonyms for that account to find a match. This makes EIM time consuming. To suppress this behavior, you must set the USING SYNONYMS parameter to FALSE.</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com1tag:blogger.com,1999:blog-7433852043797904257.post-30660993425418438812012-08-16T14:10:00.000+05:302012-09-18T13:11:57.154+05:30EIM Merge Process Overview<div dir="ltr" style="text-align: left;" trbidi="on">
<ul style="text-align: left;">
<li><span style="background-color: white;">This process merges multiple records into one surviving record.</span></li>
<li>During Merge Process we identify the Parent record and Child records to be merged into that.</li>
<li><span style="background-color: white;">Records loaded in the identified interface table are matched against the corresponding base tables based on the user primary keys.</span></li>
<li>All the references (ROW_ID) of Child records will be replaced by parent record and Child records will be deleted.</li>
<li>While Populating the EIM ,IF_ROW_MERGE_ID is used to distinguish between parent and child records by EIM process.<a name='more'></a></li>
<li><span style="background-color: white;">For the Merge process, the surviving record will have a null value in the IF_ROW_MERGE_ID column. The records that has to merged into the survivor record (i.e. to be deleted from the system) will have the ROW_ID of the survivor record (EIM tables) as the value in its IF_ROW_MERGE_ID column.</span></li>
<li><span style="background-color: white;">Only records having a user primary key can be merged.</span></li>
<li><span style="background-color: white;">All the child records and the intersection table records for the deleted records will now point its reference to the surviving record after the merge process.</span></li>
<li><span style="background-color: white;">Only the target base table records can be merged.</span></li>
</ul>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-20533140688812527562012-08-16T13:12:00.000+05:302012-10-27T17:44:15.136+05:30EIM Delete Process Overview<div dir="ltr" style="text-align: left;" trbidi="on">
<ul style="text-align: left;">
<li><span style="background-color: white;">This process deletes the records from the Siebel base tables.</span></li>
<li><span style="background-color: white;">Deletes records from the base table by identifying the records in the base on the basis of the user keys specified in the corresponding interface table.</span></li>
<li><span style="background-color: white;">Deletes all records from the Siebel base table if the parameter DELETE ALL ROWS is specified as true. For this process the records are not populated in the interface table. Even if the records are populated on using this parameter EIM component skips these records and proceed by deleting all the rows in the given base table</span></li>
<li><span style="background-color: white;">If the DELETE MATCHES parameter is specified then only those records are deleted that matches the condition in the WHERE clause. </span></li>
<li><span style="background-color: white;">On successful deletion the IF_ROW_STAT column of the interface table will have the status as DELETED.<a name='more'></a></span></li>
<li>EIM updates other tables with rows containing foreign keys that point to newly deleted rows.</li>
<li>Deletion process will delete/Update the corresponding records from tables where the ROW_ID of record is referred as foreign Key.</li>
<li>EIM uses a combination of interface table row contents and configuration file parameter values to determine the method for selecting rows to be deleted. </li>
</ul>
<div>
<div>
<br />
The following delete methods are supported:</div>
</div>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">DELETE EXACT</span></li>
<li><span style="background-color: white;">DELETE MATCHES</span></li>
<li><span style="background-color: white;">DELETE ALL</span></li>
</ul>
<div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>DELETE EXACT</b></u></h3>
<div>
Delete rows in a SIEBEL base table with user key values specified in the corresponding interface table.</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>DELETE MATCHES</b></u></h3>
<div>
Delete rows in the base table where the contents of a named column match those specified by a WHERE clause expression in the configuration file.</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>DELETE ALL</b></u></h3>
<div>
Delete all rows in the base table regardless of interface table row contents or configuration file WHERE clause expressions.</div>
</div>
</div>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-72802954850107184852012-08-16T13:03:00.000+05:302012-09-18T13:14:19.899+05:30EIM Export Process Overview<div dir="ltr" style="text-align: left;" trbidi="on">
<ul style="text-align: left;">
<li><span style="background-color: white;">This process allows to pull the existing records from the Siebel base tables.</span></li>
<li><span style="background-color: white;">The interface table need to be correctly identified.</span></li>
<li><span style="background-color: white;">Create the configuration file with suitable parameters as in EXPORT ALL or EXPORT MATCHES according to the requirement</span></li>
<li><span style="background-color: white;">Start the EIM job manually by logging into the application and navigating to Administration – Server or via the command line.<a name='more'></a></span></li>
<li><span style="background-color: white;">As the process starts the EIM component picks up the records in the EIM table and scans the base table to see if the combination of the user keys populated on the EIM table record exist in the base table and exports the record from the base table to the EIM table and if EXPORT ALL parameter is mentioned all the records in the corresponding base table is exported.</span></li>
<li><span style="background-color: white;">If a record is exported from all the base tables successfully then the IF_ROW_STAT is set as EXPORTED and IF_ROW_STAT_NUM will have value as ‘0’.</span></li>
<li><span style="background-color: white;">If EXPORT ALL ROWS parameter is specified in the configuration file then the parameter EXPORT MATCHES and the records existing in the EIM table is ignored.</span></li>
<li><span style="background-color: white;">Preserved Column Values - The values for the LAST_UPD and CREATED columns in the interface tables will always contain the values for the LAST_UPD and CREATED columns from the target base table.</span></li>
</ul>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-86075626264962449772012-08-16T13:00:00.000+05:302012-09-18T13:15:04.155+05:30EIM Import Process Overview<div dir="ltr" style="text-align: left;" trbidi="on">
<ul style="text-align: left;">
<li><span style="background-color: white;">The process drives the new record inserts and updates on existing records in the Siebel base table.</span></li>
<li><span style="background-color: white;">The interface table need to be correctly identified.</span></li>
<li><span style="background-color: white;">Load the business data into the identified interface tables. </span></li>
<li><span style="background-color: white;">Create the configuration file.</span></li>
<li><span style="background-color: white;">Set the value of IF_ROW_STAT to FOR_IMPORT before load.</span></li>
<li><span style="background-color: white;">Make sure all the user key columns and the required columns for the targeted base tables are populated in the corresponding columns mapped in the interface tables.</span></li>
<li><span style="background-color: white;">Start the EIM job manually by logging into the application and navigating to Administration – Server or via the command line.<a name='more'></a></span></li>
<li><span style="background-color: white;">As the process starts the EIM component picks up the records in the EIM table and scans the base table to see if the combination of the user keys populated on the EIM table record does not exist in the base table and inserts the new record into the base table.</span></li>
<li><span style="background-color: white;">If the component finds the user key combination in the base table then it checks if there are any differing values on the non user key columns, if present updates the base table record accordingly. </span></li>
<li><span style="background-color: white;">If a record is inserted / updated to all the base tables successfully then the IF_ROW_STAT is set as IMPORTED and IF_ROW_STAT_NUM will have value as ‘0’</span></li>
<li><span style="background-color: white;">Based on how the insertion happens the IF_ROW_STAT and IF_ROW_STAT_NUM columns are set accordingly. </span></li>
<li><span style="background-color: white;">By default INSERT and UPDATE is set to TRUE in the IMPORT process. </span></li>
</ul>
<h4 style="text-align: left;">
<u><b>Points to be noted for Updating Records</b></u></h4>
<div>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">EIM table should be populated with proper User keys to Update Base table records.</span></li>
<li><span style="background-color: white;">User Key combination must be exactly the same as in the base table for the UPDATE to happen. Else the data will be get IMPORTED.</span></li>
<li><span style="background-color: white;">If the Business columns in EIM table is having a value which is different from base table then and then only the base table value will be get Updated.</span></li>
<li><span style="background-color: white;">If EIM table column is having NULL value it will not affect the Base Table column.</span></li>
<li><span style="background-color: white;">Insert and Update of Base table can be achieved by Specifying the proper Parameters in configuration file (IFB).</span></li>
</ul>
</div>
</div>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-23516775542524932042012-08-16T12:15:00.000+05:302012-09-19T13:23:04.116+05:30An Overview to EIM Process<div dir="ltr" style="text-align: left;" trbidi="on">
There are four types of process in EIM. They are :-<br />
<ul style="text-align: left;">
<li><span style="background-color: white;">Import Process.</span></li>
<li><span style="background-color: white;">Export Process.</span></li>
<li><span style="background-color: white;">Delete Process.</span></li>
<li><span style="background-color: white;">Merge Process.</span></li>
</ul>
<h4 style="text-align: left;">
<u><b>Import Process</b></u></h4>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Import Process is basically used to Insert or Update the data from external system into the Siebel base tables.</span></li>
<li><span style="background-color: white;">Identify and validate the data to be imported.</span></li>
<li><span style="background-color: white;">Identify the column mappings and user key columns of the data to be imported.</span></li>
<li><span style="background-color: white;">Import the data in the order of the business model.</span></li>
<li>Set the value of IF_ROW_STAT to FOR_IMPORT before load which will get changed to IMPORTED after process successfully commits.</li>
</ul>
<div>
<a href="http://eimtoolbox.blogspot.in/2012/07/eim-import-process-overview.html" target="_blank">To know more on import process, click here . . .</a></div>
<h4 style="text-align: left;">
<span style="text-decoration: underline;"><a name='more'></a><b>Export Process</b></span></h4>
</div>
<div>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Export Process is basically meant for exporting the data from the base table into the EIM tables.</span></li>
<li><span style="background-color: white;">Exported data can be copied into Other data bases.</span></li>
<li><span style="background-color: white;">Preserved Column Values - The values for the LAST_UPD and CREATED columns in the interface tables will always contain the values for the LAST_UPD and CREATED columns from the target base table.</span></li>
<li><span style="background-color: white;">You can verify export results by checking IF_ROW_BATCH_NUM equals to the batch number for the export.</span></li>
<li><span style="background-color: white;">The value of IF_ROW_STAT will be EXPORTED after process commits successfully.</span></li>
</ul>
<div>
<a href="http://eimtoolbox.blogspot.in/2012/07/eim-export-process-overview.html" target="_blank">To know more on export process, click here . . .</a>
</div>
<h4 style="text-align: left;">
<u><b>Delete Process</b></u></h4>
</div>
<div>
<div style="text-align: left;">
<ul style="text-align: left;">
<li><span style="background-color: white;">To delete any record from SIEBEL we will be using SIEBEL DELETE process.</span></li>
<li><span style="background-color: white;">EIM initializes the interface tables for deletion.</span></li>
<li><span style="background-color: white;">It applies filter logic to select rows for deleting. It select rows with matching user keys in the interface tables or deletes the records with the matching criteria as given in the IFB file.</span></li>
<li><span style="background-color: white;">EIM updates other tables with rows containing foreign keys that point to newly deleted rows.</span></li>
<li><span style="background-color: white;">Deletion process will delete/Update the corresponding records from tables where the ROW_ID of record is referred as foreign Key.</span></li>
<li><span style="background-color: white;">EIM uses a combination of interface table row contents and configuration file parameter values to determine the method for selecting rows to be deleted. </span></li>
<li>The following methods are supported</li>
</ul>
1) DELETE EXACT</div>
<div style="text-align: left;">
2) DELETE MATCHES</div>
<div style="text-align: left;">
3) DELETE ALL<br />
<br />
<a href="http://eimtoolbox.blogspot.in/2012/07/eim-delete-process-overview.html" target="_blank">To know more on delete process, click here . . .</a>
<br />
<span style="background-color: white;">
</span>
<h4 style="text-align: left;">
<span style="background-color: white;">
<b><u>Merge Process</u></b></span></h4>
<span style="background-color: white;">
</span>
<div>
<div style="text-align: left;">
<ul style="text-align: left;"><span style="background-color: white;">
<li><span style="background-color: white;">Merge process is basically meant for Merging the records.</span></li>
<li><span style="background-color: white;">During Merge Process we identify the Parent record and Child records to be merged.</span></li>
<li><span style="background-color: white;">All the references (ROW_ID) of Child records will be replaced by parent record and Child records will be deleted.</span></li>
<li><span style="background-color: white;">While Populating the EIM ,IF_ROW_MERGE_ID is used to distinguish between parent and child records by EIM process.</span></li>
<li><span style="background-color: white;">For Parent Record IF_ROW_MERGE_ID is kept NULL and for Child record, the ROW_ID (EIM tables) of parent is populated.</span></li>
<li><span style="background-color: white;">Can be used only to merge data from primary base table and not the secondary tables.</span></li>
</span></ul>
<a href="http://eimtoolbox.blogspot.in/2012/07/eim-merge-process-overview.html" target="_blank">To know more on merge process, click here . . .</a>
<br />
<ul style="text-align: left;"><span style="background-color: white;">
</span></ul>
</div>
</div>
<span style="background-color: white;">
</span></div>
</div>
</div>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-74904848337229574712012-07-25T17:20:00.000+05:302012-10-27T15:59:54.309+05:30Merge Process Parameters in IFB<div dir="ltr" style="text-align: left;" trbidi="on">
These are the parameters which are only applicable to EIM Merge process and are written with in the Process section in an IFB file used for merge process. They are :-<br />
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>SET BASED LOGGING</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">This parameter specifies whether to enable the set based logging.</span></li>
<li><span style="background-color: white;">When enabled, a separate log entry will be generated for all the rows in each table that were processed by EIM. This allows greater performance.</span></li>
<li><span style="background-color: white;">When disabled, each and every row processed by EIM will have an entry in the transaction table.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value is TRUE.</span></li>
<li><span style="background-color: white;">Example: SET BASED LOGGING = TRUE</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><a name='more'></a><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>UPDATE ROWS</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">This parameter specifies whether foreign references in the named table should be updated.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value is TRUE.</span></li>
<li><span style="background-color: white;">Example: UPDATE ROWS = S_CONTACT, FALSE</span></li>
<li><span style="background-color: white;">This above example restricts any update including the updating of foreign key references in the S_CONTACT table while performing the EIM Merge.</span></li>
<li><span style="background-color: white;">Care should be taken while setting FALSE value, because it might result in dangling foreign key references.</span></li>
</ul>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-63205176313654305982012-07-25T15:51:00.002+05:302012-10-27T16:03:36.618+05:30Delete Process Parameters in IFB<div dir="ltr" style="text-align: left;" trbidi="on">
These are the parameters which are only applicable to EIM Delete process and are written with in the Process section in an IFB file used for delete process. They are :-
<br />
<br />
<h4 style="text-align: left;">
<u><b>CASCADE DELETE ONLY</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that tells whether to delete the child records when a parent record is deleted.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value is FALSE.</span></li>
<li><span style="background-color: white;">If set to FALSE, EIM deletes the parent record and sets the foreign key column in the child records to NULL.</span></li>
<li><span style="background-color: white;">Example: CASCADE DELETE ONLY = TRUE</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><a name='more'></a><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>CLEAR INTERFACE TABLE</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies whether the existing rows for the particular batch number should be deleted.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value depends upon the type of delete being done.</span></li>
<li><span style="background-color: white;">For DELETE EXACT, default value is FALSE, for others, it is TRUE.</span></li>
<li><span style="background-color: white;">Example: CLEAR INTERFACE TABLE = FALSE</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>DELETE ALL ROWS</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies whether to delete all the rows from the base table.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value is FALSE.</span></li>
<li><span style="background-color: white;">Care should be taken while setting this parameter to TRUE in case of party EIM tables.</span></li>
<li><span style="background-color: white;">In case of party EIM tables, always use DELETE MATCHES when deleting records of particular party type.</span></li>
<li><span style="background-color: white;">Example: DELETE ALL ROWS = TRUE</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>DELETE EXACT</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">This parameter tells the EIM to use user key matching algorithm with rows in the EIM table to perform deletion.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value is FALSE.</span></li>
<li><span style="background-color: white;">Example: DELETE EXACT = TRUE</span></li>
<li><span style="background-color: white;">Always use this parameter to delete records from the non target base tables.</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>DELETE SKIP PRIMARY</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">This parameter tells whether to do a cascade update on the primary child column in the parent table.</span></li>
<li><span style="background-color: white;">If the primary address record is deleted, then the primary address column in the parent table is set to NULL, when this parameter is set to TRUE.</span></li>
<li><span style="background-color: white;">If set to FALSE, NO_MATCH_ROW_ID gets stored in the primary child column of the parent table.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value is TRUE.</span></li>
<li><span style="background-color: white;">Example: DELETE SKIP PRIMARY = FALSE</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>DELETE MATCHES</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies a conditional expression to select the records which has to be considered for deletion.</span></li>
<li><span style="background-color: white;">Example: DELETE MATCHES = S_ORG_EXT, (NAME LIKE “HP%”)</span></li>
<li><span style="background-color: white;">The literal specified inside the parentheses is the condition that occurs after the WHERE clause in any SQL statement.</span></li>
<li><span style="background-color: white;">This parameter can be used only to delete records from the target base table.</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>DELETE ROWS</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">This parameter specifies whether rows from the particular table should be deleted.</span></li>
<li><span style="background-color: white;">Example: DELETE ROWS = S_ADDR_ORG, FALSE ? This example restricts the deletion of records from the S_ADDR_ORG table.</span></li>
<li><span style="background-color: white;">Care should be taken while setting FALSE value, because it might result in dangling foreign key references.</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>UPDATE ROWS</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">This parameter specifies whether foreign references should be updated.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value is TRUE.</span></li>
<li><span style="background-color: white;">Example: UPDATE ROWS = S_CONTACT, FALSE</span></li>
<li><span style="background-color: white;">This above example restricts any update including the updating of foreign key references in the S_CONTACT table while performing the EIM Delete.</span></li>
<li><span style="background-color: white;">Care should be taken while setting FALSE value, because it might result in dangling foreign key references.</span></li>
</ul>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-81455093631290876922012-07-25T15:40:00.000+05:302012-10-27T16:01:36.021+05:30Export Process Parameters in IFB<div dir="ltr" style="text-align: left;" trbidi="on">
These are the parameters which are only applicable to EIM Export process and are written with in the Process section in an IFB file used for export process. They are :-
<br />
<br />
<h4 style="text-align: left;">
<u><b>ATTACHMENT DIRECTORY</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies the directory path to where the attachments have to be exported.</span></li>
<li><span style="background-color: white;">This directory path should exist on one of the Siebel server machine.</span></li>
<li><span style="background-color: white;">In case of remote machine, map the path to a drive and specify the drive name to this parameter.</span></li>
<li><span style="background-color: white;">Default value is <SIEBEL_HOME>\OUTPUT</span></li>
<li><span style="background-color: white;">Example: ATTACHMENT DIRECTORY = X:, Where X: is mapped to \\CRMDEV02\siebsrvr\OUTPUT</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><a name='more'></a><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>CLEAR INTERFACE TABLE</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies whether to remove the old records from the EIM table whose batch number corresponds to, as defined in the IFB file.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value is TRUE.</span></li>
<li><span style="background-color: white;">Example: CLEAR INTERFACE TABLE = FALSE</span></li>
<li><span style="background-color: white;">If this parameter is set to false, and some rows already exist in the EIM table for the specified batch, EIM will throw a warning.</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>EXPORT ALL ROWS</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">This parameter specifies whether to export all rows from the Siebel base tables that were mapped to the particular EIM table specified in the IFB file.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE. Default value is FALSE.</span></li>
<li><span style="background-color: white;">Example: EXPORT ALL ROWS = FALSE</span></li>
<li><span style="background-color: white;">When you do an export on party EIM tables, set this parameter to FALSE. If not EIM will export all party records.</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>EXPORT MATCHES</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">This parameter optionally specifies criteria that need to be satisfied before exporting the data from the base tables.</span></li>
<li><span style="background-color: white;">Example: EXPORT MATCHES = S_ORG_EXT, (NAME LIKE “HP%”)</span></li>
<li><span style="background-color: white;">The literal specified, is the condition that occurs after the WHERE clause in an SQL statement.</span></li>
</ul>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com3tag:blogger.com,1999:blog-7433852043797904257.post-11403175758568073212012-07-25T15:23:00.000+05:302012-10-27T15:58:28.802+05:30Import Process Parameters in IFB<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: left;">
<span style="background-color: white; font-weight: normal;">These are the parameters which are only applicable to EIM Import process and are written with in the Process section in an IFB file used for import process. They are :-</span><br />
<span style="background-color: white; font-weight: normal;"><br /></span></div>
<h4 style="text-align: left;">
<u><b>COMMIT OPERATIONS</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies the commit frequency while logging the transactions.</span></li>
<li><span style="background-color: white;">Value specifies the number of records processed before a commit is done.</span></li>
<li><span style="background-color: white;">Applicable only if DOCKING: TRANSACTION LOGGING is set in System Preferences.</span></li>
<li><span style="background-color: white;">Default value is 0, which means commit has to be made at the end of EIM process.</span></li>
<li><span style="background-color: white;">Example: COMMIT OPERATIONS = 100</span></li>
</ul>
<h4 style="text-align: left;">
<b><u><a name='more'></a><br /></u></b></h4>
<h4 style="text-align: left;">
<b><u>FILTER QUERY</u></b></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that lets the user to specify an SQL statement which filters the records that needs to be processed.</span></li>
<li><span style="background-color: white;">This query runs before the import process starts.</span></li>
<li><span style="background-color: white;">The IF_ROW_STAT column of those records that fails this query for the particular batch as specified in the process section will be set as “IMPORT_REJECTED”.</span></li>
<li><span style="background-color: white;">Example: FILTER QUERY = (IF_ROW_STAT <> “IMPORTED”)</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>IGNORE BASE COLUMNS</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies which base columns has to be ignored for the particular EIM process.</span></li>
<li><span style="background-color: white;">This parameter improves the EIM performance.</span></li>
<li><span style="background-color: white;">You should not ignore the user key columns or required columns.</span></li>
<li><span style="background-color: white;">Example: IGNORE BASE COLUMNS = S_ORG_EXT.HOME_PH_NUM</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>ONLY BASE COLUMNS</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies which base columns has to be considered for the particular EIM process.</span></li>
<li><span style="background-color: white;">This parameter improves the EIM performance.</span></li>
<li><span style="background-color: white;">You should include all the user key columns and required columns.</span></li>
<li><span style="background-color: white;">Example: ONLY BASE COLUMNS = S_ORG_EXT.NAME, S_ORG_EXT.LOC</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>UPDATE ROWS</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies whether to update the column values in the base table with that of in EIM table.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value is TRUE.</span></li>
<li><span style="background-color: white;">Example: UPDATE ROWS = S_ORG_EXT, FALSE</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>ATTACHMENT DIRECTORY</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies the directory path containing the attachments to be imported.</span></li>
<li><span style="background-color: white;">This directory path should exist on one of the Siebel server machine.</span></li>
<li><span style="background-color: white;">In case of remote machine, map the path to a drive and specify the drive name to this parameter.</span></li>
<li><span style="background-color: white;">Default value is <SIEBEL_HOME>\INPUT</span></li>
<li><span style="background-color: white;">Example: ATTACHMENT DIRECTORY = X: ,Where X: is mapped to \\CRMDEV02\siebsrvr\INPUT</span></li>
</ul>
<h4 style="text-align: left;">
<b><u><br /></u></b></h4>
<h4 style="text-align: left;">
<b><u>DEFAULT COLUMN</u></b></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that lets you to specify a value for the EIM table column.</span></li>
<li><span style="background-color: white;">This parameter applies only to Import process.</span></li>
<li><span style="background-color: white;">This value will be only used if the EIM table column is null.</span></li>
<li><span style="background-color: white;">Example: DEFAULT COLUMN = ACCNT_BU, “HP Americas”</span></li>
</ul>
<h4 style="text-align: left;">
<b><u><br /></u></b></h4>
<h4 style="text-align: left;">
<b><u>FIXED COLUMN</u></b></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that lets you to specify a value for the EIM table column.</span></li>
<li><span style="background-color: white;">This parameter applies only to Import process.</span></li>
<li><span style="background-color: white;">This value will be used overriding the value in the EIM table column if any.</span></li>
<li><span style="background-color: white;">Example: FIXED COLUMN = ACCNT_BU, “HP Americas”</span></li>
</ul>
<h4 style="text-align: left;">
<b><u><br /></u></b></h4>
<h4 style="text-align: left;">
<b><u>INSERT ROWS</u></b></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies whether to insert records into the particular base table or not.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value is TRUE.</span></li>
<li><span style="background-color: white;">Example: INSERT ROWS = S_ORG_EXT, FALSE</span></li>
<li><span style="background-color: white;">If the specified table is an EIM table, the value applies to all the base tables that were mapped to this EIM table.</span></li>
<li><span style="background-color: white;">Example: INSERT ROWS = EIM_ACCOUNT, FALSE</span></li>
</ul>
<h4 style="text-align: left;">
<b><u><br /></u></b></h4>
<h4 style="text-align: left;">
<b><u>MISC SQL</u></b></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">This parameter is used to specify the type of primary need to be set while updating the primary child.</span></li>
<li><span style="background-color: white;">Types of primaries are explicit primary and implicit primary.</span></li>
<li><span style="background-color: white;">If set as explicit primary, EIM will consider the record where the primary child column in the EIM table is set.</span></li>
<li><span style="background-color: white;">Example: MISC SQL = EXPR_S_POSTN_PR_EMP_ID</span></li>
<li><span style="background-color: white;">If set as implicit primary, the first child record of the parent as specified in the EIM table will be considered as child record.</span></li>
<li><span style="background-color: white;">Example: MISC SQL = IMPR_S_POSTN_PR_EMP_ID</span></li>
<li><span style="background-color: white;">In cases, we might tell EIM to use explicit primary whenever specified and implicit primary if not. This can be set as shown below.</span></li>
<li><span style="background-color: white;">MISC SQL = EXPR_S_POSTN_PR_EMP_ID, IMPR_S_POSTN_PR_EMP_ID</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>NET CHANGE</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies how to handle the non user key null columns in the EIM table.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value is TRUE.</span></li>
<li><span style="background-color: white;">If set to TRUE, the null values in the non user key null columns will be ignored.</span></li>
<li><span style="background-color: white;">If set to FALSE, the null values in the non user key null columns will be applied to the base tables also.</span></li>
<li><span style="background-color: white;">Example: NET CHANGE = FALSE</span></li>
<li><span style="background-color: white;">This parameter applies only to Import process.</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>TRIM SPACES</b></u></h4>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies whether to remove the trailing spaces from the column values before importing.</span></li>
<li><span style="background-color: white;">This parameter applies only to Import process.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value is TRUE.</span></li>
<li><span style="background-color: white;">Example: TRIM SPACES = FALSE</span></li>
</ul>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-7667240666186832062012-07-25T14:30:00.000+05:302012-10-27T16:07:14.881+05:30General Process Parameters in IFB<div dir="ltr" style="text-align: left;" trbidi="on">
These are the parameters which are common to all the EIM process (Import,Export,Delete,Merge) and are written with in the Process section in an IFB file. They are :-<br />
<br />
<h4 style="text-align: left;">
<u><b>BATCH</b></u></h4>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Required field that specifies the batch number, which is used to identify the set of records that should be considered for this EIM process.</span></li>
<li><span style="background-color: white;">This batch number corresponds to the number specified in the IF_ROW_BATCH_NUM column of the EIM table.</span></li>
<li><span style="background-color: white;">Valid values are 0 to 2147483647 (2<sup><span style="font-size: x-small;">31</span></sup> – 1).</span></li>
<li><span style="background-color: white;">Batch numbers can be specified in ranges or as a comma delimited format.</span></li>
<li><span style="background-color: white;">Example: BATCH = 100 – 110, BATCH = 100, 103, 120.</span></li>
<li><span style="background-color: white;">If batch number is specified wrongly in IFB file, the EIM throws an error stating, no records found for the stated batch number.</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><a name='more'></a><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>COMMIT EACH PASS</b></u></h4>
</div>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies whether the process needs to do a commit after every EIM passes.</span></li>
<li><span style="background-color: white;">Pass is defined as one SQL DML statement that got executed.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value of this parameter is TRUE.</span></li>
<li><span style="background-color: white;">This parameter should be set to FALSE while using in delete or merge process. Since it commits after each pass, and in case of any failures, the database is left corrupted with dangling foreign key references, etc…</span></li>
<li><span style="background-color: white;">Example: COMMIT EACH PASS = FALSE</span></li>
</ul>
<div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>COMMIT EACH TABLE</b></u></h4>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies whether the process needs to do a commit after processing each base table.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value of this parameter is TRUE.</span></li>
<li><span style="background-color: white;">This parameter should be set to FALSE while using in delete or merge process.</span></li>
<li><span style="background-color: white;">The reason behind this is, since it commits after each pass, and in case of any failures, the database will be left corrupted with dangling foreign key references, etc…</span></li>
<li><span style="background-color: white;">Example: COMMIT EACH TABLE = FALSE</span></li>
</ul>
</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>IGNORE BASE TABLES</b></u></h4>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies which base tables has to be ignored for the process for the particular EIM table.</span></li>
<li><span style="background-color: white;">This parameter improves the EIM performance.</span></li>
<li><span style="background-color: white;">Example: IGNORE BASE TABLES = S_PARTY_PER, S_ORG_BU</span></li>
</ul>
</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>INCLUDE</b></u></h4>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies which other sub-process needs to be included in the process in question.</span></li>
<li><span style="background-color: white;">Example: INCLUDE = Import Contacts</span></li>
</ul>
</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>LOG TRANSACTIONS</b></u></h4>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that tells whether to log transactions or not.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value depends on the DOCKING: TRANSACTION LOGGING parameter defined in the System Preferences.</span></li>
<li><span style="background-color: white;">Example: LOG TRANSACTIONS = FALSE</span></li>
</ul>
</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>ONLY BASE TABLES</b></u></h4>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies which base tables has to be considered for the process for the particular EIM table.</span></li>
<li><span style="background-color: white;">This parameter improves the EIM performance.</span></li>
<li><span style="background-color: white;">Example: ONLY BASE TABLES = S_PARTY, S_ORG_EXT, S_ADDR_ORG, S_ORG_BU, S_ACCNT_POSTN</span></li>
</ul>
</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>ROLLBACK ON ERROR</b></u></h4>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies whether a rollback has to be made if any failure occurs during the EIM process.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value is FALSE.</span></li>
<li><span style="background-color: white;">This parameter should be set to TRUE while using in delete or merge process. In case of any failure, the database will be roll backed to the last commit point and thus avoiding the database corruption.</span></li>
<li><span style="background-color: white;">Example: ROLLBACK ON ERROR = TRUE</span></li>
</ul>
</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>SESSION SQL</b></u></h4>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies a user defined SQL statement to be sent to database for execution before any other SQL statements.</span></li>
<li><span style="background-color: white;">This parameter can be used to set tracing for performance analysis.</span></li>
<li><span style="background-color: white;">Only one SESSION SQL parameter is allowed per process section.</span></li>
<li><span style="background-color: white;">This parameter cannot be used to insert or update any data in Siebel tables.</span></li>
<li><span style="background-color: white;">Example: SESSION SQL = "UPDATE EIM_CONTACT SET PP_START_DT = SYSDATE WHERE IF_ROW_BATCH_NUM = 200”</span></li>
</ul>
</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>SKIP BU_ID DEFAULT</b></u></h4>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies whether to use the default BU_ID defined in the repository.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">Default value is FALSE.</span></li>
<li><span style="background-color: white;">If set to FALSE, the BU_ID defined in the repository is used for BU_ID columns in the base tables.</span></li>
<li><span style="background-color: white;">If set to TRUE, the values set in the interface table is used.</span></li>
<li><span style="background-color: white;">This parameter is only limited to insert, delete and merge process, because the foreign key must be resolved for these processes.</span></li>
<li><span style="background-color: white;">Example: SKIP BU_ID DEFAULT = TRUE</span></li>
</ul>
</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>TABLE</b></u></h4>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Required parameter that specifies the EIM table to be used for the process.</span></li>
<li><span style="background-color: white;">Example: TABLE = EIM_ACCOUNT</span></li>
<li><span style="background-color: white;">For performance reasons, the number of tables should be limited to fewer than five for a merge or export process.</span></li>
</ul>
</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>TRANSACTION SQL</b></u></h4>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies a user defined SQL statement to be sent to database before other SQL statements are processed and immediately after every commit or rollback operation.</span></li>
<li><span style="background-color: white;">If both SESSION SQL and TRANSACTION SQL parameters are specified, the latter gets executed immediately after the former.</span></li>
<li><span style="background-color: white;">Only one TRANSACTION SQL parameter can be defined per process section.</span></li>
</ul>
</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>TYPE</b></u></h4>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Required parameter that specifies the type of EIM process.</span></li>
<li><span style="background-color: white;">Typical process types are IMPORT, EXPORT, MERGE, DELETE and SHELL.</span></li>
<li><span style="background-color: white;">SHELL process defines that this process has other sub-processes that needs to be executed.</span></li>
</ul>
</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>USE ESSENTIAL INDEX HINTS</b></u></h4>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter specified for MS SQL Server and Oracle databases.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">When set to TRUE, it enables a subset of index hints for MS SQL server.</span></li>
<li><span style="background-color: white;">Default value is TRUE.</span></li>
</ul>
</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>USE INDEX HINTS</b></u></h4>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter specified for Oracle databases only.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">When set to TRUE, EIM issues optimizer hints to the database in order to improve the performance.</span></li>
<li><span style="background-color: white;">Default value is FALSE.</span></li>
<li><span style="background-color: white;">Example: USE INDEX HINTS = TRUE</span></li>
</ul>
</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>USING SYNONYMS</b></u></h4>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Optional parameter that specifies whether to use the account synonyms during the import process.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALE.</span></li>
<li><span style="background-color: white;">Default value is TRUE.</span></li>
<li><span style="background-color: white;">In order to improve the performance, set this parameter value to FALSE, but care must be taken while specifying this parameter.</span></li>
</ul>
</div>
</div>
</div>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-34162949752448089532012-07-25T14:08:00.000+05:302012-10-27T16:09:30.517+05:30General Header Parameters in IFB<div dir="ltr" style="text-align: left;" trbidi="on">
These are the global parameters which are used in an IFB file and are written with in the Header section in an IFB file. They are :-<br />
<br />
<div>
<h4 style="text-align: left;">
<u><b>CONNECT</b></u>
</h4>
</div>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Specifies the ODBC source name of the database to be used</span></li>
</ul>
<h4 style="text-align: left;">
<b><u><br /></u></b></h4>
<h4 style="text-align: left;">
<b><u>LOG TRANSACTIONS TO FILE</u></b></h4>
</div>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">This parameter specifies whether the transactions to be logged to a file or docking transaction table.</span></li>
<li><span style="background-color: white;">Valid values are TRUE or FALSE.</span></li>
<li><span style="background-color: white;">If set to TRUE, the transaction details are logged into the directory <SIEBEL_FILE_SYSTEM>EIM.</span></li>
<li><span style="background-color: white;">If set to FALSE, the transaction details are logged into the S_DOCK_TXN_LOG table.</span></li>
<li><span style="background-color: white;">This parameter doesn’t make sense, if DOCKING: TRANSACTION LOGGING parameter in System Preferences is set to FALSE.</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><a name='more'></a><br /></b></u></h4>
<h4 style="text-align: left;">
<u><b>PASSWORD</b></u></h4>
</div>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Specifies the password that needs to be validated for running the EIM process.</span></li>
<li><span style="background-color: white;">If you have not specified this in Component Parameters, this needs to be specified in the IFB file.</span></li>
<li><span style="background-color: white;">Example: PASSWORD = SADMIN</span></li>
</ul>
<h4 style="text-align: left;">
<b><u><br /></u></b></h4>
<h4 style="text-align: left;">
<b><u>PROCESS</u></b></h4>
</div>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Identifies the process section that has to be executed defined in the IFB file.</span></li>
<li><span style="background-color: white;">Example: PROCESS = Import Organizations</span></li>
</ul>
<h4 style="text-align: left;">
<b><u><br /></u></b></h4>
<h4 style="text-align: left;">
<b><u>[Siebel Interface Manager]</u></b></h4>
</div>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">This is a special and mandatory keyword that needs to be specified, which tells the EIM task, that this particular file contains the parameters for EIM.</span></li>
</ul>
<h4 style="text-align: left;">
<b><u><br /></u></b></h4>
<h4 style="text-align: left;">
<b><u>TABLEOWNER</u></b></h4>
</div>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">This parameter specifies name of the user who owns the Siebel database tables.</span></li>
</ul>
<h4 style="text-align: left;">
<b><u><br /></u></b></h4>
<h4 style="text-align: left;">
<b><u>USER NAME</u></b></h4>
</div>
<div>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Specifies the logon name of the user for running the process.</span></li>
<li><span style="background-color: white;">If you have not specified this in Component Parameters, this needs to be specified in the IFB file.</span></li>
<li><span style="background-color: white;">Example: USER NAME = SADMIN</span></li>
</ul>
</div>
</div>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com1tag:blogger.com,1999:blog-7433852043797904257.post-71897506724632459232012-07-25T13:49:00.000+05:302012-10-27T16:12:17.026+05:30IFB Parameters for EIM<div dir="ltr" style="text-align: left;" trbidi="on">
The parameters used in an IFB are classified as follows:<br />
<ul style="text-align: left;">
<li><span style="background-color: white;">General Header Parameters.</span></li>
<li><span style="background-color: white;">General Process Parameters.</span></li>
<li><span style="background-color: white;">Import Process Parameters.</span></li>
<li><span style="background-color: white;">Export Process Parameters.</span></li>
<li><span style="background-color: white;">Delete Process Parameters.</span></li>
<li><span style="background-color: white;">Merge Process Parameters.</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>General Header Parameters</b></u></h3>
<div>
These are the global parameters which are used in an IFB file and are written with in the Header section in an IFB file. They are :-<br />
<ul style="text-align: left;">
<li><span style="background-color: white;">CONNECT</span></li>
<li><span style="background-color: white;">LOG TRANSACTIONS TO FILE</span></li>
<li><span style="background-color: white;">PASSWORD</span></li>
<li><span style="background-color: white;">PROCESS</span></li>
<li><span style="background-color: white;">[Siebel Interface Manager]</span></li>
<li><span style="background-color: white;">TABLEOWNER</span></li>
<li><span style="background-color: white;">USER NAME</span></li>
</ul>
<div>
<a href="http://eimtoolbox.blogspot.in/2012/07/general-header-parameters-in-ifb.html" target="_blank">To know more on general header parameters, click here . . .</a>
</div>
</div>
<h4 style="text-align: left;">
<u><b><a name='more'></a><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>General Process Parameters</b></u></h3>
<div>
These are the parameters which are common to all the EIM process (Import,Export,Delete,Merge) and are written with in the Process section in an IFB file. They are :-<br />
<ul style="text-align: left;">
<li><span style="background-color: white;">BATCH</span></li>
<li><span style="background-color: white;">COMMIT EACH PASS</span></li>
<li><span style="background-color: white;">COMMIT EACH TABLE</span></li>
<li><span style="background-color: white;">IGNORE BASE TABLES</span></li>
<li><span style="background-color: white;">INCLUDE</span></li>
<li><span style="background-color: white;">LOG TRANSACTIONS</span></li>
<li><span style="background-color: white;">ONLY BASE TABLES</span></li>
<li><span style="background-color: white;">ROLLBACK ON ERROR</span></li>
<li><span style="background-color: white;">SESSION SQL</span></li>
<li><span style="background-color: white;">SKIP BU_ID DEFAULT</span></li>
<li><span style="background-color: white;">TABLE</span></li>
<li><span style="background-color: white;">TRANSACTION SQL</span></li>
<li><span style="background-color: white;">TYPE</span></li>
<li><span style="background-color: white;">USE ESSENTIAL INDEX HINTS</span></li>
<li><span style="background-color: white;">USE INDEX HINTS</span></li>
<li><span style="background-color: white;">USING SYNONYMS</span></li>
</ul>
<div>
<a href="http://eimtoolbox.blogspot.in/2012/07/general-process-parameters-in-ifb.html" target="_blank">To know more on general process parameters, click here . . .</a>
</div>
</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>Import Process Parameters</b></u></h3>
<div>
These are those parameters which are only applicable to EIM <span style="background-color: white;">Import</span><span style="background-color: white;"> </span><span style="background-color: white;">process and are written with in the Process section in an IFB file used for import process.</span><span style="background-color: white;"> </span><span style="background-color: white;">They are :-</span><br />
<span style="background-color: white;"></span>
<br />
<ul style="text-align: left;">
<li><span style="background-color: white;"><span style="background-color: white;">COMMIT OPERATIONS</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">FILTER QUERY</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">IGNORE BASE COLUMNS</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">ONLY BASE COLUMNS</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">UPDATE ROWS</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">ATTACHMENT DIRECTORY</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">DEFAULT COLUMN</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">FIXED COLUMN</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">INSERT ROWS</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">MISC SQL</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">NET CHANGE</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">TRIM SPACES</span></span></li>
</ul>
<div>
<a href="http://eimtoolbox.blogspot.in/2012/07/import-process-parameters-in-ifb.html" target="_blank">To know more on import process parameters, click here . . .</a></div>
</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>Export Process Parameters</b></u></h3>
<div>
<div style="font-weight: normal;">
These are those parameters which are only applicable to EIM Export <span style="background-color: white;">process and are written with in the Process section in an IFB file used for export process.</span><span style="background-color: white;"> </span><span style="background-color: white;">They are :-</span></div>
<span style="background-color: white;"></span>
<br />
<ul style="text-align: left;">
<li><span style="background-color: white;"><span style="background-color: white;">ATTACHMENT DIRECTORY</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">CLEAR INTERFACE TABLE</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">EXPORT ALL ROWS</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">EXPORT MATCHES</span></span></li>
</ul>
<div>
<a href="http://eimtoolbox.blogspot.in/2012/07/export-process-parameters-in-ifb.html" target="_blank">To know more on export process parameters, click here . . .</a>
</div>
</div>
<div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>Delete Process Parameters</b></u></h3>
<div>
<div style="font-weight: normal;">
These are those parameters which are only applicable to EIM Delete <span style="background-color: white;">process and are written with in the Process section in an IFB file used for delete process.</span><span style="background-color: white;"> </span><span style="background-color: white;">They are :-</span></div>
<span style="background-color: white;"></span>
<br />
<ul style="text-align: left;">
<li><span style="background-color: white;"><span style="background-color: white;">CASCADE DELETE ONLY</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">CLEAR INTERFACE TABLE</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">DELETE ALL ROWS</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">DELETE EXACT</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">DELETE SKIP PRIMARY</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">DELETE MATCHES</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">DELETE ROWS</span></span></li>
<li><span style="background-color: white;"><span style="background-color: white;">UPDATE ROWS</span></span></li>
</ul>
<div>
<a href="http://eimtoolbox.blogspot.in/2012/07/delete-process-parameters-in-ifb.html" target="_blank">To know more on delete process parameters, click here . . .</a>
</div>
</div>
<div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>Merge Process Parameters</b></u></h3>
<div style="font-weight: normal;">
These are those parameters which are only applicable to EIM Merge <span style="background-color: white;">process and are written with in the Process section in an IFB file used for merge process.</span><span style="background-color: white;"> </span><span style="background-color: white;">They are :-</span></div>
</div>
</div>
<ul style="text-align: left;">
<li><span style="background-color: white;">SET BASED LOGGING</span></li>
<li><span style="background-color: white;">UPDATE ROWS</span></li>
</ul>
<div>
<a href="http://eimtoolbox.blogspot.in/2012/07/merge-process-parameters-in-ifb.html" target="_blank">To know more on merge process parameters, click here . . .</a>
<br />
<br /></div>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-43530032200262134602012-07-25T12:12:00.000+05:302012-10-27T16:16:59.231+05:30EIM Configuration File (IFB File)<div dir="ltr" style="text-align: left;" trbidi="on">
An EIM process reads a configuration file, where different kinds of parameters are set for an EIM process. The configuration file, in short IFB file, defines the type of process, EIM table involved, batch number, and lots of other parameters.<br />
<br />
An IFB file has two sections :-<br />
<ol style="text-align: left;">
<li>Header Section.</li>
<li>Process Section.</li>
</ol>
<h3 style="text-align: left;">
<u><b>Header Section</b></u></h3>
<div>
<div>
The header section defines the parameters that are common to all the processes defined in the file. </div>
</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>Process Section</b></u></h3>
<div>
<div>
The process section defines parameters which are specific to that particular section.</div>
</div>
<div>
<br />
<a name='more'></a>The IFB file is stored in the <SIEBSRVR>\ADMIN path, from where the EIM task reads. If this file is not stored in this directory prior running EIM task, the absolute path of the file has to be specified in the task. If not, an error will be thrown.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-Qpxr4HR5gpM/UA-UbXKQuoI/AAAAAAAAAJ0/ARa0Wr9Xg_U/s1600/ifb.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="http://1.bp.blogspot.com/-Qpxr4HR5gpM/UA-UbXKQuoI/AAAAAAAAAJ0/ARa0Wr9Xg_U/s400/ifb.JPG" width="550" /></a></div>
<br />
These EIM parameters used in an IFB are classified as follows:<br />
<ul style="text-align: left;">
<li>General Header Parameters.</li>
<li>General Process Parameters.</li>
<li>Import Process Parameters.</li>
<li>Export Process Parameters.</li>
<li>Delete Process Parameters.</li>
<li>Merge Process Parameters.</li>
</ul>
</div>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com3tag:blogger.com,1999:blog-7433852043797904257.post-91662922092592330082012-07-24T16:20:00.001+05:302012-10-27T17:19:31.881+05:30Temporary Columns in EIM Tables<div dir="ltr" style="text-align: left;" trbidi="on">
EIM tables (Interface tables) act as staging area which holds the data that has to be imported, data exported from the Siebel base tables, data to be deleted and that to be merged.
<br />
<br />
<div>
Every Siebel interface table has 4 types of temporary columns as defined below:</div>
<div>
<ul>
<li><span style="background-color: white;">UNQ column.</span></li>
<li><span style="background-color: white;">EXS column.</span></li>
<li><span style="background-color: white;">RID column.</span></li>
<li><span style="background-color: white;">STA column.</span></li>
</ul>
</div>
<div>
<div>
Each of the temporary columns has a naming format as follows: </div>
<blockquote class="tr_bq">
<span style="background-color: white;">" T_<base table without prefix S_>__<temporary column type> "</span></blockquote>
<div>
</div>
<div>
<b><span style="font-size: x-small;">Examples</span></b>: T_ORG_EXT__UNQ, T_ORG_EXT__EXS, T_ORG_EXT__STA, T_ORG_EXT__RID<br />
<br /></div>
<div>
There are few exceptions for this naming rule.<br />
<br /></div>
<div>
<b><span style="font-size: x-small;">Examples</span></b>: T_ACCNTPOST__STA, T_OPTYPOSTN__RID, T_PRODLNPOSTN__RID</div>
</div>
<h4 style="text-align: left;">
<u><b><a name='more'></a><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>UNQ column</b></u></h3>
<div>
<div>
The temporary columns that have suffix UNQ, stores Y or N values if the interface record’s user keys are not same as another interface record’s user keys in the same batch.</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>EXS column</b></u></h3>
</div>
<div>
<div>
The temporary columns that have suffix EXS, stores Y or N values if the interface record can be mapped to an existing base record (i.e. base record exists for the same user keys).</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>RID column</b></u></h3>
</div>
<div>
<div style="font-weight: normal;">
The temporary columns that have suffix RID, stores the ROW_ID of the record already existing in the base table or generated ROW_ID for new records in the interface table.</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>STA column</b></u></h3>
<div>
The temporary columns that have suffix STA, stores the pass number of the EIM process where it failed. Example: If the EIM process failed while processing a record in the S_ORG_EXT table, the temporary column T_ORG_EXT__STA is set the EIM pass number at that point of time.</div>
</div>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-78940034364477796112012-07-24T16:09:00.000+05:302012-10-27T17:21:01.710+05:30Siebel Interface Tables (EIM Tables)<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="background-color: white;">Interface tables act as staging area which holds the data that has to be imported, data exported from the Siebel base tables, data to be deleted and that to be merged. EIM process operates upon these tables and does the specified operation. </span><span style="background-color: white;">Every interface table has columns that get mapped to base tables, few mandatory columns and many temporary columns. The mandatory columns are mainly ROW_ID, IF_ROW_STAT and IF_ROW_BATCH_NUM.</span><br />
<span style="background-color: white;"></span><br />
The temporary columns are those that are used by EIM task to manipulate data values at run times. These temporary columns store the ROW IDs of records, status of the record, uniqueness of the records, whether the record already exists in the database. Some temporary columns store the ROW ID values of deleted, merged, exported rows.<br />
<br />
<a name='more'></a>Every interface table, while loading data into, has to satisfy certain prerequisites as stated below:<br />
<ul style="text-align: left;">
<li><span style="background-color: white;">Mandatory columns needs to be populated.</span></li>
<li><span style="background-color: white;">All the required columns has to be populated.</span></li>
<li><span style="background-color: white;">Populate the IF_ROW_BATCH_NUM with appropriate batch number.</span></li>
<li><span style="background-color: white;">Set the IF_ROW_STAT column with meaningful values.</span></li>
</ul>
<div>
<div>
<br />
Every Siebel interface table has 4 types of temporary columns as defined below:</div>
</div>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">UNQ column.</span></li>
<li><span style="background-color: white;">EXS column.</span></li>
<li><span style="background-color: white;">RID column.</span></li>
<li><span style="background-color: white;">STA column.</span></li>
</ul>
</div>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-30970420315200708992012-07-24T14:53:00.001+05:302012-10-27T17:23:33.085+05:30An Overview on EIM Functions and its requirements<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="background-color: white;">Siebel EIM can be used to achieve four kinds of functionality in which all the functions deal with the data directly. </span><span style="background-color: white;">The functions are :-</span><br />
<ul style="text-align: left;">
<li><span style="background-color: white;">Import new and revised data into Siebel Base Tables.</span></li>
<li><span style="background-color: white;">Export existing data from Siebel Base Tables.</span></li>
<li><span style="background-color: white;">Delete existing data from Siebel Base Tables.</span></li>
<li><span style="background-color: white;">Merge existing data in Siebel Base Tables.</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>Importing Data</b></u></h3>
<div>
<div>
Data importing comes into picture under following business requirements:</div>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Initial implementation of Siebel application (Loading product data from the legacy </span><span style="background-color: white;">database).</span></li>
<li><span style="background-color: white;">Maintaining the Siebel database in long run (Importing archived data).</span></li>
<li><span style="background-color: white;">Periodical updating of data into Siebel database from a non Siebel database.</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><a name='more'></a><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>Exporting Data</b></u></h3>
</div>
</div>
<div>
<div>
Data exporting is done under the following business requirements:</div>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Transferring Siebel data to a non Siebel applications.</span></li>
<li><span style="background-color: white;">Archival of data.</span></li>
</ul>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>Deleting Data</b></u></h3>
</div>
</div>
<div>
<div>
In the process of maintaining Siebel database, you will land up on certain requirements <span style="background-color: white;">where you need to delete the existing data like removal of obsolete data. </span></div>
<div>
<span style="background-color: white;">Ex: Obsolete </span><span style="background-color: white;">products.</span></div>
</div>
<h4>
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>Merging Data</b></u></h3>
<div>
<div>
Merging of data arises in situations where you need to de-duplicate (removal of duplicates) <span style="background-color: white;">the data.</span></div>
</div>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-67054195904112577332012-07-24T13:07:00.000+05:302012-10-27T17:26:45.353+05:30Data Flow in EIM<div dir="ltr" style="text-align: left;" trbidi="on">
Siebel EIM is server task that deals with the exchange of data between intermediary tables called interface tables and Siebel base tables.<br />
In Siebel, we should not populate data directly into the base tables. At first, we have to populate data from legacy (an external database or a flat file) into the interface tables (<span style="background-color: white;">EIM tables</span><span style="background-color: white;">) and then from the interface table to its corresponding base table by running the EIM job.</span><br />
<span style="background-color: white;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-jdY0NQ5sDGg/UA5FWGfcfrI/AAAAAAAAAJQ/omxVV29JTG4/s1600/dataflow.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="http://2.bp.blogspot.com/-jdY0NQ5sDGg/UA5FWGfcfrI/AAAAAAAAAJQ/omxVV29JTG4/s640/dataflow.JPG" width="550" /></a></div>
<h4 style="text-align: left;">
<b><u><a name='more'></a><br /></u></b></h4>
<h3 style="text-align: left;">
<b><u>Process Flow between EIM and Database</u></b></h3>
<div>
<ul style="text-align: left;">
<li><span style="background-color: white;">Data has to be loaded into EIM tables (Interface tables). This is applicable for import, </span><span style="background-color: white;">delete or merge operation. For export function, this step is not required.</span></li>
<li><span style="background-color: white;">Edit the EIM Configuration file. In short called as IFB file, this file defines the </span><span style="background-color: white;">parameters like type of EIM, the EIM table used, the batch number, etc…</span></li>
<li><span style="background-color: white;">Run the EIM task either through GUI or command line.</span></li>
<li><span style="background-color: white;">Verify the results. EIM generates log file for every task and you can use this log file </span><span style="background-color: white;">for debugging.</span></li>
</ul>
<br />
To populate the legacy data into the EIM tables, we use using third party tools like SQL Developer, Informatica etc. After populating EIM tables with the legacy data, we will run the EIM task and this makes use of the information stored in the IFB file to determine which sort of operations are to be performed, which all EIM tables are to be used and which all base tables are to be affected and so on. Once the EIM task is run successfully, the base table will be populated with the legacy data that has been loaded with in interface tables. Once the base tables gets populated with the data, it will be visible in application UI (User Interface).<br />
<br />
The below diagram depicts how the data from the legacy gets populated into Siebel base tables and visible in application UI.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-7ufo1Z7aUnI/UA5PpSX-JYI/AAAAAAAAAJc/SRXu8p7mLq0/s1600/dataflow1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="http://3.bp.blogspot.com/-7ufo1Z7aUnI/UA5PpSX-JYI/AAAAAAAAAJc/SRXu8p7mLq0/s640/dataflow1.JPG" width="550" /></a></div>
</div>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-62506042887991595002012-07-23T17:55:00.000+05:302012-10-27T17:33:21.912+05:30EIM Mandatory Columns<div dir="ltr" style="text-align: left;" trbidi="on">
For an EIM process to be successful , we must populate values in a certain set of columns.<br />
The Mandatory Columns in an EIM Process are :<br />
<ul style="text-align: left;">
<li>ROW_ID</li>
<li>IF_ROW_BATCH_NUM</li>
<li>IF_ROW_STAT</li>
<li>IF_ROW_MERGE_ID</li>
</ul>
<div>
<br />
In this set of four columns, IF_ROW_MERGE_ID is only mandatory when we are carrying out EIM Merge process. <span style="background-color: white;">So we can look on to these columns in detail and what data to be populated on these.</span></div>
<h4 style="text-align: left;">
<u><b><a name='more'></a><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>ROW_ID</b></u></h3>
<div>
This is the unique value assigned to each row in an EIM table. Each row in the EIM table will have a unique id. The important point to be noted is that ROW_ID values in EIM tables are not the ROW_ID values that will be assigned to a row when it is loaded in to the base table. ie, ROW_ID values in EIM and Base table for a corresponding record will not be same.</div>
<div>
While loading data into the EIM table, we usually assign this column with values from a sequence.</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>IF_ROW_BATCH_NUM</b></u></h3>
<div>
You must set the values in this column to the same integer, greater than or equal to 0, as an identifying number for all rows to be processed as a batch. The maximum value that can be assigned is 2147483647.<br />
For faster loading and easier debugging, we will split the data to be loaded into batches (generally we load with 5000 records in a batch) and we will populate IF_ROW_BATCH_NUM with corresponding batch number for a row to be loaded.<br />
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>IF_ROW_STAT</b></u></h3>
</div>
<div style="text-align: left;">
EIM updates this column after processing the rows to indicate the status of the record. The IF_ROW_STAT column is not used by EIM to determine which rows to process but to help us to track the status of the row processed. When populating the EIM tables, you can set this column to any value except NULL.</div>
<div style="text-align: left;">
In IMPORT process, if a row gets successfully imported, this will be stamped with value 'IMPORTED'. Like wise for DELETE process, it will be stamped with value 'DELETED' and for EXPORT process with value EXPORTED and so on.If the process fails, we can track the failure with error codes likes 'PICKLIST VALUE','FOREIGN KEY' stamped in IF_ROW_STAT column.</div>
<div style="text-align: left;">
During an EIM process is carried out on a row, this column will be stamped with '' which will be later on changed with status after process completion.</div>
<h4 style="text-align: left;">
<u><b><br /></b></u></h4>
<h3 style="text-align: left;">
<u><b>IF_ROW_MERGE_ID</b></u></h3>
<div>
You need to populate this column only when you are carrying out an EIM Merge process. You can set this column with one of the two values</div>
<div>
<ul style="text-align: left;">
<li>NULL :- This value identifies the surviving or merged-into-row. ie, the row stamped with IF_ROW_MERGE_ID as NULL value will be the parent record to which its child records are to be merged.</li>
<li>ROW_ID :- This value identifies the ROW_ID of the parent record in the EIM table where the rows will be merged. This value is the ROW_ID of the records in the EIM table, not the base tables.</li>
</ul>
</div>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-477298611439427142012-07-18T17:37:00.002+05:302012-10-27T17:37:46.266+05:30An Introduction to EIM<div dir="ltr" style="text-align: left;" trbidi="on">
EIM stands for Enterprise Integration Manager. Siebel EIM is a process provided by the Siebel CRM package, in order to import the legacy data, export, delete or merge existing data. It is a SIEBEL Component which is used for Data Migration from legacy as well as other Siebel systems. EIM is much fascinating and challenging as area in Siebel to work on.<br />
<h3 style="text-align: left;">
<b style="background-color: white;"><br /></b></h3>
<h3 style="text-align: left;">
<b style="background-color: white;">Why EIM:</b></h3>
Siebel has very unique and complicated Database structure which already has relationship defined between 'n' number of tables and hence it is not recommended to insert, delete or update data stored in what is known as Base Tables in Siebel. During migration, lot of things can happen which can lead to data integrity issues. To answer all those concerns Siebel has provided EIM.<br />
For most of base tables in Siebel, an EIM table is also in existence which allows you to play with data and perform thing that you normally wouldn’t want to perform on base tables. So, you can import-export data to and from EIM tables.<br />
<br />
EIM is mainly used :<br />
<ul style="text-align: left;">
<li><span style="background-color: white;">To Import bulk amounts of data from external sources to base table.</span></li>
<li><span style="background-color: white;">To Delete bulk amounts of data.</span></li>
<li><span style="background-color: white;">To Update bulk amounts of data.</span></li>
</ul>
<a name='more'></a><br />
We can perform following operations in EIM:<br />
a) Insert<br />
b) Update<br />
c) Merge<br />
d) Delete<br />
<br />
Once the data manipulation and scrubbing is complete, we can import that data in base tables. Siebel EIM component takes care of things like Foreign Key, Composite Keys, User Keys and also issues related with data integrity.<br />
<br />
The source of data can be dat files, CSV files or any other kind of legacy database. So as the process, we need to push data to these interface tables using third party tool like SQL Developer, Informatica etc and then have to migrate data to Siebel base tables using EIM component.<br />
<br />
Main Responsibilities of an EIM guy are:<br />
<ul style="text-align: left;">
<li><span style="background-color: white;">Identifying and creating mapping between EIM and Base Tables.</span></li>
<li><span style="background-color: white;">Cleansing of data to be imported.</span></li>
<li><span style="background-color: white;">Loading of data in EIM tables.</span></li>
<li><span style="background-color: white;">Running EIM batch job.</span></li>
</ul>
<br />
To be successful in EIM, one must be aware of basic understanding of SQL and should have interest in database. It is really a challenging job but only when you are ready to exhibit your dedication and hard work.</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com0tag:blogger.com,1999:blog-7433852043797904257.post-13677450103517096032012-07-18T15:03:00.000+05:302012-10-27T17:39:46.179+05:30Discussion Forum<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: large;">Lets discuss here and learn ourselves. This space is dedicated for discussions where you can comment your thoughts, ideas, experiences, queries on topics like Siebel EIM, SQL etc. </span>
</div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: large;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-HC4Mlo_2vLM/UBES6VfaIXI/AAAAAAAAAKA/am5-ad0S7Tg/s1600/discussion-boards.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-HC4Mlo_2vLM/UBES6VfaIXI/AAAAAAAAAKA/am5-ad0S7Tg/s1600/discussion-boards.jpg" /></a></div>
<div>
<div>
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">Also you can mail your queries, ideas, experiences, or feedback's to 'eimtoolbox@gmail.com' and i will post them in blog on your behalf.</span></div>
</div>
</div>
Varun Babuhttp://www.blogger.com/profile/15898496187876291570noreply@blogger.com2