Connector business object requirements

The business object requirements for the connector reflect the way the SWIFT data handler converts:

The sections below discuss the requirements for WebSphere business objects as well as the SWIFT message structure. For a step-by-step description of how the SWIFT data handler interacts with WebSphere business objects and SWIFT messages, see SWIFT Data Handler.

A review of the following WebSphere documents is strongly recommended:

Business object hierarchy

WebSphere business objects can be flat or hierarchical. All the attributes of a flat business object are simple (that is, each attribute represents a single value, such as a String or Integer or Date).

In addition to containing simple attributes, a hierarchical business object has attributes that represent a child business object, an array of child business objects, or a combination of both. In turn, each child business object can contain a child business object or an array of business objects, and so on.

Important:
A business object array can contain data whose type is a business object. It cannot contain data of any other type, such as String or Integer.

There are two types of relationships between parent and child business objects:

WebSphere uses the following terms when describing business objects:

Business object attribute properties

Business object architecture defines various properties that apply to attributes. This section describes how the connector interprets several of these properties. For further information on these properties, see Business Object Attributes and Attribute Properties in Chapter 2 of the Business Object Development Guide.

Name property

Each business object attribute must have a unique name within the business object. The name should describe the data that the attribute contains.

For an application-specific business object, check the connector or data handler guide for specific naming requirements.

The name can be up to 80 alphanumeric characters and underscores. It cannot contain spaces, punctuation, or special characters.

Type property

The Type property defines the data type of the attribute:

Note:
All attributes that represent child business objects also have a ContainedObjectVersion property (which specifies the child's version number) and a Relationship property (which specifies the value Containment).

Cardinality property

Each simple attribute has cardinality 1. Each business object attribute that represents a child or array of child business objects has cardinality 1 or n, respectively.

Note:
When specified for a required attribute, cardinality 1 indicates a child business object must exist, and cardinality n indicates zero to many instances of a child business object.

Key property

At least one attribute in each business object must be specified as the key. To define an attribute as a key, set this property to true.

When you specify as key an attribute that represents a child business object, the key is the concatenation of the keys in the child business object. When you specify as key an attribute that represents an array of child business objects, the key is the concatenation of the keys in the child business object at location 0 in the array.

Note:
Key information is not available in the collaboration mapping process (relevant only when ICS is the integration broker).

Foreign key property

The Foreign Key property is typically used in application-specific business objects to specify that the value of an attribute holds the primary key of another business object, serving as a means of linking the two business objects. The attribute that holds the primary key of another business object is called a foreign key. Define the Foreign Key property as true for each attribute that represents a foreign key.

You can also use the Foreign Key property for other processing instructions. For example, this property can be used to specify what kind of foreign key lookup the connector performs. In this case, you might set Foreign Key to true to indicate that the connector checks for the existence of the entity in the database and creates the relationship only if the record for the entity exists.

Required property

The Required property specifies whether an attribute must contain a value. If a particular attribute in the business object that you are creating must contain a value, set the Required property for the attribute to true.

For information on enforcing the Required property for attributes, see the section on initAndValidateAttributes() in Connector Reference: C++ Class Library and Connector Reference: Java Class Library.

AppSpecificInfo

The AppSpecificInfo property is a String no longer than 255 characters that is specified primarily for an application-specific business object.

Note:
Application-specific text is not available in the collaboration mapping process (relevant only when ICS is the integration broker).

Max length property

The Max Length property is set to the number of bytes that a String-type attribute can contain. Although this value is not enforced by the WebSphere system, specific connectors or data handlers may use this value. Check the guide for the connector or data handler that will process the business object to determine minimum and maximum allowed lengths.

Note:
The Max Length property is very important when you use a fixed width data handler. Attribute length is not available in the collaboration mapping process (relevant only when ICS is the integration broker).

Default value property

The Default Value property can specify a default value for an attribute.

If this property is specified for an application-specific business object, and the UseDefaults connector configuration property is set to true, the connector can use the default values specified in the business object definition to provide values for attributes that have no values at runtime.

For more information on how the Default Value property is used, see the section on initAndValidateAttributes() in Connector Reference: C++ Class Library and Connector Reference: Java Class Library.

Comments property

The Comments property allows you to specify a human-readable comment for an attribute. Unlike the AppSpecificInfo property, which is used to process a business object, the Comments property provides only documentation information.

Special attribute value

Simple attributes in business object can have the special value, CxIgnore. When it receives a business object from an integration broker, the connector ignores all attributes with a value of CxIgnore. It is as if those attributes were invisible to the connector.

If no value is required, the connector sets the value of that attribute to CxIgnore by default.

Application-specific text at the attribute level

Note:
Business object level application-specific text is not used by the connector.

For business object attributes, the application-specific text format consists of name-value parameters. Each name-value parameter includes the parameter name and its value. The format of attribute application-specific text is as follows:

name=value[:name_n=value_n][...]

Each parameter set is separated from the next by a colon (:) delimiter.

Table 28 describes the name-value parameters for attribute application-specific text.

Table 28. Name-value parameters in AppSpecificText for attributes

Parameter Required Description
block Yes for top-level object only The number of the block in the SWIFT message. Values range from 0-5. For information on the SWIFT message blocks, see "Overview of SWIFT message structure".
parse Yes for attributes of the top-level object only Describes whether, and how, to parse the SWIFT message block. Values are: fixlen--parse as fixed length delim--parse as delimited text field--Block 4 only no--Do not parse; treat as a single string.
tag Yes for attributes of type tag business object The tag number of the field. For more on SWIFT message tags, see Appendix D, SWIFT message structure. For further information on sequence and field business objects, see "Block 4 business object structure".
letter=a Yes for each attribute that points to a tag business object One or more supported letters appended to the tag in the SWIFT message format. For example 20A or [A|B|NULL] (A or B or null). Note that NULL must be specified for tags where no letter is a possibility, or for tags that do not have a letter option at all. For example, tag 59.
content No The qualifier in the SWIFT message format. For example, in a SWIFT message MT502, tag20C, the qualifier = SEME.

Note:
The application-specific information for production instruction meta-objects (PIMOs) contains name-value pairs that indicate compute instructions. For more information, see ISO 7775 to ISO 15022 mapping.

Copyright IBM Corp. 1997, 2003