13Configuring Business Components, Links, and Business Objects
Configuring Business Components, Links, and Business Objects
This chapter describes how to configure business components, links, and business objects. It includes the following topics:
Configuring a Business Component
This chapter describes how to configure a business component. It includes the following information:
Creating a New Business Component
You might need to create a new business component if no predefined business components exist that provide a good functional or technical fit for your business requirements. For example, if you must predefault record values to a different type as a way to differentiate some records from other records in the same table. For more information, see Reusing Predefined Objects.
To create a new business component
Make sure you cannot use a predefined business component.
For more information, see Determining Whether You Can Reuse a Predefined Business Component.
In Siebel Tools, click the File menu, and then click New Object.
In the General tab, choose BusComp, and then click OK.
In the New Business Component Wizard, choose a project, enter a name for the business component, and then click Next.
In the Single Value Fields dialog box, choose a column in the Base table, and then enter a name for the field.
Click Add, and then click Finish.
Siebel Tools displays the business component you just created in the Business Components list.
In the Business Components list, define the properties to meet your requirements.
For more information, see Properties of a Business Component.
Determining How a Business Component Sorts Records
You can create a sort specification on a business component to determine how a business component sorts records. For more information, see How a Business Component Sorts Records.
To determine how a business component sorts records
In Siebel Tools, in the Object Explorer, click Business Component.
In the Business Components list, locate the business component you must modify.
In the Sort Specification property, enter a sort specification, and then save your modifications.
You must use a specific format. For more information, see Guidelines for Configuring How a Business Component Sorts Records.
Compile and test your modifications.
For more information, see Using Siebel Tools.
Determining How a Business Component Sequences Records
Sequential numbering is not predefined in any system column in a predefined table in Siebel CRM. You can configure a sequence field in a child business component to determine how a business component sequences records. For more information, see How a Business Component Field Sequences Records.
To determine how a business component sequences records
Verify that the class of the child business component is CSSBCBase or a subclass of CSSBCBase.
If it is not, then contact Oracle Global Customer Support for assistance with this procedure. For more information, see Getting Help From Oracle.
Verify that the business component where you must add a sequence field is the child business component in a parent-child relationship.
This child is the numbered business component. Siebel CRM numbers child records beginning with 1 in each parent record.
Add a child field to the numbered business component using values from the following table.
Property Value Name
Enter text that identifies the data that Siebel CRM sorts, such as Line Number or Order.
Column
Enter a numeric extension column, such as ATTRIB_14.
Type
DTYPE_NUMBER
Add a child business component user property to the numbered business component using values from the following table.
Property Value Name
Sequence Field
Value
Enter the field name you defined in Step 3.
Create a business component using values from the following table.
Property Value Class
CSSSequence
table
Enter the name of the base table of the numbered business component.
Name
Enter a name using the following format:
name of the numbered business component.name of the sequence value field (Sequence)
Set the Sort Spec of the business component you created in Step 5 to Sequence (DESCENDING).
Add a child field to the sequence business component using values from the following table.
Property Value Name
Sequence
Column
Enter the same value you entered for the column in Step 3.
Add a child field to the sequence business component.
This field is the foreign key field that creates the parent-child relationship to the parent business component. Set the Column property to the same column as the corresponding field in the numbered business component.
Create a link that creates a parent-child relationship between the parent and sequence business components.
For more information, see About Links.
Create a child business object component of the business object that uses the predefined link that exists between the parent business component and the numbered business component. Use values from the following table.
Property Value Link
Choose the link you defined in Step 9.
BusinessComp
Choose the sequence business component.
Display the sequence value field in applets that display records from the numbered business component.
Compile and test your modifications.
For more information, see Using Siebel Tools.
Defining Read-Only Behavior for a Business Component
In this example, if an account record includes a competitor, then the user must not choose any competitors for the account. If the Type field includes a value of Competitor, then Siebel CRM makes the Competitor field in the account record read-only. For more information, see How Siebel CRM Defines Read-Only Behavior for a Business Component Field.
To define read-only behavior for a business component
In the Object Explorer, click Business Component.
In the Business Components list, locate the Account business component.
In the Object Explorer, expand the Business Component tree, and then click Field.
In the Fields list, create a field using values from the following table.
Property Value Name
Competitor Calculation
You can use any name.
Calculated
TRUE
Calculated Value
IIf([Type] = "Competitor", "Y", "N")
In the Object Explorer, click Business Component User Prop.
In the Business Component User Props list, add a new record using values from the following table.
Property Value Name
Field Read Only Field: Competitor
Value
Competitor Calculation
When you create a business component or field, make sure the values in the Name and Value properties use the correct capitalization, spelling, and empty spaces. Make sure that quotation marks are not present.
Compile and test your modifications.
For more information, see Using Siebel Tools.
Creating a Recursive Join on a Business Component
If you create a recursive join, then you must make sure the Alias name of the join is different from the Table Name. If you use the same name with an inner join, then Siebel Tools displays the following error message:
Table ‘T1’ requires a unique correlation name
.
If you use the same name with an outer join, then Siebel Tools displays the following error message:
Table 'T1' is in an outer join cycle.
An inner join is a join that contains an Outer Join Flag property that does not contain a check mark. An outer join is a join that contains an Outer Join Flag property that does contain a check mark.
To create a recursive join on a business component
Make sure the Alias name of the join is different from the Table Name.
Configuring a Business Component to Copy Child Records If the User Copies the Parent Record
Cascade copy is a feature on a business component that copies the child records of a business component record if the user copies a parent record. For example, if the user copies an opportunity to create a similar opportunity, then the user might require Siebel CRM to copy the list of contacts for that opportunity.
A multi-value link that Siebel CRM uses with a multi-value field copies the child records because the child records that constitute a multi-value group remain with the parent record. For example, the child records for account addresses, sales teams, and industry lists of a parent account remain with the account. Siebel CRM uses this capability for a different purpose if cascade copy is defined for a multi-value link, and if Siebel CRM does not use the multi-value link in a multi-value field. It is not necessary to reference the multi-value link to a field in the business component. For more information, see How Siebel CRM Creates a Multi-Value Group.
You can define cascade copy for a many-to-many relationship where the Inter Table property of the destination link is not empty. In this situation, Siebel CRM creates new intersection table rows rather than new child business component records. It creates new associations rather than new records. These associations exist between the new parent and the existing child records.
Cascade copy might cause the values in an index to not remain unique. If copying child records causes an index to not remain unique, then Siebel CRM cancels the copy operation.
To create a business component to copy child records if the user copies the parent record
Create a multi-value link using values from the following table.
Property Value Destination Link
The name of the link where Siebel CRM defines the parent-child relationship.
Destination Business Component
The name of the child business component.
No Copy
FALSE
If the No Copy property is TRUE, then Siebel CRM disables cascade copy. An exception to this configuration occurs if the corresponding field is defined as the destination field in a link. In this situation, the link enters data into the field and ignores the value of the No Copy property.
Allowing the User to Set a Primary Team Member
You can allow the user to set a primary team member.
To allow the user to set a primary team member
-
In the Object Explorer, click Business Component.
-
In the Business Components list, locate the business component that the multi-value group applet references.
For more information, see Creating Multi-Value Groups and Multi-Value Group Applets.
-
In the Object Explorer, expand the Business Component tree, and then click Business Component User Prop.
-
In the Business Component User Props list, locate the following business component user property:
MVG Set Primary Restricted:name of the multi-value link
-
Set the Value property to FALSE.
This configuration allows some users to set a primary. Setting this user property to FALSE allows someone other than the Manager or Siebel Administrator to modify the Primary team member. If this user property is not set, then only a Siebel Administrator working in Admin mode or a Manager working in Manager view mode can modify the Primary team member on an opportunity, account, or contact. For more information about user properties, see Siebel Developer's Reference.
-
Compile and test your modifications.
For more information, see Using Siebel Tools.
Configuring a Business Component Field
This topic describes how to configure a business component field. It includes the following information:
Creating a New Business Component Field
You can create a new business component field.
To create a new business component field
Make sure you cannot reuse a business component field.
Before you create a new business component field, make sure a predefined field that meets your business requirements does not exist. For more information, see the following topics:
In Siebel Tools, in the Object Explorer, click Business Component.
In the Business Components list, locate the business component where you must add a field.
In the Object Explorer, expand the Business Component tree, and then click Field.
In the Fields list, add a new record, and then define properties for the new record.
You must not map multiple business component fields to the same column in a table. If you do this, then the SQL query fails because it attempts to access the same column twice in the same query. This configuration might cause an error message when Siebel CRM updates data, can cause problems with data integrity, and can lead to data loss for denormalized columns that reference the column.
Compile and test your modifications.
For more information, see Using Siebel Tools.
Activating a Multi-Value Field
To refresh correctly in the master applet when the user closes the multi-value group applet, you must make sure the multi-value field is activated at the business component level. For example, if the Account Entry Applet displays the Active Login Name multi-value field through the Position multi-value link, then the Force Active property of the Active Login Name field in the Position business component must equal TRUE, or the Active Login Name field must be included in the Position MVG applet that Siebel CRM uses to maintain the account Sales Team. This situation is true even if the field is not visible. For more information, see, About the Multi-Value Field and Creating Multi-Value Groups and Multi-Value Group Applets.
To activate a multi-value field
Do one of the following:
Set the Force Active property of the multi-value field to True.
Include the multi-value field in the multi-value group applet.
Compile and test your modifications.
For more information, see Using Siebel Tools.
Validating Data That the User Enters in a Business Component Field
You can configure Siebel CRM to validate the information that the user enters into a field. You can configure the error message that Siebel CRM displays if the user enters information that does not meet the validation expression.
To validate data that the user enters in a business component field
Make sure Siebel Tools is configured to allow you to modify a text string.
For more information, see Setting Up the Configuration File for Siebel Tools.
Create the symbolic strings that Siebel CRM displays in the error message.
In the Object Explorer, click Business Component.
In the Business Components list, locate the business component that contains the field that Siebel CRM must validate.
In the Object Explorer, click Field.
In the Fields list, locate the field that Siebel CRM must validate.
In the Validation property, enter an expression that does the validation.
You can use the Expression Builder to build the expression. To display the Expression Builder, click the ellipsis (...) in the Validation property.
In the Validation Error Message - String Reference property, enter the name of the symbolic string you created in step 2 for this error message.
As an alternative, you can use the Validation Message property to enter the error message without using a symbolic string. You can use the Validation Message - String Override property to override the error message.
In the Message Display Mode property, choose one of the following display modes for the error message:
User Msg. Displays only the error message that you provide.
User Msg with Error Code Only. Displays the error message that you provide and the system error code.
User Msg with Error Code/Msg. Displays the error message that you provide, the system error code, and the system error message.
Compile and test your modifications.
For more information, see Using Siebel Tools.
How Siebel CRM Validates Start and End Dates
If the user sets the completion date for an activity to occur before the start date for the activity, then Siebel CRM displays an error that is similar to the following:
Wrong field values or value types detected in field End.
Siebel CRM ignores any configuration you define in the Validation property or the Validation Message property for these date fields. For example, assume the user navigates to the Activities screen, clicks Activity List, and then sets the value in the Start field to a date that is later than the value in the End field. This Start field references the Planned field of the Action business component. If you define a value in the Validation property or the Validation Message property for the Planned field, then Siebel CRM ignores it. Instead, Siebel CRM uses one of the following specialized classes in the Action business component to perform this validation:
CSSBCActivity for Siebel CRM version 8 of Siebel Business Applications.
CSSBCFINSActivity Siebel CRM version 8 of Siebel Industry Applications. The parent class is CSSBCActivity.
For more information, see Caution About Using Specialized Classes.
You cannot configure the predefined validation in the classes, but you can add script in the BusComp_PreSetFieldValue event for the business component. This script monitors updates to these fields, and then compares the field values. You can write a custom error message in this script. For more information, see the topic about the CSSBCActivity class in Siebel Developer's Reference.
Creating a Business Component Field That Displays More Than One Currency
You can configure a field to display data in more than one currency. For example, assume a global deployment occurs in the United States and in Japan, where the deployment in the United States requires data to display in dollars and the deployment in Japan requires data to display in yens.
You cannot configure a Forecast business component to display dual currency because the list columns that display monetary values do not reference fields. The list columns display values that reference buttons that use specialized methods to perform the calculation. For more information, see Caution About Using Specialized Classes.
To create a business component field to display more than one currency
In Siebel Tools, in the Object Explorer, click Business Component.
In the Business Components list, locate the Opportunity business component.
In the Object Explorer, expand the Business Component tree, and then click Field.
In the Fields list, create a new field using values from the following table.
Property Value Name
My_Currency
Type
DTYPE_TEXT
Join
S_OPTY_X
Column
ATTRIB_03
PickList
PickList Currency
Siebel Tools stores the field in an unused column in the S_OPTY_X extension table.
In the Object Explorer, expand the Field tree, and then click Pick Map.
In the Pick Maps list, create a new pick map using values from the following table.
Property Value Field
My_Currency
Pick List Field
Currency Code
In the Object Explorer, click Field, and then add a field to the Opportunity business component for the converted revenue using values from the following table.
Property Value Name
My_Cvt_Revenue
Calculated
TRUE
Calculated Value
[Revenue]
Currency Code Field
My_Currency
The Currency Code Field property references the currency code field of Creating a Business Component Field That Displays More Than One Currency.
Exchange Date Field
Sales Stage Date
Type
DTYPE_CURRENCY
Caution: Make sure the Exchange Date Field property on the originating currency field is defined in a way that is similar to the converted currency field. If it is not, then Siebel CRM bases the exchange date that it uses to convert the currency on the exchange date of the originating currency field.For more information, see Requirements for the Field That Contains the Converted Currency Amount.
In the Object Explorer, click Applet.
In the Applets list, locate the Opportunity List Applet.
In the Object Explorer, expand the Applet tree, expand the List tree, and then click List Column.
In the List Columns list, add a list column using values from the following table.
Property Value Field
My_Currency
Display Name
Converted Currency Code
In the List Columns list, add a list column using values from the following table.
Property Value Field
My_Cvt_Revenue
Display Name
Converted Revenue
Runtime
TRUE
It is not necessary to create a pick or detail applet because Siebel CRM opens the default applet that matches the field type.
Compile the Oppty and Oppty (SSE) projects.
For more information, see Using Siebel Tools.
Make sure the underlying currency business component contains a minimum number of valid values:
In the Siebel client, navigate to the Administration - Application screen, and then the Currencies view.
This view lists currencies, conversion dates, and exchange rates.
Make sure each currency that is involved in the conversion is marked as active.
Make sure at least one exchange rate is defined for each currency that is involved in the conversion.
Make sure at least one of the exchange rates for an exchange direction includes a date that occurs at or before the date that Siebel CRM uses as the Exchange Date.
Test your modifications.
Requirements for the Field That Contains the Converted Currency Amount
The field in the business component that contains the converted currency amount must meet the following requirements:
The Type property of the field must equal DTYPE_CURRENCY.
The field must be a calculated field.
The Type property of the field that the Calculated Value property references must equal DTYPE_CURRENCY. For example, if the expression in the Calculated Value property is
[Revenue]
, then the Type property of the Revenue field must equal DTYPE_CURRENCY.The Exchange Date Field property must reference a field that contains a Type property that is DTYPE_DATETIME.
Configuring Client-Side Import to Update a Business Component Field
You can use client-side import to update a business component field. Client-side import uses the import functionality of the applet menu in the Siebel client. You use the object type known as the Import Object in Siebel Tools to identify the business component fields into which Siebel CRM enters data.
For an example of how Siebel CRM configures client-side import, in Siebel Tools you can examine the predefined import object that is defined for the Contact business component. The Contact business component is defined as an Import Object and it contains fields that Siebel CRM defines as Import Field objects.
You cannot use client-side import with a specialized business component or specialized applet. For more information, see Class Property of a Business Component, and Siebel Object Types Reference.
To configure client-side import to update a business component field
Display the object type known as the Import Object.
For more information, see Displaying Object Types You Use to Configure Siebel CRM.
Lock the project that the business component references.
In the Object Explorer, click Import Object.
In the Import Objects list, add a new record using values from the following table.
Property Value Business Component
Choose the business component into which Siebel CRM must import data.
Make sure this business component is a parent business component. Siebel CRM only supports client-side import for a parent business component.
In the Object Explorer, expand the Import Object tree, and then click Import Field.
In the Import Fields list, add a new record for each business component field that Siebel CRM must update.
Note that you can add an import field to an import object that already exists, such as Contact.
Make sure the No Insert property of the applet that is defined for client-side import is False.
Compile locked projects, and then test your modifications.
For more information, see Using Siebel Tools.
Siebel CRM displays the new fields in the Select a Siebel Field dialog box. You can map them to fields in the External Data Source Field dialog box when you import data.
Creating a Joined Business Component Field
You can add a join to a business component, and then reference the join in a field.
To create a joined business component field
In Siebel Tools, in the Object Explorer, click Business Component.
In the Business Components list, locate the business component where you must add a join.
In the Object Explorer, expand the Business Component tree, and then click Join.
In the Joins list, add a new record, using values from the following table.
Property Value Table
Name of the joined table. For example, enter
S_ADDR_ORG
to access address data.Alias
Name of the join. For example:
Contact - S_ADDR_ORG
It is recommended that you define the alias so that it is different from the table.
Outer Join Flag
If you must get all the records in the business component even if the joined fields are empty, then set Outer Join Flag to TRUE.
Comments
Optional.
In the Object Explorer, expand the Join tree, and then click Join Specification.
In the Join Specifications list, add a new record, using values from the following table.
Property Value Name
Name of the join specification. For example, Primary Address Id.
Destination Column
Primary key column in the joined table. For example, ROW_ID.
If you create a join on a column other than ROW_ID, then you must enter a value in the Destination Column property. An empty value in the Destination Column property indicates that the destination column is ROW_ID, which is typically the primary key.
For a join to a party table, the destination column must reference the PAR_ROW_ID column in the joined table.
Source Field
Foreign key field in the business component. For example, Primary Address Id.
If empty, then the Source Field references the Id field, which indicates a one-to-one relationship between the business component and the joined table.
Optional. Add a Join Constraint:
In the Object Explorer, expand the Join Specification tree, and then click Join Constraint.
In the Join Constraints list, add a new record, using values from the following table.
Property Value Name
Name of the join constraint. For example, Primary Address Id.
Destination Column
Column in the joined table where you must apply a search specification. For example, OU_ID.
Value
The search specification. For example:
GetProfileAttr("Primary Address Id")
For more information, see Options to Filter Data That Siebel CRM Displays in an Applet.
In the Object Explorer, click the Field object type in the Business Component tree.
In the Fields list, add a new record, using values from the following table.
Property Value Name
Name of the joined field.
Join
Join alias for the table where this field gets data. For example, Primary Account Address.
Column
Column in the joined table where this join gets data. For example, ADDR_NAME.
Text Length
Same length as the column where this join gets data.
Type
Data type that is compatible with the column where this join gets data. For example, DTYPE_TEXT for a Varchar column.
Compile and test your modifications.
For more information, see Using Siebel Tools.
Creating a Predefault Value for a Joined Business Component Field
To make sure a field contains a value when Siebel CRM inserts a new record, you can use a predefault value for a joined field. Siebel CRM cannot update a joined field. If a field does not include a value when Siebel CRM inserts a record, then you cannot use a predefault value as a default field value. This topic includes an example that creates a predefault value for a joined business component field.
To create a predefault value for a joined business component field
Create a join on the S_OPTY table in the Opportunity Product business component.
Define two new fields that reference the join.
One field displays the Opportunity Sales Stage. The other field displays the Name.
Add the two fields to the Opportunity Product applet.
Compile all locked projects.
Test you modifications:
In the Siebel client, use the predefined Opportunities - Products view to add a new product for an opportunity.
Siebel CRM does not update the joined fields. Oppty Id contains the data that provides the source field for the join.
-
Requery the applet.
Note that Siebel CRM now displays the values.
In Siebel Tools, set the Predefault property of the Opportunity Name field using values from the following table.
Property Value Pre Default Value
Parent:'Opportunity.Name'
You must use the following format:
Parent:'Parent Business Component.Name of the Joined Field'
In Siebel Tools, set the Predefault property of the Opportunity Sales Stage field using values from the following table.
Property Value Pre Default Value
Parent: 'Opportunity.Sales Stage'
Set the Link Specification property of the Name and Sales Stage fields in the parent business component to TRUE.
Compile all locked projects.
Restart the Siebel client.
In the Siebel client, add a new product for an Opportunity.
Note that Siebel CRM immediately enters data into the joined fields.
Configuring a Link
This chapter describes how to configure a link. It includes the following information:
Configuring a Link That Deletes Child Records Ifthe User Deletes the Parent Record
The Cascade Delete property of a link determines if Siebel CRM deletes a child record if the user deletes the parent record.
To configure a link that deletes child records if the user deletes the parent record
Set the Cascade Delete property on the link using values in the following table.
Value Description Delete
If the user deletes the parent record, then Siebel CRM deletes all child records.
Use Delete to delete values that Siebel CRM stores in a one-to-many extension table where the only related record is the parent record.
Do not use Delete if the child business component in this link is a child business component in another link. In this situation, use CLEAR instead.
Clear
If Siebel CRM deletes the parent record, then it removes the foreign key reference and clears the value in the foreign key column. Use this setting if Siebel CRM might share a child record with another parent.
None
If Siebel CRM deletes the parent record, then it does not delete any records and does not clear the foreign key column. The default setting is None.
Guidelines for Using Cascade Delete
If you use the Cascade Delete property, then use the following guidelines:
Cascade Delete is not available for a many-to-many link. A child might be the child of more than one parent when Siebel CRM uses a many-to-many link, so Siebel CRM deletes the intersection record but leaves the child record intact.
If you delete a record that a foreign key of another table references, then Siebel CRM might or might not delete the reference to the record. If it does not delete the reference, then row IDs might reference records that do not exist. If used with a multi-value group, then Siebel CRM might convert the foreign key to display No Match Row Id.
The link applies to parent child relationships. Siebel CRM treats a one-to-one extension table as an extension of the parent, so it keeps the extension table synchronized with the parent.
Use a link except for a one to many extension table that involves two different business components.
To involve grandchild records, use the Deep Delete business component user property. For more information, see Siebel Developer's Reference.
Configuring a Link That Creates a One-to-Many Relationship
You can configure a link that creates a one-to-many relationship. The Account/Account Note link is an example of this type of link. One Account can include many note records. The ID is the source field of the parent Account record. Siebel CRM stores it in the Account Id field of the Note record, which is the destination field.
To configure a link that creates a one-to-many relationship
Define the child business component.
Define the destination field on the child business component.
Define the parent business component.
Define the source field on the parent business component.
If you do not define the source field, then Siebel CRM defaults to the ID of the parent business component.
Configuring Two Links That Create a Many-to-Many Relationship
Siebel CRM uses two links with opposite parent-child settings to create a many-to-many relationship that reference an intersection table. The Opportunity/Account link is an example of this type of link, where:
The intersection table is S_OPTY_ORG.
The Inter Child Column is OU_ID, which is the ID in the Account business component.
The Inter Parent Column is OPTY_ID, which is the ID in the Opportunity business component.
For more information, see How an Intersection Table Defines a Many-To-Many Relationship.
To configure two links that create a many-to-many relationship
Set the Inter Table, Inter Parent Column, and Inter Child Column properties of the two links to create the connection between the links and the intersection table.
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
In Siebel Tools, in the Object Explorer, click Business Component.
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.
In the Object Explorer, expand the Business Component tree, and then click Field.
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. The following table describes the properties of the ACCNT_NAME column that Siebel CRM uses in the S_ACCNT_POSTN table.
Table 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
In Siebel Tools, click Business Component in the Object Explorer.
In the Business Components list, locate the intersection business component that you must modify.
In the Object Explorer, expand the Business Component tree, and then click Field.
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'
Creating a Business Object
This topic describes how to create a business object. For more information, see Guidelines for Creating a Business Object.
To create a business object
In Siebel Tools, click Business Object in the Object Explorer.
In the Business Objects list, create a new record using values from the following table.
Property Description Name
Enter a name for the business object that is unique among business objects in the Siebel repository. Siebel CRM uses the name to reference the business object.
Query List Business Component
The default value is Query List. It identifies the business component that stores predefined queries for the business object.
Primary Business Component
You cannot define this property until after you define the business object components.
In the Object Explorer, expand the Business Object tree, and then click Business Object Component.
In the Business Object Components list, create a new record using values from the following table.
Property Description Bus Comp
Choose the business component that the business object references.
Link
Optional. Create a link relationship between two business components.
Repeat step 4 for each business component that you must reference in the business object. You must define each of the following business components as a business object component:
Any business component whose data displays in an applet on a view that references the business object
Any business component whose data Siebel CRM exports in a report from a view that references the business object
Define the Primary Business Component property, as described in step 2.