Showing posts with label EIM. Show all posts
Showing posts with label EIM. Show all posts

Wednesday, June 25, 2008

EIM : Handling EIM process failures

Imagine this scenario, you are deleting a large number of contacts and you process aborts somewhere during the process. If you are using default parameters in process IFB, you can be in a lot of trouble. Why? EIM have this 3 parameters

COMMIT EACH PASS = TRUE
COMMIT EACH TABLE = TRUE
ROLLBACK ON ERROR = FALSE
whith this defaults, this means that after deleting a table a commit is performed. And no rollback is performed. this can leave you with "orphan" records.
To avoid this, just change your parameters to
COMMIT EACH PASS = FALSE
COMMIT EACH TABLE = FALSE
ROLLBACK ON ERROR = TRUE
This ensures that EIM will either complete sucessfully or rollback the batch.

Just one note, be sure that your database resources are large enough to handle this transaction.

Thursday, January 17, 2008

EIM : Session SQL

When using EIM to delete,update or insert data, you can perform some post execution operations. Just use SESSION SQL keyword in your IFB, this allow you to execute a query after EIM section ends is execution.
You can read more about it here.

Monday, January 14, 2008

EIM : How to populate S_EVT_ACT contact columns.

This was my last task, populate primary contact columns (target_per_id and pr_con_id) in activities table (s_evt_act). So, I start looking for some eim table to do my job, and after looking my entire references I didn't find one.
And why didn't I found one? Because, there are no explicit way to do it. So what you have to do is :

  1. Populate s_act_contact intersection table with the desired pair activity/contact using EIM_ACTIVITY1.
  2. Set ACT_TARGET_PER and ACT_PR_CON (in EIM table) to 'Y'.
  3. Run EIM task.

Internally EIM will implicitly fill s_org_ext columns for you. Below you can find an ifb excerpt that do what we desire.

[Update Activities]TYPE = IMPORT
BATCH = 4511
TABLE = EIM_ACTIVITY1
ONLY BASE TABLES = S_EVT_ACT,S_ACT_CONTACT

Wednesday, November 21, 2007

EIM : DUP_RECORD_EXISTS after Update

This status happens after running an EIM update process with lines that match exactly the lines being updated in base table.

Friday, November 16, 2007

EIM : Shell execution order

When running an EIM process with a shell type process section, it will be executed from top to bottom. In this example, first process to run will be Assess followed by Contact.

[Siebel Interface Manager]
PROCESS = P1
USER NAME = "XXXX"
PASSWORD = "XXXX"

[Lancar]
TYPE=SHELL
INCLUDE = "ASSESS"
INCLUDE = "CONTACT"

[CONTACT]
TYPE = DELETEBATCH = 3999
TABLE = EIM_CONTACT
ONLY BASE TABLES = S_PARTY,S_CONTACT
DELETE MATCHES = S_CONTACT, (COLUMN= 'DELETED')

[ASSESS]
TYPE = DELETE
BATCH = 3998
TABLE = EIM_ASSESS
ONLY BASE TABLES = S_ASSESS,S_ASSESS_VAL
DELETE MATCHES = S_ASSESS, (COLUMN = 'DELETED')

Wednesday, October 31, 2007

Error 452: Match column X not found in Y

Today I had to create a new column in EIM_CONTACT table, to build a new attribute mapping for deletion purposes. All went fine until I test my EIM task.

Error 452: Match column X_COLUMN not found in S_CONTACT.

I run trough all my steps to find what's wrong in it. All seems to be in perfect shape. My next step was to loose some time reading bookshelf and Siebel support SR's. Nothing came across that helped me to solve my problem.

Last step in problem resolution algorithm, ask for help. Allways work!!

My colleague João had the solution, Siebel caches EIM mappings in \siebsrvr\BIN\diccache.dat, all we have to do is delete this file and Siebel will build a new one for you (with your new mappings).

Finally, I successfully ran my EIM process.