Modifying business objects for the connector

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.

When modifying or extending a business object for the connector, if PeopleCode is used to assemble keys, you must modify the PeopleCode in the XR_EVENT_WRK table and the message definitions that were installed with the product. For example, to add a child business object to a hierarchical business object, you must perform the following general steps:

  1. Modify the top-level business object to add two new attributes: the container attribute for the child business object and an attribute to hold the child keys.
  2. Add the child business object. The key in the child business object must have application-specific text that points to the attribute at the top-level object. For example, in the Psft_Employee business object, the child object Psft_OtherPhones has the AppSpecificInfo field for the PhoneType attribute set to OtherPhoneKeys to point back to the top-level business object attribute OtherPhoneKeys.
  3. Modify the PeopleCode in the XR_EVENT_WRK table to add a section that concatenates all the keys for the child objects. For the Psft_Employee business object, the PeopleCode for Psft_OtherPhones creates the string CELL:FAX:HOME, where the keys are separated by colons.
  4. Add a message definition for the child business object and modify the message definition for the top-level business object. For example, the Psft_Employee business object has the following message definitions for the child object:
  5. Add OtherPhonesKeys to the Retrieve Employee message definition for the top-level business object.

Rules for modifying business objects

Follow these rules when modifying business objects for the connector:

Objects spanning multiple panel groups

If a top-level business object or child business object spans two different panel groups, split the business object or child object into two business objects.

Effective dated and effective sequenced rows

  1. PeopleSoft application objects are designed to model the way the panel processes data. A panel with effective dated information identifies the database record that the effective dated information is stored in. This table/record must have the EFFDT as one of its keys. For an example of this, compare the Psft_EffDtEmployee object to the record PS_PERS_DATA_EFFDT. This is the main record referenced on the effective dated subpanel within the employee panel groups.
  2. EffectiveSequence is part of the Job record key, which enables you to track events by sequence on the same effective date. Effective Sequence is a manual input field used to track the multiple actions that occur on the same effective date. It does not have any automated database sequencing. For example, if you entered a "Posn Chg" action for an employee on 4/25/00, and no other action had been performed on that date, leave the Effective Sequence field at 0. If you later entered a "Pay Rt Chg" action for the same employee on 4/25/00, set the Effective Sequence field to 1.
  3. For all effective dated and effective sequenced rows, you must repeat effective date field or effective sequence twice in the message definition. This is necessary only for Create operations in the message definition--for example, CreateJob.
  4. For effective dated rows, list all fields that show up on the panel as attributes in the business object. When inserting new rows into the database, the connector follows the same behavior as if the user is online inserting a row by pressing the F7 key. In both cases, all the attributes in the scroll are copied into the new scroll. If you do not specify all the attributes in the business object, you run the risk of unintentionally copying data from a previous row into the new row.
  5. For effective dated rows, you need to specify the attribute application-specific text to be EFFDT in the Business Object.
  6. For effective dated rows, you need an extra message definition. The name of the message definition has to be the business object name + EFFDT. The attributes are the keys (input) and EFFDT (output). For example:
    Message Definition = RetrieveJobEFFDT
    Attributes =   EmployeeId (input)
              EmployeeRecNum (input)
              JobEffectiveOnDate (output)
    

Message definitions

  1. Because the Message Agent processes data in the same order as the online panels, the order of fields in the message definition is important only for fields requiring validation from previously entered data. Otherwise, the order of the fields listed on the Message Definition is not important.
  2. In the message definitions, the message Output All Occurrences works only for Level 1 fields. See Create Message Definitions in the Peoplebooks Development Tools for more information. If you need to retrieve a Level 2 or Level 3 row, you must create a new panel to move the Level 2 or Level 3 fields to Level 1.

Business object attributes

Attributes must exist in both the business object and the message definition. Attribute names must be spelled consistently. The order of attributes in the business object is not important.

Child business object keys

Child business objects do not need to repeat the keys that already exist in the parent business objects. When the connector processes a hierarchical business object, the connector first obtains the keys that are stored in the parent business objects, then processes the child business objects. However, the keys must be repeated in the Message Agent definition.

Attribute names

Do not use EFFDT or EFFSEQ as the attribute name.

AppSpecificInfo

You can have only two identifiers for AppSpecificInfo. They must be delimited by a colon (:). For example:

AppSpecificInfo = EFFDT:Additional PayKeys

Event notifications

To process event notifications, the connector takes the value of OBJECT_ID in the event table and stores it in a field called [business object name]Id. This field name might differ from the actual name of the key in PeopleSoft. For example, in PeopleSoft 7.5, the key for the Item table is InvItemId, but the connector requires that the name of the key in the Item business object be ItemId.

Attribute names in business objects and message definitions

The connector requires that there be an exact match in attribute names between the business object and the message definitions for each verb for that object. For example, there must be an exact match between the attribute names in Psft_Item and the attribute names in the following message definitions:

As you update message definitions, make sure that the spelling and capitalization of the attribute names matches the attributes in the business object. These message definitions can be found in the IBM WebSphere business integration business process and the Connector Integration activity.

Copyright IBM Corp. 1997, 2004