Siebel EIM >  EIM Mandatory Columns

 


Mandatory Columns:
ROW_ID: Must be an unique value. It’s not the ROW_ID value
that is assigned to the row when it is loaded into the base table.
An EIM-generated ROW_ID has a ## - ### - ### format.
Seeking pattern: … LIKE '%-%-%'
IF_ROW_BATCH_NUM: Identify the records to be processed.
It should be greater than or equal to 0.
IF_ROW_MERGE_ID (Only for Merge Action)
null
row_id
IF_ROW_STAT. Default value: FOR_IMPORT. EIM updates this column
after processing the row to indicate the status of the record.
It’s not used before the execution.

 


In previous Siebel versions, it was necessary to launch EIM report
to detect the required fields depending on Base tables to be populated.
In latest versions, this functionality is not available any more in
basic Siebel installations. To know the required fields,
you can execute the “non-official” query:
IT.NAME = 'EIM_ADDR_PER‘ EIM table to generate the report
BT.NAME = 'S_ADDR_PER‘ Destination table
BC.REQUIRED = 'Y‘ Required field
There are 3 queries so you should modify the where clauses in every one!!
SELECT "Destination Table", "Destination Column",
NVL(TO_CHAR("UK", '99'), ' ') UK, "Req",
NVL("DType", ' ') "DType", NVL("DValue", ' ') "DValue",
SUBSTR("Destination Description", 1, 45) "Destination Description",
"Source Column",
DECODE("Data Type", 'C', 'Char', 'D', 'Date', 'N', 'Number',
'S', 'DateTime', 'T', 'Time', 'U', 'UTC DateT', 'V', 'Varchar',
'X', 'Text') "Data Type",
"Len", NVL("PC Intersect Table", ' ') "PC Intersect Table"
FROM (
SELECT DECODE(BT.ROW_ID, IT.TARGET_TBL_ID, '*', NULL) ||
BT.NAME "Destination Table",
BC.NAME "Destination Column", BC.USR_KEY_SEQUENCE "UK", BC.REQUIRED "Req",
DECODE(BC.TRANS_TABLE_ID, NULL,
DECODE(BC.LOV_BOUNDED, 'Y', 'LOVB',
DECODE(BC.LOV_TYPE_CD, NULL, NULL, 'LOV')), 'MLOV') "DType",
BC.LOV_TYPE_CD "DValue",
BC.USER_NAME "Destination Description", IC.NAME "Source Column",
IC.DATA_TYPE "Data Type", IC.LENGTH "Len", NULL "PC Intersect Table"
FROM siebel.S_COLUMN IC, siebel.S_COLUMN BC, siebel.S_EIM_ATT_MAP MA,
siebel.S_TABLE BT, siebel.S_EIM_TBL_MAP MT, siebel.S_TABLE IT,
siebel.S_REPOSITORY R
WHERE
MA.IFTAB_DATA_COL_ID = IC.ROW_ID
AND MA.BTAB_ATT_COL_ID = BC.ROW_ID
AND MA.INACTIVE_FLG = 'N'
AND MT.ROW_ID = MA.EIM_TBL_MAP_ID
AND MT.DEST_TBL_ID = BT.ROW_ID
AND MT.INACTIVE_FLG = 'N'
AND IT.ROW_ID = MT.IF_TBL_ID
AND IT.NAME = 'EIM_ADDR_PER'
AND BT.NAME = 'S_ADDR_PER'
AND BC.REQUIRED = 'Y'
AND R.ROW_ID = IT.REPOSITORY_ID
AND R.NAME = 'Siebel Repository'
UNION
SELECT DECODE(BT.ROW_ID, IT.TARGET_TBL_ID, '*', NULL) || BT.NAME "Destination Table",
BC.NAME "Destination Column", BC.USR_KEY_SEQUENCE "UK", BC.REQUIRED "Req",
'PC' "DType", FT.NAME "DValue",
BC.USER_NAME "Destination Description", IC.NAME "Source Column",
IC.DATA_TYPE "Data Type", IC.LENGTH "Len", ITS.NAME "PC Intersect Table"
FROM siebel.S_COLUMN IC, siebel.S_TABLE BT, siebel.S_TABLE FT, siebel.S_COLUMN BC,
siebel.S_EIM_EXPPR_MAP ME, siebel.S_TABLE ITS,
siebel.S_EIM_TBL_MAP MT, siebel.S_TABLE IT, siebel.S_REPOSITORY R
WHERE
ME.IFTAB_PRFLG_COL_ID = IC.ROW_ID
AND BC.TBL_ID = BT.ROW_ID
AND BC.FKEY_TBL_ID = FT.ROW_ID
AND ME.BTAB_PC_COL_ID = BC.ROW_ID
AND ME.INACTIVE_FLG = 'N'
AND MT.ROW_ID = ME.EIM_TBL_MAP_ID
AND MT.DEST_TBL_ID = ITS.ROW_ID
AND MT.INACTIVE_FLG = 'N'
AND IT.ROW_ID = MT.IF_TBL_ID
AND IT.NAME = 'EIM_ADDR_PER'
AND BT.NAME = 'S_ADDR_PER'
AND BC.REQUIRED = 'Y'
AND R.ROW_ID = IT.REPOSITORY_ID
AND R.NAME = 'Siebel Repository'
UNION
SELECT DECODE(BT.ROW_ID, IT.TARGET_TBL_ID, '*', NULL)
|| BT.NAME "Destination Table",
BC.NAME "Destination Column", BC.USR_KEY_SEQUENCE "UK", BC.REQUIRED "Req",
'FK' "DType", FT.NAME "DValue",
BC.USER_NAME "Destination Description", IC.NAME "Source Column",
IC.DATA_TYPE "Data Type", IC.LENGTH "Len", NULL "PC Intersect Table"
FROM siebel.S_COLUMN IC, siebel.S_TABLE FT, siebel.S_COLUMN BC,
siebel.S_EIM_FK_MAPCOL MFC, siebel.S_EIM_FK_MAP MF,
siebel.S_TABLE BT, siebel.S_EIM_TBL_MAP MT, siebel.S_TABLE IT,
siebel.S_REPOSITORY R
WHERE
MFC.IFTAB_COL_ID = IC.ROW_ID
AND BC.FKEY_TBL_ID = FT.ROW_ID
AND MF.FK_COL_ID = BC.ROW_ID
AND MFC.INACTIVE_FLG = 'N'
AND MF.ROW_ID = MFC.EIM_FK_MAP_ID
AND MF.INACTIVE_FLG = 'N'
AND MT.ROW_ID = MF.EIM_TBL_MAP_ID
AND MT.DEST_TBL_ID = BT.ROW_ID
AND MT.INACTIVE_FLG = 'N'
AND IT.ROW_ID = MT.IF_TBL_ID
AND IT.NAME = 'EIM_ADDR_PER'
AND BT.NAME = 'S_ADDR_PER'
AND R.ROW_ID = IT.REPOSITORY_ID
AND R.NAME = 'Siebel Repository'
AND BC.REQUIRED = 'Y'
ORDER BY "Destination Table", "UK", "Req" DESC,
"Destination Column", "Source Column");