Siebel Repository tables

Siebel Repository tables

 

Siebel Repository refers to set of tables in which Siebel object definition and scripts are stored. These tables store meta data about Siebel Objects and also contain the configuration information shown in Siebel Tools

 

S_APPLET     : Stores Siebel Applets information

S_BUSCOMP  : Stores Siebel Business Component Information

S_FIELD       : Stores all the Field details

 

Situation: Generate a report with all the active BC Fields and their corresponding Table/Column/Data Type/Length. Doing this manually in Siebel Tools is a monotonous and tedious task and it will take lot of time to complete it.

 

Solution  : Directly querying on the Siebel Repository tables which would yield the desired output. Please find below sample query for Account BC

 

SELECT  FIELD.NAME"BC Field Name",FIELD.join_name "Join Name",NULL"Table_Name",field.col_name "Column Name",decode(TEMP.COLTYPE,'V','Varchar','U','UTC Date Time','D','Date','C','Char','X','Long','T',' DateTime','N','Number','L','Clob','S','Date Time')"Data TYPE",TEMP.COLLENGTH "Length"

FROM

SIEBEL.S_REPOSITORY REP,

SIEBEL.S_BUSCOMP BC,

SIEBEL.S_FIELD FIELD,

(selectdistincttab.name"TNAME",col.name"COLNAME",col.data_type "COLTYPE",col.length"COLLENGTH"from

siebel.s_table tab,

siebel.s_column col,

siebel.s_repository rep

where

tab.REPOSITORY_ID=REP.ROW_ID AND

REP.NAME='Siebel Repository'  and

col.tbl_id=tab.row_id and

tab.namelike'S_%')temp

WHERE

field.col_name =temp.COLNAME(+)and

field.join_name=temp.TNAME (+)and

field.inactive_flg='N'and

field.col_name isnotnulland

FIELD.BUSCOMP_ID=BC.ROW_ID AND

BC.NAME='Account'  AND

BC.REPOSITORY_ID=REP.ROW_ID AND

REP.NAME='Siebel Repository'

 

Note : The above SQL query is a sample one and based on individuals requirement query should be tuned to get the required data from Repository tables

Tags