Configuring Siebel eBusiness Applications > Configuring Links >

How Indirect Multi-Value Links Are Constructed


An indirect multi-value link has a parent business component that related to the business component on which the MVL is defined by a join. The source field of an indirect multi-value link is based on a column that is joined in from another table and not a column in the base table. The configuration of an indirect multi-value link is illustrated in Figure 45.

Figure 45.  Indirect Multi-Value Link Details
Click for full size image

In Figure 45, the object definition names have been provided for an example multi-value link called Business Address in the Contact business component. Although given the same name as its counterpart in the Account business component, this is a different object definition. For a comparison of conventional and indirect multi-value links, review Figure 44.

The primary difference between the Business Address multi-value link in the Contact business component and in its Account counterpart is that the multi-value link object definition is found in a business component other than the master business component.

The Source Field property in the multi-value link in the Contact business component is nonblank. In a conventional multi-value link this property is blank, indicating that the Id field in the current business component is used (corresponding to ROW_ID in the base table). In the indirect multi-value link, the Source Field property specifies a field in the S_ORG_EXT join called Joined Account ID. The Joined Account ID field provides the Account Id of the Account that corresponds to the current Contact.

The roles of the object definitions in Figure 45 are explained as follows:

  • Join business component. The join business component has a master-detail relationship with the master business component in the link. In this relationship, the join business component is the detail rather than master. The indirect multi-value link is established as a child object definition of the join business component.
  • Multi-value fields. Multi-value fields are fields in the join business component that are populated by the primary record in the detail business component through the multi-value link and link object definitions. Each field has the name of the multi-value link specified in its Multi Value Link property, a Multi-Valued property setting of TRUE, and a blank Column property.
  • Multi-value link. The Multi-Value Link object definition defines the relationship between the link object definition and fields in the master business component, using the following properties:
    • Destination Link. Identifies the link.
    • Destination Business Component. Identifies the detail business component.
    • Primary Id Field. Identifies the field from the business component that the MVL belongs to.
  • Joined field. In a conventional multi-value link, the Source Field property is blank. In an indirect multi-value link, the Source Field property specifies a joined field in the same business component as the multi-value link. The joined field represents the ROW_ID column from the base table of the master business component. The ROW_ID column is obtained by means of a join.
  • Join and join specification. The Join and Join Specification object definitions make it possible to populate the joined field.
  • Foreign key field (in the joined business component). The foreign key field represents a foreign key column in the base table. The foreign key field points to rows in the joined table, in this case the base table of the master business component. The foreign key field is used in the implementation of the join.
  • Master business component. The master business component is the "master" in the master-detail relationship specified in the link. The master business component in the example in Figure 45 is Account.
  • Base table. The join, join specification, and foreign key field in the join business component access the base table of the master business component. This makes possible a join relationship that provides a master business component record and, indirectly, a set of detail business component records for each join business component record.
  • Key field. The key field in the master business component is the primary key for that business component. The key field is referenced in the Source Field property of the Link object definition.
  • Link. The Link object definition specifies a master-detail relationship between the master and detail business components.
  • Detail business component. The detail business component supplies the detail records in the master-detail relationship.
  • Foreign key field (in the detail business component). The foreign key field contains row ID values that point back to records in the master business component. These row ID values uniquely identify the master for each detail business component record. The foreign key field is identified in the link in the Destination Field property.
  • Primary ID field. The primary ID field in the master business component holds the row ID value of the primary record for each multi-value group in the detail business component. The primary ID field is identified in the Primary Id Field property of the multi-value link. The primary ID field allows the primary detail record to be identified for each master record. For more information, refer to Configuring the Primary ID Field.

The parent component of a multi-value link is usually the same as the business component in which the MVL is defined. However, by using the Source Field property of the Link object, it is also possible to create an MVL whose parent business component is related to the current business component indirectly using a join or another MVL.

Every MVL in a Siebel application is based on an underlying Link object, whose name is specified by the Destination Link property of the multi-value link. Every link, in turn, defines a one-to-many relationship between two business components. Typically, the business component in which an MVL is defined is the same as the parent business component of the underlying link on which the MVL is based.

For example, consider the Business Address multi-value link in the Account business component:

[MultiValueLink]

DestBusComp = "Business Address"
DestLink = "Account/Business Address"
PrimaryIdField = "Primary Address Id"
CheckNoMatch = "TRUE"
PopupUpdOnly = "TRUE"
NoCopy = "TRUE"

The Destination Link property indicates that this MVL is based on the Account/Business Address link, which is itself defined as:

[Link]

Name = "Account/Business Address"
ParentBusComp = "Account"
ChildBusComp = "Business Address"
DestField = "Account Id"
CascadeDelete = "Delete"

The parent business component of this link is the Account business component, which is also the business component in which the MVL has been defined. In this typical MVL configuration, the multi-value group will be populated with all the children Business Address records for whichever Account is currently selected in the Account business component.

Configuring Siebel eBusiness Applications