Wednesday, February 10, 2010

SBL-EIM-00205: NULL target table for relation

Hi Friends,

You can encounter SBL-EIM-00205: NULL target table for relation error while running an EIM Job in Siebel 8.0!
This issue is peculiar to Siebel 8.0 & above as this is caused to erroneous EIM Mapping when you have enabled Case Insensitivity (CIAI) on one of your base table columns.

When you enable CIAI (Case Insensitivity Accent Insensitivity) on one of your base table columns which has indexes on it, it will create another column corresponding to it & create CIAI indexes on the same to achieve the functionality.

For e.g. If you have created a new column on S_ORG_EXT say Column X_A having indexes on it & then you enable CIAI on it, it will create a another column called X_A_CI & create CIAI index on top of it. So internally whenever in application you query on column A, it will be driven by the CIAI Column created & the index associated to it.

This is good to achieve Case Insensitive & Accent Insentive stuff on a column, but when you move forward & run the EIM Column Mapping Wizard as its a new column, it will create mappings for both, i.e. Column X_A & Column X_A_CI in the EIM Mapping!

This mapping of X_A_CI column creates an issue with EIM which causes it to fail with SBL-EIM-00205 error!
In order to resolve this, you will need to manually delete the X_A_CI column mapped into the EIM Table  [EIM_ACCOUNT (For S_ORG_EXT)].


Delete this mapping & apply EIM table changes on the table & then do a DDLSYNC on the server. Delete eimcolrelcache.dat & diccache.dat before restarting the server.
Once the server is up, try running your EIM Job, it should no longer fail with SBL-EIM-00205 error. Also this has been acknowledged as a bug, so lets wait for Siebel to fix it. Until then this is the only workaround available.

Enjoy!

References:
How to DDLSync?
How to run CIAI wizard?
How to run EIM Column Mapping Wizard?


Keywords:
siebel crm,siebel customer relationship management,siebel solutions,siebel support,siebel supportweb,siebel systems, EIM, EIM Mapping, Extend Base Table, Enterprise Integration Manager, CIAI, Case Insensitive, Accent Insensitive, SBL-EIM-00205, etc

Tuesday, February 09, 2010

How to run EIM Mapping Wizard?

Hi Friends,

Its a common activity where in you extend a base table for your customization requirements & then also need the same column available for data loading using Siebel EIM (Enterprise Integration Manger).

Here, i will walk you through simple steps to run EIM Mapping Wizard. For our example i have extended a column in S_ORG_EXT & want to map the same in EIM_ACCOUNT.

Steps:
1) Lock EIM_ACCOUNT & S_ORG_EXT Projects in your Siebel Tools
2) Go to S_ORG_EXT Table from object explorer in Tools & right click the same to select EIM Table Mapping:


3) Now, Interface Table Mapping Wizard opens up which shows all the EIM tables to which S_ORG_EXT has been associated. Since we want to map our new column in EIM_ACCOUNT, select EIM_ACCOUNT from the list & then click Next:

4) Moving ahead, click finish to let the Mapping Wizard actually map the columns in EIM_ACCOUNT Table:
 

  

  

5) As you saw above the EIM Table mapping has completed successfully. Now in order to reflect the same physically in your database, either go to EIM_ACCOUNT in Tools & use the "Apply" feature or do a DDLSYNC.

This completes the EIM Mapping. Its short & simple!

References:

Keywords:
siebel crm,siebel customer relationship management,siebel solutions,siebel support,siebel supportweb,siebel systems, EIM, EIM Mapping, Extend Base Table, Enterprise Integration Manager, etc

Monday, February 08, 2010

How to enable CIAI in Siebel?

Hi Friends,

I hope you have been aware of the new CIAI (Case Insensitive Accent Insensitive) feature from Siebel 8.0 onwards. If not, i would like to quickly point you to its features at: http://download.oracle.com/docs/cd/B40099_02/books/ConfigApps/ConfigApps_TablesColumns13.html#wp1079774

Considering you have a fair bit of idea now, i would like to proceed ahead & demonstrate how to actually enable CIAI for one particular column in a base table which already have preexisting indexes (a common scenario):

1) Here is what i am doing, i have a column named "X_A" on S_ORG_EXT with a pre-existing index on it.

2) I have locked my S_ORG_EXT Table project in Tools. Then right click on the column X_A & select Case Insensitivity:

3) Now a configure Case Insensitivity Wizard opens up:


4) If you carefully observe, the Index Strategy is "Copy All" which means we have pre-existing indexes on this column due to which a new column & CIAI index will be created on the same:

 

5) When you click Finish, the wizard creates a new column & its associated index:


6) This finishes your CIAI stuff for the column A in your repository.
7) Moving ahead, apply this Table changes physically on the Database by either using the "Apply" feature from Tools or doing a DDLSYNC.
8) Once the physical application on the database is complete, you can restart your server & have a fresh compiled SRF to test out the CIAI changes.

Enjoy!

References:
How to run DDLSYNC?

Keywords:
siebel crm,siebel customer relationship management,siebel solutions,siebel support,siebel supportweb,siebel systems, CIAI, Case Insensitive, Accent Insensitive, etc