Relations

A Relation entity is used to define a relationship between entities on the BA diagram. Relations are represented by arrows on the BA diagram.

Figure: Relations for a program in a BA diagram

Figure shows a screenshot of a business application diagram where the program entity relates to a form, which has relations to other forms and a report.
There are specific types of relations:
Relation
Relation between Program and Form entities and between Form entities. A form can have relations to multiple forms and reports. For example, in Figure 1 of the Business application diagram, the order form has relations to two zoom forms.

A form can also have multiple relations to another form, thus allowing the same form to behave differently depending on how it is used in the application. See UI Settings.

On a relation, you can set some properties, such as Behavior properties that control how the form should behave in a given state. For example, if you set the Destination UI Settings > Open Mode to MODIFY on the relation, this sets the UI Settings > Open Mode property on the form that allows the user to edit. This means that working with different relations, you can overload functions of the form for specific purposes.

ReportRelation
Relation between Form and Report entities. For example, in Figure 1 of the Business application diagram, the order form has a relation to an order report data entity.
WebServiceRelation
Relation between Web Service Server and Web Service entities.
PhotoRelation
Relation to Photo entity in mobile app diagram.
GalleryRelation
Relation to Gallery entity in mobile app diagram.
PhoneRelation
Relation to Phone entity in mobile app diagram.
SMSRelation
Relation to SMS entity in mobile app diagram.
ContactRelation
Relation to Contact entity in mobile app diagram.
MapsRelation
Relation to Maps entity in mobile app diagram.
BarcodeRelation
Relation to Barcode entity in mobile app diagram.
Note:

See Mobile device function properties for properties specific to mobile app entity relations.

Table 1. Entity Properties
Property Description
Name Name of relation.
Type Type of relation.
Source Relation source entity name.
Destination Relation destination entity name.
Action Action name to be used in generated code to trigger relationship. For example, "zoom1" might be an action name between a Form and a Zoom Form entity.
Source Record If an action is desired only for a specific subdialog, this action is set to a specific record in the form. When empty, the action defined on the relation is global to the DIALOG except if Row Bound property is checked.
Row Bound Renders a contextual action to the current row. See Rowbound actions. If a form has more than one record, Row Bound must be set to one of the records.
Source Field (Position) Specifies the fields used to locate a specific row when opening a Form . They usually correspond to database Foreign Keys. They must match in number and type the Business Record unique key of the target Form. See Control the row position in form.
Source Field (Filter) Specifies the fields whose values are used for filtering when opening a Form. See Opening a form with a subset of data.
Destination Field (Filter) Specifies the fields to filter on when opening a Form. See Opening a form with a subset of data.
Open Mode Open Mode is the initial state of the form when opened. The rendered form's default Toolbar allows the user to switch modes.
Default Mode Default Mode is the mode in which you return after leaving another mode.
Data Refresh If the source form is in DISPLAY mode and opens a destination form, when the destination form closes, the data displayed in the source form refreshes. See Data refresh.
Functionality Change the form's behavior in this relation. See Form behavior in CRUD states.
Target Behavior Change the form's behavior in this relation. See Form behavior in CRUD states.
Report File ReportRelation type relations only. Names the Report Design Document (4rp) to be used for the report. If blank, user can use Select Fields option on Print Report Settings dialog to choose fields for report output.
Report Label Name of report shown in print list.