Defining the Primary ID Field of a Multi-Value Link

If you define a primary ID, then Siebel CRM can get one primary record more quickly from the master business component through a join than it can get all records through a subquery. The primary ID converts a one-to-many relationship into a one-to-one relationship. This configuration simplifies retrieval of the row from a query with subqueries to a simple join query. This configuration improves performance, especially if the user scrolls through the records of a list applet that displays the parent.

For example, in the Account business component the Primary ID Field property of the Business Address multi-value link is Primary Address Id. The Account Address Mvg Applet displays the corresponding multi-value group. Siebel CRM stores the row ID for the primary record in the Primary Address Id field in the account record. The Primary check mark in the list column identifies the primary. Each time Siebel CRM displays a different account record, the multi-value fields for the Address load only the values from the record of the primary Business Address. It is not necessary to query the Business Address business component for multiple rows. This configuration can significantly improve performance, especially in a list applet.

Most predefined multi-value links designate a primary record. A multi-value link that does not designate a primary record uses the first record that Siebel CRM gets from the child business component. The link and multi-value link include a set of properties that you can define to configure Siebel CRM to get the record Id of the first record that displays records from the child table each time it modifies the parent record. You can create a primary field for a one-to-many or a many-to-many relationship.

In a multi-value group applet, the list column that displays the check mark indicates the primary or nonprimary status of each record. This list column gets data for the column from the SSA Primary Field system field. Siebel Tools does not display this field in the Object Explorer or Object List Editor, but you can reference it from a list column.

For more information, see the following topics:

To define the Primary ID field of a multi-value link

  1. Create a Primary Id column.

  2. Create a new field that references the Primary Id column you created in Step 1.

  3. In a multi-value link, set the Primary Id Field property to the field you created in Step 2.

    The Primary Id Field property specifies the name of the field in the parent business component that contains the row IDs that reference primary records in the child business component.

    Do not display the Primary ID Field in the Siebel client. If you display the Primary ID Field in an editable control or list column on an applet, then the multi-value group applet does not update the primary. If you must display the Primary ID Field in the Siebel client, such as for testing, then use a read-only control or list column.

  4. Set the Use Primary Join property of the multi-value link to TRUE.

    For more information, see Configuring the Use Primary Join Property of a Multi-Value Link.

  5. Set the Auto Primary property.

    For more information, see Configuring the Auto Primary Property of a Multi-Value Link.