Configuring Siebel Business Applications > About Business Components, Fields, Joins, and Links > About Joins >
Guidelines for Creating a Join
If you create a join, then use the following guidelines:
- Only use a join if the join retrieves no records or only one record. For example, use a join to retrieve the primary Account for an Opportunity.
- Only create a join if the business component does not already include a join to a specific table that includes the data you require, and if a foreign key value exists between the base table of the business component and the joined table.
- Only create a join if the foreign key value is stored in a field that is not already defined as a source in a predefined join.
- If you use the Alias property to create an alias for each join, then a business component can include more than one join that references the same destination table. For example, the Action business component includes two joins that reference the S_CONTACT table. The Owner join retrieves the person who created the activity. The Primary Contact join retrieves the contact that is associated with the activity.
- Make sure the Alias property of the join is unique even though the destination table is the same. Do not use the table name as the Alias name, even though this is common in the predefined Siebel repository. An implicit join uses the table name as the Alias to make sure that the name of the explicit join is not used. To make sure that no conflict exists, you must always create a unique alias name for the join.
Guidelines for Creating a Join That Does or Does Not Involve a Party Table
If you create a join that does or does not involve a party table, the use the following guidelines:
- If you bring party data to a non-party business component, then create a new join where the join specification references PAR_ROW_ID.
- If you bring party data to a party business component, then use the appropriate explicit join.
- If you map fields in a party business component, then use the implicit join for the extension table.
- If a join references a table that is a party table, then you must display the foreign key value as the source field. However, unlike a join to a table that is not a party table, the destination column must reference the PAR_ROW_ID column in the joined table.
- If a join references a table that is not a party table, then you can update only the column that the field in the parent business component that contains the foreign key value references. You must define the following objects:
- The joined table.
- The join specification. The source field property must reference the parent business component that stores the foreign key value. The destination column property must reference the child table, which is usually ROW_ID.
For more information, see How the S_Party Table Controls Access.