Modifying Profile Data Objects
Once you have created a copy of a profile and saved it, you can modify the data objects within the profile.
Select a non-QAD profile in the navigation tree and open the data object you want to modify or delete.
Profile Data Object Nodes
The data object displays in the right pane. Click Edit to access the profile and data object fields.
Profile and Data Object Definition
Use the descriptions in step 4
in Modifying Profiles
to modify the profile settings. Use the following field descriptions to modify the data object.
The name of the XML element or node for the data object in published QDocs.
Indicate if you want this data object included in QDocs generated based on this profile. This setting applies to all of the fields in the object. When you include the object, you can also determine on a field-by-field basis which fields to include.
The system displays the name given this data object in the business object used as a template.
Publish with Parent
Indicate if you want the fields in this data object to be published automatically whenever data in the business object’s parent is published. For example, when a field associated with a sold-to customer changes, you may always want to publish the sold-to customer address.
The hierarchical display in the navigation tree shows the parent/child relationship between data objects.
Note: This option will only work if a parent record has only one child record. If a parent record has multiple child records, when the child records are modified the changes might not appear in the generated QDoc as the QDoc will only contain data for the first child record.
Enter a brief description.
Optionally, enter filter criteria to limit the data extracted from the application. The filter uses Progress 4GL expressions.
Below the profile data object, you can modify settings related to each field in the profile.
Enter the XML element node name used to publish this field in outbound messages.
If it is a custom field, select from one of the following data types: character (default), date, datetime, datetime-tz, decimal, int64, integer, and logical; if it is a database field, the data type is populated by the system and is read-only.
Optionally, specify a fixed value that you always want to use in the QDoc for this field, or specify a value using the format
=$<node>$, in which case the field will be populated with the value in the specified node.
For example, if a profile data object contains two nodes—field1 and field2— and the fixed value component of field2 is =field1, field2 will be populated with the value of field1. If field1 does not exist, the string =field1 will be the value of field2.
Fixed value fields can also contain Progress expressions and perform built-in Progress calculations; for example, =today+2. Fields from the current buffer can be referenced in the current calculation by including the XML node name surrounded by dollar ($) characters; the expression must start with an equals sign (=) character. For example, =substring($ptDesc1$,1,12).
The system determines node values in this order: a fixed value, a calculated value, the value supplied in the event message.
Fixed values are typically used with custom fields.
The fixed value you provide must be consistent with the data type you specified for the field. If there is a mismatch, the system displays an error message when you try to save the data object.
Optionally, enter the name of a Progress program (.p
) to be run. The program can be either in the QXOServer PROPATH, or on the AppServer. The local version will be run if it exists; otherwise it runs on the AppServer. For details on calculated field programs see Implementing Calculated Fields
The system determines node values in this order: a fixed value, a calculated value, the value supplied in the event message. Calculated values are typically used with custom fields.
Make sure the calculated value will be consistent with the data type you specified for the field. If there is a mismatch, the system does not prevent you from saving the data object, but will run into errors during data publishing.
Note: Fixed values and calculated programs can be defined on the business object, the associated profile, or both. If you define a fixed value or calculated program on the business object, all profiles associated with that business object will have that fixed value or calculated result. Defining a fixed value or calculated program on a business object means that associated profiles can filter on that value or result. If you define a fixed value or calculated program on the profile, only that profile has that fixed value or calculated result.
Indicate if the field should be published whenever the data object that contains it is published, regardless of whether the field was changed by the application event.
Indicate if you want this field included in messages generated based on this profile.
Indicate if you want to include this field in the resulting QDoc if the operation is an ADD operation.
By using the Add Only check box, you can define the fields that are locally owned by the target application, and update transactions in the target application without overwriting locally owned data. Selecting the Add Only check box automatically selects the Include check box.
Any field that is specified as Add Only must have its Always Publish check box disabled and the Default Operations check box selected. On saving the data object, the system displays an error message for fields that have incorrect check box selections. An error also displays if Add Only is selected for a key field.
For example, you might use the Add Only check box in a data synchronization scenario where you have fields that are maintained in the local domain and not replicated from the master domain, except in the case where the record is being created. Selecting the Add Only check box means the fields are published only when the record is being added.
Click Save to save the data object changes.