Tuesday, May 24, 2011

Inner Join Extension Table - User Property

Party business components are fundamental element of the application architecture. They are like piece of beautifully composed music crystallized together in order to reflect the complexities in business environment. Party model helps in the grouping of data according to business logic. The primary difference
between Party and Non-Party BC's is in the manner data is stored. For Non-Party BC's data is primarily stored in base tables while for party BC data is stored in extension tables. There are 8 prominent extension tables used for party data storage.

Now the question surfaces is how siebel determines which extension table to be used for Person-related BC or which extension table should be used for Organization-related BC. Where this mapping in the Account or Contact BC is given that decides which extension table to use? Answer lies in the Buscomp user properties. "Inner Join Extension Table n" user property specifies an extension table to S_PARTY for which the join to the extension table is an inner join. We can have multiple tables that are implicitly joined to S_PARTY extension table. Employee and Organization are examples of multiple extension tables.

Once we have discovered the source between S_PARTY and its extension tables how about creating Custom Party types(Bookshelf gives warning for these types though). A curious case here is can i create a custom table and use it as an extension table for my custom party type using this user property. Well, lets try this and extend the party group.

Happy Party-ing!!

5 comments:

Anuradha said...

There are few BCs in Siebel Tool which are based on S_PARTY but for them "Inner Join Extension Table n" is balnk. Could you please explain about it.

Siebelish said...

I couldn't find any BC for which this user property is set to blank. I queried in flat tab under BusComp user properties object. Can you help with exact BC name.

Regards,
-Rahul-

Anuradha said...

Most of the BCs related to "Territory Management" Project based on S_PARTY e.g TM Account, TM Contact etc. Query on BCs with Table S_PARTY and Project as Territory Management

Regards
Anuradha

Siebelish said...

You will observe one thing here is for most of these BC's No Insert is set to false and for which this is not false they are based on special class(TM Position). Most of them are not being used for record insertion, that may be a reason this user property is not required here. Good catch though.

Regards,
-Rahul-

Siebelish said...

To top that we have some BC's Territory Account Mapping,Territory Contact Mapping and Territory Position Mapping where No Insert is False but you will see here User Property is defined.

Regards,
-Rahul-