Configuring Siebel Business Applications > Configuring Business Components, Links, and Business Objects > Configuring a Link >

Creating an Association Between One Parent and Multiple Child Records


If you create a link and an intersection table that creates a many-to-many relationship between a parent business component and a child business component, then Siebel CRM can only associate two business component records at one time even if the unique keys in the intersection table allow multiple associations. The link between the two business components only considers the ROW_ID values of the parent and child records that Siebel CRM requires to maintain the many-to-many relationship. This behavior is expected.

An intersection business component is a type of business component that references an intersection table and a one-to-many link between the parent business component and the intersection business component. You can use it to create multiple associations between one parent and multiple child records. The child list applet or multi-value group applet references the intersection business component. To choose the child record, the user accesses a pick applet that references the child business component instead of using an association applet.

For more information, see How an Intersection Table Defines a Many-To-Many Relationship.

To create an association between one parent and multiple child records

  1. In Siebel Tools, in the Object Explorer, click Business Component.
  2. In the Business Components list, query the Name property for Account.

    This example describes how to configure an intersection business component with the Account business component.

  3. In the Object Explorer, expand the Business Component tree, and then click Field.
  4. In the Fields list, add a new field using values from the following table.
    Property
    Value

    Name

    Add any value.

    Column

    ACCNT_NAME

    This property must reference a denormalized column that resides in the intersection business component.

    Pre Default Value

    Parent: 'Account.Name'

    For more information about how Siebel CRM uses this configuration, see How Siebel CRM Uses Denormalized Columns.

How Siebel CRM Uses Denormalized Columns

Siebel CRM comes predefined with denormalized columns that reside in intersection tables that affect visibility. The user can use a shuttle applet to create an association in a view that affects this visibility. For example, the user can navigate to the Accounts screen, and then use the Account Team view in the Accounts List to add a record in the Account Sales Team View. In this example, Siebel CRM creates an intersection record in the S_ACCNT_POSTN intersection table, and then populates the denormalized columns. It uses the Account/Position many-to-may link to create a many-to-may relationship between the parent Account business component and the child Position business component. The Account/Position link uses the S_ACCNT_POSTN table as the intersection table. Table 36 describes the properties of the ACCNT_NAME column that Siebel CRM uses in the S_ACCNT_POSTN table.

Table 36. Example of Table That Includes Denormalized Columns
Property
Value

Name

ACCNT_NAME

Type

Denormalized

Denormalization Path

[OU_EXT_ID].[NAME]

Assume you use the Account business component as the parent, you add a custom child Account Position business component that references the S_ACCNT_POSTN intersection table, and you use a a one-to-many link. If you do this, then Siebel CRM does not populate the denormalized columns. It populates them only if it also automatically creates the intersection record for the many-to-many relationship. If the user manually creates a one-to-many relationship, then Siebel CRM does not populate the denormalized columns. Instead, you must add a field that references a denormalized column in the intersection business component and use a predefault value for this field.

Adding Fields That Reference Denormalized Columns

The example in this topic describes how to add the Account Name field so that it references the ACCNT_NAME denormalized column.

To add fields that reference denormalized columns

  1. In Siebel Tools, click Business Component in the Object Explorer.
  2. In the Business Components list, locate the intersection business component that you must modify.
  3. In the Object Explorer, expand the Business Component tree, and then click Field.
  4. In the Fields list, create a new record using values from the following table.
    Property
    Description

    Name

    Account Name

    Column

    ACCNT_NAME

    Predefault Value

    Parent: 'Account.Name'

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