Configuring Siebel Business Applications > About Tables and Columns > About Siebel Tables >

How the S_Party Table Controls Access

The party model organizes entities such as Person, Organization, Position, and Household. A party always represents a single person or a group that Siebel CRM can translate to a set of people, such as a company or a household. Siebel data access technology uses the Party model. Certain parts of the data objects layer use the Party model to abstract the difference between people, companies, households, and other legal entities. This model covers relationships between your company and people, such as contacts, employees, partner employees, and users, and other businesses, such as accounts, divisions, organizations, and partners. The S_PARTY table is the base table for this access. The Siebel schema implicitly joins related tables as extension tables.

Table 9 lists the extension tables and their corresponding EIM interface tables. A party table is a table that holds party data. Some example party tables include S_CONTACT, S_ORG_EXT, S_USER, and S_POSTN.

Table 9. S_PARTY Extension Tables and Corresponding EIM Interface Tables
Data Type
Extension Table to S_PARTY
EIM Interface Table




Business Units


















Because the Siebel schema implicitly joins these extension tables to the S_PARTY table, they are available through the S_PARTY table.

The PARTY_TYPE_CD column of the S_PARTY table supports the following types:

  • AccessGroup
  • Household
  • Organization
  • Person
  • Position
  • UserList

Guidelines for Using the S_PARTY_PER and S_PARTY_REL Tables

The predefined S_PARTY_PER and S_PARTY_REL intersection tables create a many-to-many relationship between party business components, such as Account and Contact. Which table you use depends on if you must or must not enforce access control.

Use the S_PARTY_PER table to create a many-to-many relationship between two party business components where you must create access control. Records in the S_PARTY_PER table provide data access rights from the parent to the child parties. However, to maintain a good response time with a query that is constrained by visibility, you must minimize the number of rows in the S_PARTY_PER table. Therefore, if you create a many-to-many relationship where you do not require access control, such as if you create a recursive many-to-many relationship between a party business component and itself, then use the S_PARTY_REL table.

For example, use the S_PARTY_PER table to create a relationship between the following members:

  • Access groups and members
  • Accounts and contacts
  • Employees and positions
  • User lists and users

If you must customize tables in the party model, then you must create an extension table from the S_PARTY table. For example, S_CONTACT is an extension table of the S_PARTY table. Because the S_CONTACT table is an Extension (Siebel) type, you cannot use it as a base table for an extension table. You must create an extension table and use the S_PARTY table as the base table. To display data from the new extension table, create an explicit join to bring in data from the new extension table to the business component you are using.

For more information about the party model, see Siebel Security Guide.

Configuring Siebel Business Applications Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Legal Notices.