Configuring Siebel Business Applications > About Business Components, Fields, Joins, and Links > About Business Components >
Guidelines for Creating a Business Component
This topic describes guidelines for creating a business component.
For more information, see the following topics:
Guidelines for Naming a Business Component
For a business component that represents child entities, do not use the parent entity in the name of the child. For example, ABC Subsegment instead of ABC Account Subsegment. Similarly, only include the name of the business component in an applet that references these child business components. For example, ABC Subsegment List Applet instead of ABC Account Subsegment List Applet.
The exception to this requirement occurs if you require multiple variations of the same business component or applet. A multiple variation might be necessary if you display a specific entity as a top level applet and as a child applet on other views, and if the two applets are not the same. In this situation, place the name of the parent entity at the beginning of the name of the child applet. For example, the ABC Account Contact List Applet is a contact list that displays as the child of an account. It requires the word Account to distinguish it from the predefined ABC Contact List Applet, which is a different applet.
Guidelines for Creating a Business Component That References a Specialized Class
If you must create a new business component, avoid copying a business component that references a specialized class, unless you do the following:
- Create a true copy of the original business component that contains the same functionality.
- Apply only minimal changes.
For example, create a Locked Service Requests business component that displays only those service requests that are locked. To do this, you use a business component user prop:
- Copy the Service Request business component, then reference the CSSBCServiceRequest specialized class from this new business component.
- Create the Lock Field business component user prop.
- Create the conditions in which a service request must be locked.
- Create a search specification for the business component that retrieves only those service requests that contain the conditions. For more information, see Options to Filter Data Displayed in an Applet.
The underlying behavior of the new business component remains the same as the original business component. Avoid copying a specialized business component to reproduce an isolated feature that is associated with that business component.
NOTE: If you set the Class property of a business component to CSSBCServiceRequest, then you must also add the Abstract field to this business component. If you do not add this field, and if an applet references a business component that is a child of the business component you add, then Siebel CRM might disable the New button in this applet.
Guidelines for Determining How a Business Component Sorts Records
If you define the sort specification property of a business component, then use the following guidelines:
- The fields you use in a sort specification must be child objects of the business component.
- Use a comma to separate field names.
- To indicate that a field in the list sorts in descending order, include (DESCENDING) or (DESC) after the field name. For example, Start Date (DESCENDING). If you do not create a sort order, then Siebel CRM uses ascending order.
- Do not enclose the field name in square brackets. For example, [Account Name]. Siebel CRM accepts brackets in a search specification, but not in a sort specification. For more information, see Options to Filter Data Displayed in an Applet.
- Do not exceed 255 characters in the sort specification.
Guidelines for Modifying a Predefined Business Component That Is Not Used
If you modify a predefined business component that is not used, then use the following guidelines:
- You must not delete, deactivate, rename, or modify any predefined object that is not used. Do not delete these objects because other objects might reference them.
- You can delete any custom business component you create that Siebel CRM does not use and that does not reference any other object that Siebel CRM uses, such as an applet.