Siebel Tools Reference > Multi-Value Group and Association Applets >

Association Applets


An association applet (shown in Figure 184) provides users with the ability to associate a parent record with one or more children through an intersection table. For example, association applets are provided for assigning Team Members to an Account, Contacts to an Opportunity, and Products to a Price List.

An association applet is a dialog box. Multi-selection is only available in the association applet. Fields in association applets cannot be updated.

Figure 184. Association Applet in a Siebel Application

Click for full size image

The association applet lists the records from a business component. The user selects one or more records with the aid of the Find and Starting With controls, if needed, and clicks the Add button to associate the selected record with the active master record.

Association applets are used only with pairs of business components that have a many-to-many relationship. A many-to-many relationship in Siebel applications is implemented by means of an intersection table and a pair of links.

When a one-to-many (simple master-detail) relationship exists between business components, an association applet is unnecessary, and records can be directly added or inserted in the applet displaying the detail business component. The means to add and delete records can be provided by using a master-detail view or a multi-value group applet. When a many-to-many relationship exists, an association applet provides the only means to associate a pair of records from their respective business components. Figure 185 and Figure 186 illustrate the reason for this.

NOTE:  Records in an association applet are read-only; they cannot be modified from within the association applet dialog box.

Figure 185 illustrates how a one-to-many relationship is implemented.

Figure 185. Row Relationships in a One-to-Many Relationship

Click for full size image

The two applets in a master-detail view display one master record and a list of detail records in their respective business components. A foreign key in each of the detail records points to the one master record. To add another detail row, a row is added to the detail table (S_CONTACT in the illustration), and a value is set in the foreign key that points back to the master row. Every row in the detail table has a master row because of the link relationship between the master and detail business components. Adding a row to the detail table always results in the linkage of the new row to a row in the master table. No additional applet is necessary to create an association between a new detail row and a master row.

The situation in a many-to-many relationship is illustrated in Figure 186.

Figure 186. Row Relationships in a Many-to-Many Relationship

Click for full size image

"Adding" a record to the detail business component in a many-to-many relationship can in reality mean associating an existing detail record to a master record, rather than creating a new detail record from scratch. This is because master and detail are relative terms in a many-to-many relationship. For example, the Opportunity and Contacts business components in Figure 186 can be displayed as one opportunity to many contacts, or one contact to many opportunities, depending on the active view.

In this situation, the user needs to be presented with a selection list of available detail records. If users see the desired detail record in the selection list, they choose it. If not, they have the option to create a new detail record. In the context of a many-to-many relationship, creating a new association for an existing detail record is called association; creating a new detail record and an association is called addition. Both association and addition of detail records result in the creation of a new row in the intersection table. Addition also results in the creation of a new row in the detail table.

In the association applet, the Add button performs association and the New button performs addition.

In Siebel applications, association applets are invoked in one of two ways:

Each of these scenarios is discussed in the following sections.

NOTE:  An association applet cannot be configured to be constrained or filtered through properties the way a pick applet can (using the Constrain property of a Pick List). To constrain an association applet, you must use Siebel VB or Siebel eScript to query using the Exists clause in the WebApplet_Load event on the association applet.


 Siebel Tools Reference, Version 7.5, Rev. A 
 Published: 18 April 2003