Monday, 03 February 2014
Enterprise Integration Manager
In version 8.1 of Siebel I encountered the following problem when performing a load on S_ASSET_POSTN through EIM_ASSET.
It turns out that the following mapping bug in “Foreign Key Mapping Columns” comes from the box (not yet resolved in the latest patch of 8.1):
The error is that in the mapping to load the foreign key S_ASSET_POSTN. POSITION_ID, the PSTN_OU_LOC column points to OU_ID/NAME and the PSTN_OU_NAME column points to OU_ID/LOC, that is, they are swapped.
As a workaround, you can:
1. Load these columns also interchangeably when inserting the data into the EIM_ASSET, or
2. Once the data is loaded, move the data from one column to the other:
- UPDATE EIM_ASSET SET “column C”=PSTN_OU_LOC WHERE IF_ROW_BATCH_NUM=$ifrowbatchnum
- UPDATE EIM_ASSET SET PSTN_OU_LOC=PSTN_OU_NAME WHERE IF_ROW_BATCH_NUM=$ifrowbatchnum
- UPDATE EIM_ASSET SET PSTN_OU_NAME=”column C” WHERE IF_ROW_BATCH_NUM=$ifrowbatchnum
- UPDATE EIM_ASSET SET “column C”=null WHERE IF_ROW_BATCH_NUM=$ifrowbatchnum
- Commit
where “column C” is any other column of EIM_ASSET that can serve as support to make the exchange of information between both columns.
If we want to solve the problem definitively, we can edit the mapping (through tools you can’t) directly in the xml result of exporting to .sif:
1. In Tools/Object Explorer/Table/”Add to Archive”
Enter your text here …
2. Open the .sif in xml format
3.We identify the “FOREIGN_KEY_MAPPING_COLUMN” section and look for the two columns involved.
4. We edit the XML so that each column maps to the base table column correctly (without forgetting the lengths as discussed in the EIM entry in custom tables. Part I)
5. Save the new .sif and import it, overwriting the previous configuration of EIM_ASSET
From here, the usual steps of apply, compile the tables involved, regenerate the diccache.dat and voila, the S_ASSET_POSTN load through EIM_ASSET works.

