Identifying Changes to Field-Level Attributes
When sending and receiving messages, all blank data values get stripped. As a result, you cannot determine if a field value is blank by definition, or if its value was stripped in the messaging process.
The PeopleCode CopyRowset functions CopyRowset, CopyRowsetDelta and CopyRowsetDeltaOriginal, feature an IsChanged attribute that automatically gets set to identify fields that have been changed. Any field that has been changed displays the attribute IsChanged="Y".
Note:
The IsChanged attribute applies only to rowset-based messages. For rowset-based message parts, use the Message Part Default Indicator field to distinguish blanks from zeros in part messages. The IsChanged attribute does not apply to nonrowset-based messages, including nonrowset-based container messages and nonrowset-based part messages.
For example:
<QE_ACNUMBER IsChanged="Y">2</QE_ACNUMBER>Fields that had data and then were blanked contain the IsChanged attribute.
For example:
<DESCRLONG IsChanged="Y"/>Fields that were always blank and thus were not changed do not feature this attribute. For example:
<QE_NAVDESC/>If you are writing subscription PeopleCode you reference the IsChanged value of the field in the message rowset, as always. However, the blanks appear with the attribute IsChanged="Y".
Related Topics