5About Business Objects
About Business Objects
This chapter describes business objects and how to configure them. It includes the following topics:
About Business Objects
A business object represents a major area of the enterprise. An opportunity, account, or contact are examples of a business object. For more information, see Business Object. For an introduction to the relationships that this topic describes, see Hierarchy of Object Types and Relationships.
The following figure describes an example of how a business object groups business components into a logical unit. For example, the Opportunity business object groups together the Opportunity, Contact, and other business components.
![How The Opportunity Business Object Groups Business Components](images/business_object.png)
Each business object includes one business component that works as the parent business component. In the figure the parent business component is Opportunity. A link creates a relationship between the parent business component and other child business components, such as Contact and Product. This link allows the business object to display products that Siebel CRM relates to an opportunity or contacts that it relates to an opportunity.
Relationship Between a View or Screen and a Business Object
A business object provides the foundation for a view and a screen. Typically, each view that a screen references uses the same data for the view when Siebel CRM gets the data from the same business component. For example, the Opportunities Screen references the following views:
All Opportunity List View
Opportunity Detail - Contacts View
Opportunity Detail - Products View
Siebel CRM gets the data for each of these views from the Opportunity business component. The Siebel schema groups views that get most of their data from an opportunity into the Opportunity screen. Views in a screen typically get their data through the same business object. A screen is indirectly related to the business object.
The following figure describes the relationships and objects that Siebel CRM uses with a business object, screen, and view.
![Relationships and Objects That Siebel CRM Uses with a Business Object, Screen, and View](images/bobo2_V.png)
A one-to-one relationship typically exists between a screen and a business object. A view references a business object through a formal property of the view. A screen does not reference a business object through a formal property. An informal relationship exists between a business object and a screen. Siebel CRM applies design principles to create this informal relationship. Siebel Tools does not formally enforce this relationship. All the views that a screen contains are typically informally related to the same business object.
Not all business components that a business object references participate in a parent-child relationship. A business object can reference a business component that is not part of the business model.
Multiple business objects can reference a business component or a link. For example, two business components can each possess a one-to-many relationship in one business object. In the context of one business object, an unambiguous set of relationships exist between the business components that a business object references.
Example Parent and Child Relationships In a View That References a Business Object
Each view references a business object. A master-detail view can define only a one-to-many relationship that the business object that the view references supports. To examine an example of this relationship, in the Siebel client, you can navigate to the Contacts List, drill down on the Last Name field of a contact, and then click the Opportunities tab. The parent Contact form displays prior to the Opportunities list. This contact to opportunities relationship is a one-to-many relationship that Siebel CRM defines in the Contact business object. To examine this relationship in Siebel Tools, locate the Contact Detail - Opportunities View in the Views list. This view references the Contact business object.
![Master-Detail View](images/view_contactopportunity.gif)
To implement a view that displays a many-to-one relationship between contacts and an opportunity, where many contact child records are related to one parent opportunity, a view references the Opportunity business object. To view this relationship in the Siebel client, navigate to the Opportunities List, drill down on the Opportunity Name field, and then click the Contacts tab.
How Siebel CRM Creates a Business Object
The following figure describes how Siebel CRM creates a business object.
![How Siebel CRM Creates a Business Object](images/bobo3_V.png)
Explanation of Callouts
Siebel CRM uses the following objects and properties to create a business object:
Business object. The parent for multiple business object components. Each business object component specifies a parent-child relationship. A view references the business object in the Business Object property of the view.
Business object component. A child object of the business object. Typically, each business object component defines one parent-child relationship in the parent business object. The Link property and the Business Component property of the business object component create this relationship.
Link property. Identifies the link.
Business Component property. Identifies the child business component. You can use a business object component to reference a business component in the business object without using a link. To do this, you must make sure the value in the Link property of the business object component is empty. This configuration allows you to include a business component in the business object for use in a view that references the business object, even though the business component does not possess a one-to-many relationship with another business component in the context of that business object.
Link. Each business object component references one link. This link specifies the parent-child relationship that the business object includes. For more information, see About Links.
Parent business component. The one in the one-to-many relationship that the link defines. The Parent Business Component property of the link specifies the parent business component.
Child business component. The many in the one-to-many relationship that the link defines. The following properties define the child business component:
The Child Business Component property of the link
The BusComp property of the business object component
Guidelines for Creating a Business Object
You only rarely need to create a new business object. The following situations might require you to create a business object:
You require a new screen that groups several new business components together.
You require a group of predefined business components that a predefined business object does not already support.
If you create a business object, then use the following guidelines:
You can include a business component only one time in each business object.
You can link a business component to only one other business component in the business object. For more information, see Siebel CRM Can Link an Applet Only to One Other Applet in a View.
If you create a new business component to support an administration or system activity, then you do not need to create a new business object. Make sure the new business component is part of the predefined business object that Siebel CRM uses to support administration views, then assign the view to the Marketing Administration or System Administration screen.
Delete any custom business object that Siebel CRM does not use and that does not reference any other object definition, such as a view.
Other objects might reference an unused business object. Do not delete, deactivate, or rename any predefined business object that Siebel CRM does not use.
Guidelines for Defining the Link Property of a Business Object Component
If any of the following situations exist, then you can define the Link property of a business object component:
If Siebel CRM can link the business component to more than one business component in the business object. For example, in the Opportunity business object, Siebel CRM can link the Action business component to the Opportunity, Account, or Contact business component.
If the relationship between the parent business component and the child business component is a many–to–many relationship and where either business component can be the parent. For example, in the Opportunity business object, a relationship exists between the Opportunity business component and the Contact business component. Either business component can be the parent, so you can define the configuration so that Siebel CRM uses the Opportunity/Contact link. This configuration makes sure the Opportunity business object is the parent.
If you do not define the Link property, then Siebel Tools uses the Parent Business Component/Child Business Component link as a default. Siebel Tools sets the following properties for this link:
The Parent Business Component property is the name of the source business object.
The Child Business Component property is the value of the destination business component property.
If Siebel Tools cannot find a suitable link, then it displays the business component without a link to any other business component in the parent business object. In this situation, Siebel CRM displays all records that satisfy the search specification of the business component that are independent of the parent business component. This situation could create a problem because the user might not realize that the values in the child business component are not directly related to the parent business component. In reality, these values represent all data for the child business component. If you must display records that possess a parent-child relationship, then you must enter a value for all links. For more information, see Options to Filter Data That Siebel CRM Displays in an Applet.
Siebel CRM Can Link an Applet Only to One Other Applet in a View
Siebel CRM can link a business component to only one other business component in the business object, and it can link an applet to only one other applet in a view. Except for the Home dialog box view, each view includes a parent applet that gets data from the parent business component in the business object. This parent applet can include related applets that get data from other business components. These applets are always child applets of the parent applet. A business component in the business object is the parent business component for the business object or it includes data that is related to the parent business component. For example:
To display contacts that Siebel CRM relates to an opportunity, it must define a business object component that references the Contact business component. It must define this business object component on the Opportunity business object.
To display the contacts that Siebel CRM relates to an account, it must define a business object component that references the Contact business component. It must define this business object component on the Account business object.
For more information, see Guidelines for Naming an Object.