Business object structure and relationships

The connector supports Create, Retrieve, Update, Delete, Exists, Retrieve By Content, and DetlaUpdate verbs for a Siebel application-specific business object whose semantics are encapsulated in its business object definition. There is no connector logic that processes a Siebel application-specific business object according to hard-coded instructions in the connector. For example, the connector does not expect a particular business object to consist of a certain type and number of entities. What the connector expects is that any object may consist of one or more entities.

Siebel business components can be associated in three ways. They can be linked in one-to-one relationships through single-valued links, or they can have Multi-Value Link (MVL) fields representing one-to-many relationships, or they can have a simple link.

Business components can be associated in many-to-one relationships by means of PickLists. Business component methods provide support for searching a PickList business component for a specific value and placing that value in a field. Finally, business components can be associated in many-to-many relationships through intersection tables.

If there are two unrelated single cardinality business components under the same business object in Siebel, a separate business object wrapper needs to be created.

In order to support the Siebel concept of a business object context encapsulating numerous business components, a top-level business object should correspond to the appropriate Siebel business object. The top-level business object application-specific information should contain the name of the corresponding Siebel business object. Each top-level attribute should then correspond to a Siebel business component.

Within a business object definition that corresponds to a business component, each attribute specifies either a simple field, or a Multi-Value Group (MVG) field. The attribute data in simple attributes should have simple data types. Attributes that correspond to MVG fields should be treated as child (container) business objects.

This business object structure is part of the meta-data that allows the connector to handle all business objects in the same manner. The connector can support additional Siebel objects if a business object definition is specified for the object.

Specifying key attributes

When developing a Siebel business object, always place the key attribute at the top of the object. This ensures that the connector has the key value before processing the rest of the object. Placing the key attribute elsewhere in the object may lead to processing errors. The key attribute for an object is its RowId in Siebel.

Note:
The connector does not support specifying an attribute that represents a child business object or an array of child business objects as a key attribute, except for the child of a top-level business object (the Siebel BO).
Note:
When developing business objects for the connector, you must ensure that there is a 1-to-1 correspondence between the business object and the Siebel business component.

Attribute properties

The following tables describe simple attributes and child object attributes.

Table 5. Simple attribute

Name Name of attribute
Type Data Type of the attribute. Currently, this is not used, but for forward compatibility reasons, SiebelODA sets the type to either boolean, String, Date, int, double. All types are treated as Strings.
MaxLength Applies to String types and represents the maximum length allowed for the attribute. This is not used by the connector. If the data is large, it must be handled in the business processes.
IsKey If set, this denotes that the attribute is a key. It is used with Update to update a specific record in Siebel. With Retrieve, these attributes are used in the search specification to get the record from Siebel. During Delete, The keys are set on the top-level business components.
IsForeignKey Not used.
IsRequired Set to true if the attribute for the fields in the Siebel business component whose "Required" property is checked.
AppSpecificInfo Text comprised of information about communicating with the application and getting the Siebel business objects and business components associated with this business object.
DefaultValue If set for the attribute, this value is used by the connector if one is not set in the inbound business object and the connector property UseDefaults is set to True.


Table 6. Child object attributes

Name Name of the child object
Type Business object type for the child.
ContainedObjectVersion The child business object version
Relationship If the child is a container attribute, this is set to Containment.
IsKey This attribute has to be set on the primary business component.
IsForeignKey Not used.
IsRequired If set to True, the child is expected to have a representation in the parent business object. During Create verb processing, the primary business component is required to be present. A check is made to see if this component is present in the inbound business object. If found, the create proceeds unless an error is thrown indicating that the required object was not found in the inbound business object.
Cardinality 1 or N depending on the number of child records that can be chosen for a parent record.

Copyright IBM Corp. 1997, 2004