Specifying Structured Data as Business Object

Infinity provides support for Business Objects. Please refer to chapter Business Objects Business Objects of the Concepts handbook Concepts Handbook in the Infinity Process Platform Documentation for details on Business Objects used in IPP.

Each structured data has a Business Object Management properties tab to support configuring the data as a Business Object.

Specifying the Structured Data as Business Object

To enable a structured data to be used as Business Object:

  1. Open the Business Object Management properties tab
  2. Select a Primary Key field
  3. Select a name field

Selecting a Primary Key Field

To set a primary key field, select an element from the referenced structured type in the Primary Key Field drop-down list.


Figure: Selecting a Primary Key Field

The list contains data from the referenced Structured Type that meet all of the following criteria:

The Primary Key should be the data that makes the Business Object unique.

Selecting a Name Field

The content of the drop-down list for the Name Field list is the same as for the Primary Key Field drop-down list. The selected name field is used as label for Instances of the Business Object.

Selecting a Name Field
Figure: Selecting a Name Field

The selected name is for example displayed in tooltips.

Defining Business Object Relationships

Relationships between the in-scope Business Object and another Business Object can be defined in the Object Relationships section. For each relationship, you should define the references for the relationship and labels for these references.

Click Add to create a new relationship. Entry fields appear in the Object Relationships table.

Object Relationships
Figure: Object Relationships

Define the following properties in the table:

Relationship Rules

The following relationship rules apply:

Example Relationships

The following examples demonstrate standard and recursive relationships.

For the concepts of these two kind of relationships, please refer to section Creating Business Object Relationships Creating Business Object Relationships of chapter Business Objects Business Objects in the Concepts handbook. Concepts Handbook of the Infinity Process Platform Documentation.

Example- Establishing a Standard Business Object Relationship

In this example, we establish a relationship between two Business Objects Vendor and Product.

The Structured Data Type for data Product contains the fields

with cardinality Exactly One.

Structured Data Type for Product
Figure: Structured Data Type for Product

It is specified as Business Object with primary key ProductID and name field ProductName.

Business Object Definition for Product Data
Figure: Business Object Definition for Product Data

The Structured Data Type for data Vendor contains the fields

Structured Data Type for Vendor
Figure: Structured Data Type for Vendor

It is specified as Business Object with primary key VendorID and name field VendorName.

Business Object Definition for Vendor Data
Figure: Business Object Definition for Vendor Data

Now we set up a relationship between these two Business Objects. For the Vendor Business Object we set the following:

  1. Other Business Object: select the Product data to be the Business Object the Vendor Business Object should reference.

  2. Other Role: enter Products as label for this reference.
  3. Reference to Other Object: select element ProductIDs, which references the ProductId field as primary key of the Product Business Object.

  4. This Role: enter Vendor as label for the reference from the Product Business Object to the in-scope Vendor Business Object.
  5. Reference to This Object: select element VendorID from the Product Business Object to reference the VendorID primary key of the in-scope Vendor Business Object.

The established relationship now looks similar as in the following screenshot:

Example
Figure: Standard Example for Business Object Relationship

The ProductIDs field in the Vendor Business Object references the ProductID field (the primary key) in the Product Business Object. The label for this reference is Products.

The reciprocal relationship is established automatically for the Product Business Object. Open the Data properties view for the Product data and switch to the Business Object Management tab. You see the relationship is set up for the Product Business Object in the following way:

Example
Figure: Reciprocal Relationship

The VendorID field in the Product Business Object references the VendorID field (the primary key) in the Vendor Business Object. The label for this reference is Vendor.

Example- Establishing a Recursive Business Object Relationship

Now we establish a recursive relationship for a Business Object Employee.

The Structured Data Type for data Employee contains the fields

with cardinality Exactly One.

Structured Data Type for Employee
Figure: Structured Data Type for Employee

It is specified as Business Object with primary key EmployeeID and name field EmployeeName.

Business Object Definition for Employee Data
Figure: Business Object Definition for Employee Data

To set up a recursive relationship, we enter the following settings for the Employee Business Object:

  1. Other Business Object: select the Employee data to create a reference to itself.

  2. Other Role: enter Manager as label for this reference
  3. Reference to Other Object: select element ManagerID which references the ManagerID field as primary key of the other Employee Business Object.

  4. This Role: enter Reports as label for the reference from the other Employee Business Object to this Employee Business Object
  5. Reference to This Object: select element ManagerID from the other Employee Business Object to reference the ManagerID primary key of this Employee Business Object.

The established recursive relationship now looks similar as in the following screenshot:

Example
Figure: Recursive Business Object Relationship Example

In one direction, the ManagerID field references the EmployeeID field as the primary key of Business Object Employee. The label for this reference is Manager.

In the other direction, the ManagerID field references the EmployeeID field as the primary key of the other Business Object instance and the label for this reference is Reports.

Automatic Department Creation

Business Objects can be configured to automatically spawn departments for those Organizations that use the Business Object Primary Key as a department variable. A new department will be spawned whenever a unique Primary Key value is saved for its Business Object Instances.

To specify auto-department generation, select one or more Organizations from the multi-select box. The multi-select box contains all Organizations that support departments using the in-scope Business Object.

The Primary Key of the current Business Object becomes the Department Parameter.

Automatic Department Creation
Figure: Automatic Department creation

On Department creation, the Business Object's primary key is the Department ID, and the Business Object's Name is the Department Name.

Note
Please take care when modifying Business Object Instances that are configured for Automatic Department Generation! Modifying the Primary Key value will result in a new Department being created. Modifying the Name Field value will result in the existing Department being renamed to reflect the new name.

Example Automatic Department Creation

For example, suppose the Fund Business Object's Primary Key is FundId. A department Fund Processing uses the Fund data with its Primary Key as data path as department variable.

Fund Processing Department Properties
Figure: Fund Processing Department Properties

The Fund Business Object is configured for Automatic Department Generation for this Organization.

Configure Business Object for Automatic Department Generation
Figure: Configure Business Object for Automatic Department Generation

A new Business Object Instance is created with FundId = EQTF9.

Create Business Object Instance
Figure: Create Business Object Instance

As a result, a new EQTF9 Department will be created for the Fund Processing Organization.

Automatically created Department
Figure: Automatically created Department

Restrictions for changing Business Object Data Type Fields in new Model Versions

Changing the structured data type of Business Object data in already deployed models is supported for the following operations:

The following operations are not supported or restricted to described scenarios:

Modifying the Business Object Primary Key

Changing the name of the Primary Key field is not supported.

Modifying a Foreign Key in the Referenced Object Field

Changing the name of a Referenced Object(s) field, which is used as foreign key, is not supported.

Renaming a Field in the Structured Data Type

Renaming a field is equivalent with deleting the field and creating a new one. All the data in the field will be lost! As a workaround for changing field names you could do the following:

  1. Export the Business Object instances
  2. Change the name of the field(s) in the CSV file
  3. Rename the field(s) in the model
  4. Re-deploy the model
  5. Re-import the CSV file

Changing the Type of a Field in the Structured Data Type

Changing the type of a field in the corresponding structured data type is supported only in scenarios where type conversion is possible.

Changing the Cardinality of a Field in the Structured Data Type

It is supported to change a single object field to a list, but not the other way around.