Somebody asked me this question a few days ago, what is the base table for Accounts? I instinctively said S_ORG_EXT usually that is end of the story but this time around I was asked a follow-up question, How do you know it is S_ORG_EXT? Usually the answer to this question is, “From Siebel Tools” but as most of you already know, in case of Accounts the table that is mentioned as base table is S_PARTY. So, the question was repeated “How do you know?”. This time I tried bunch of explanations such as experience, Implicit join and through SQL queries that I have run to fetch data for this Business Component.
This question holds true for every entity based on S_PARTY table. How do you know the base table for Contact is S_CONTACT?
When I was initially asked this question I didn’t think there would be a proper answer to this question. I thought this question is very similar to questions such as
What are advantages of Siebel Party Model or Why did Siebel choose Party Model?
The answer to these questions are subjective and based on understanding of each person. But to my surprise the base table question actually has a simple answer i.e. if you know it.
The answer to this question is a user property named “Inner Join Extension Table n”. This user property tells the Siebel which table to use as a extension table for a particular business component based on party model. All the business component based on S_PARTY model have this user property defined and you can define more than one tables to be used as extention tables, for example Employee business component has 3 instances of this user property defined
Certainly an interesting fact to know. What do you think?