ReadContainer and WriteContainer

General

ReadContainers and WriteContainers form an abstraction level that allows you to define which data is displayed or where it is written on pages of an application. Data is read with ReadContainers and written with WriteContainers.

The areas "ReadContainers" and "WriteContainers" can be shown or hidden using the "View" menu. If you select an application page in the application structure, the ReadContainer / WriteContainer area displays which containers have been defined for this page. In principle, both container types have the same setup. They are broken down into:

With ReadContainers, data from the data group, which contains the current applications page, is read. With WriteContainers, data can be written to any data group of the same application. You can also use custom ReadContainers and WriteContainers to integrate custom Java classes. Information on this subject is available in our Academy seminars.

ReadContainer

General

Every application page has exactly one ReadContainer for the data group, which it is contained in. View pages at the top level of the application structure (i.e. directly beneath the application node) and pages in a system data group are exceptions to this. These pages do not have a ReadContainer and one cannot be created for them.

Create ReadContainers

In addition to the predefined ReadContainer on application pages in a data group, custom ReadContainers can be created that enable you to integrate custom Java classes.

Add ReadContainer

Opens a dialog where a new ReadContainer can be created.

Delete ReadContainer

Deletes the currently selected ReadContainer.

Move up / down

Change the order of the containers.

ReadContainer for free layout tables

For every free layout table on a page, exactly one ReadContainer is created with the "multiInput" type.

Properties

Beneath the list of ReadContainers, you will find the properties of the ReadContainer currently selected. You can show/hide these by clicking on the title bar.

Name

Displays the name of the ReadContainer.

Type

Displays the type of the ReadContainer:

  • dataGroup

    The dataGroup type is used for the standard ReadContainer, which is automatically created for every application page in a data group. The name of these ReadContainers is made up of the prefix "READ_" and the name of the respective data group. In principle, the dataGroup Type is used for ReadContainers that provide data from a data group.

  • multiInput

    This type is used for free layout table that the current page contains. This ReadContainer is also created automatically when you create a free layout table. The name of these ReadContainers is made up of the prefix "READ_" and the GUID of the respective free layout table.

  • userdefined

    This type is used for ReadContainers that integrate custom Java classes.

Application / Data group

Displays the application and data group whose data is read by the ReadContainer.

Filter criteria

Beneath the properties you will find the filter criteria of the ReadContainer currently selected. You can show/hide this area by clicking on the title bar if the type is "dataGroup" or "userdefined". For "dataGroup" WriteContainers, these are usually already predefined correctly. The filter criteria inform the page which data record is to be displayed. The data restriction using filter criteria corresponds to the WHERE clause in the SELECT statement in the database request. As a page in a data group should only show one single data record, every possible combination of source and target values cannot be selected when editing the filter criteria. This means that a request cannot return more than one data record, which would cause an error when loading the page. The filter criteria are deactivated for "multiInput" ReadContainers as the data displayed in the free layout table is controlled by the pages it integrates.

"Source" column

Displays the source of the filter criteria. The source corresponds to the value that should be used to filter the data in the data group.

"Target" column

Displays the target that the value defined in the source is compared to. If these match, the corresponding data record is displayed.

Edit criterion

Displays a page where the filter criterion can be edited. The help for the settings on this page can be accessed by clicking on the question mark symbol.

Bindings

Bindings link the data read via the ReadContainer to the application elements on the page. Every element that has a binding is displayed in this list.

"Control title" column

The title of the element is shown here.

"Control type" column

The control type of the element is shown here.

"Data field" column

Displays the data type of the data field linked to the element.

Delete binding

Deletes the binding currently selected.

WriteContainer

General

Every application page automatically has a WriteContainer for the data group, which it is contained in. WriteContainers can be created on all pages except for View pages at the top level of the application structure (i.e. directly beneath the application node). Without a WriteContainer, the data record cannot be deleted.

Create WriteContainers

In addition to the already defined WriteContainer of application pages located in a data group, any number of WriteContainers can be created.

Add WriteContainer

Opens a dialog where a new WriteContainer can be created.

Delete WriteContainer

Deletes the currently selected WriteContainer.

Move WriteContainer up / down

Change the order of the containers.

WriteContainer for free layout tables

For every free layout table on a page, exactly one WriteContainer is created with the "multiInput" type.

Properties

The properties of WriteContainers correspond to those of ReadContainers.

Trigger workflow

In addition, the WriteContaine has the setting "Trigger workflow". The setting is already enabled when a WriteContainer is created. It causes data group event handlers, which listen to the same data group as the WriteContainer, to be started automatically when the Add Record, Save Record or Delete Record actions are performed in the browser on the page containing the WriteContainer. If this setting is not activated, the event handler will not respond and the subsequent process steps will not be triggered. This is useful when constructing wizards that lead the users through multiple edit pages in the browser, for example. By activating the "Trigger workflow" setting, you can control that the event handler is only triggered when the Save button on the last page of the wizard is clicked on.

Filter criteria

Beneath the properties you will find the filter criteria of the WriteContainer currently selected. You can show/hide this area by clicking on the title bar if the type is "dataGroup" or "userdefined". For "dataGroup" WriteContainers, these are usually already predefined correctly. The filter criteria inform the page which data record is to be saved. The data restriction using filter criteria corresponds to the WHERE clause in the UPDATE statement in the database request. As a page in a data group should only save one single data record, every possible combination of source and target values cannot be selected when editing the filter criteria. This means that a request cannot edit more than one data record, which would cause an error when saving the page. The filter criteria are deactivated for "multiInput" WriteContainers as the data saved in the free layout table is controlled by the pages it integrates.

"Source" column

Displays the source of the filter criteria. The source corresponds to the value that should be used to filter the data in the data group.

"Target" column

Displays the target that the value defined in the source is compared to. If these match, the corresponding data record is used for saving the data.

Edit criterion

Displays a page where the filter criterion can be edited. The help for the settings on this page can be accessed by clicking on the

question mark symbol.

Bindings

Application elements, which have a binding, can be added or edited here. Elements can also be dragged from the workspace to the Bindings area via drag & drop.

"Control title" column

The title of the element is shown here.

"Control type" column

The control type of the element is shown here.

"Data field" column

Displays the data type of the data field linked to the element.

Add binding

Displays a page where a new binding can be created. The help for the settings on this page can be accessed by clicking on the question mark symbol.

Edit binding

Displays a page where the binding currently selected can be edited. The help for the settings on this page can be accessed by clicking on the question mark symbol.

Delete binding

Deletes the binding currently selected.