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");
|