Managing Message Parts

This section discusses how to create message parts.

Message parts are individual message definitions that get used in container messages.

While message parts can be rowset-based or nonrowset-based, the advantage of using message parts comes when working with rowset-based messages. By using nonrowset-based message parts, you cannot take advantage of PeopleSoft Integration Broker's framework for creating message definitions, use of PeopleCode, serialization, porting, and so on. The following table highlights some of the advantages of using rowset-based message parts:

Rowset-Based Message Parts

Nonrowset-Based Message Parts

You can use the PeopleSoft Pure Internet Architecture to build rowset-based message parts.

You cannot use the PeopleSoft Pure Internet Architecture to build nonrowset-based message parts.

Message schema is automatically generated for rowset-based messages.

You must generate message schema for nonrowset-based message parts.

The mapping from XML to rowset is managed by the framework.

You must use the XMLDoc class to manipulate nonrowset-based message content.

In addition, you must manually map the XML into XMLDoc for the parts.

Container messages are always nonrowset-based. So, if you use a container message that contains rowset-based part messages, the container messages sends XML that contains none of the standard PeopleSoft message XML structures, such as PSCAMA, FieldTypes, and so on. However, you can use the rowset-based classes and methods to populate and read the structure of each part message.

To create a part message, create a standard rowset-based or nonrowset-based message and select the Part Message check box on the Message Definition page.

When the service system status is set to Production, once a message is used in a container message, you cannot alter the message while it is associated with a container message.

You must generate schemas for all part messages before you can save them.

Schemas for rowset-based messages are automatically built when the message is saved. Schemas for nonrowset-based parts must be added in order to save the message.

The Message Definitions page features a Message Part Default Indicator field that appears when you select or define a rowset-based message part.

When you select the check box, XML that has a value of 0 (zero) passed in an integer field, when serialized to a rowset, causes the IsChanged property flag on the field to set to True.

By default an integer field has a value of 0. So if a 0 or <blank> is passed in a field, the end result is a 0 when accessing the field via the rowset. However, if you select the Message Part Default Indicator check box the IsChanged property on such a field is set to True, meaning that a 0 (zero) was passed in the field.