In order to bring you the best possible user experience, this site uses Javascript. If you are seeing this message, it is likely that the Javascript option in your browser is disabled. For optimal viewing of this site, please ensure that Javascript is enabled for your browser.
Login  |   On Demand  |   Home  |   qad.com




Modifying Business Object Data Objects
Once you have created or modified a business object, you can modify the related data objects.
Note: Business objects that employ DDP cannot be modified, except for those values that are enabled on screen during edit mode. These attributes are indicated below.
1
In the object tree on the left, open the new business object and select a table within the tree. The data object details for that table display in the right-hand frame.
If you select the top-level table, no join information displays. If you select one of the lower-level tables as shown in Figure 3.11, the join information displays.
2
Click Edit in the Business Object frame at the top left. The editable fields in the data object become active.

Table Data Object
Enter values for the data object as follows:
Name
Enter a name (maximum 35 characters) for this data object. Data object names must be unique within a business object.
Table
The system displays the application table name.
Description
Enter a brief description (maximum 30 characters).
This attribute may be modified for business objects that employ DDP.
Join
Enter a comma-separated list of join field pairs, each of which is also comma-delimited. Each pair contains the parent table join field, then the child table join field.
The joins are used to navigate upward to the top of the business-object hierarchy when processing application events.
Filter
Optionally, enter filter criteria to limit the data stored after extraction from the application. The filter uses Progress 4GL expressions.
Complex Join and Filter shows a relatively complex join and filter designed to join the abs_mstr and sod_det using the fields abs_order and sod_nbr, and then limiting or filtering the data extracted to those records where the sod_line value is equal to the abs_line value as converted to an integer.

Complex Join and Filter
Inner Join
Specify the inner join query you want to use. An inner join requires each record in the joined tables to have a matching record in order for the join to be successful. For details about using inner joins, see Using Inner Joins in Data Objects.
Identifier
Specify the field in the data object that is the unique identifier. This field is used to match the current event message object with the previous object in order to determine what changes may have occurred. This field must exist on the data object and be the only field on a unique index. The identifier must be specified if the Use Rowids check box for the source application type is not selected. For details see QXO Source Applications.
Important: The identifier must always be specified if the source application type does not use rowids to identify events. For application types QAD SE and QAD EE the identifier defaults to the OID field of the table, which uses the pattern oid_<tablename>—for example, oid_ad_mstr.
3
You can modify the behavior of individual fields in the table. Each field in the table displays in a table with active fields. Modify the values for each field as follows:
Data Type
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.
Fixed Value
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.
You can double-click in the Fixed Value field and view or enter data in a pop-up window.
Fixed values are typically used with custom fields, described in step 5.
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.
Calc Program
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.
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: The Progress program does not necessarily have to run on the AppServer.
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.
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.
Always Publish
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.
This attribute may be modified for business objects that employ DDP.
Primary
Indicate if this field is part of the primary index for the table associated with this data object. For QAD-supplied business objects, the primary fields are already set.
This attribute may be modified for business objects that employ DDP.
4
Buttons in the Business Object frame allow additional configuration of the data object. Click Fields to display the Update Fields screen.

Update Data Object Fields
By default all fields in a QAD-supplied business object are included. To exclude a field from the business object, clear the Include check box for the field.
5
Click Add Custom Field to add a new field to the data object.

Adding a Custom Field
Enter a field name, specify a data type, and add a fixed value or Progress calculation program if needed.
To delete a custom field, click the check box to the left of the field and click Delete Custom Field.
6
Click Save to save the data object and any changes you have made.