|Data Objects represent data sources and destinations, which can be triggered for execution. You can choose either a predefined connector (you can activate it to asynchronous) or a business object.|
|Asynchronous||If you select this option, the value helper assistant only offers asynchronous connectors.|
|Value Helper||If you open the value helper, an assistant opens that guide you to your connector.|
|Show Busy Indicator||You have the possibility to configure if the UI is blocked by the busy indicator, or can configure which element on your screen should be blocked by it.|
|Input Mapping||You can map variables, auto fields, widget properties and constants to the input parameter of your connector.|
|Output Mapping||You can map the output parameter of your connector to variables and properties.|
A typical example of a data object is a previously defined connector call. An assistant offers all configured connectors that own connector calls. You can search for the connector name or even the connector type. If you select a connector, all calls are listed on the right side.
You have the possibility to configure if the complete UI should be blocked by the busy indicator, or which element(s) on your screen should be blocked by it.
If you want to assign a connector call to a data object, you have to define the sources for the connector input (the request) and the destination for its output (the response). This is called the “Input Mapping” and “Output Mapping”:
|Clicking one of these two buttons opens a new pop up which allows you to connect widgets with the input or output attributes of a connector call.|
Independent of whether you’re defining the input or output mapping, you’ll always find the mapping sources in the left pane and the destinations on the right.
If you define e.g. the input mapping, you’ll find the list of widgets in the left pane and the available connector call request parameters on the right.
Within the output mapping dialog, the widgets are on the right pane, as they are the destination of the received data. In this example, the request of the selected connector call provides only a single input parameter, an ID field named “TechnischerPlatzId”. This input parameter is connected with the value of the widget “CustomerType”. This means, that once the data object is triggered, e.g. through a button press event, the connector will be called with the actual value of the widget “CustomerType” as the request parameter. You can choose the exact source that you want to use for the input parameter by double-clicking on the widget. It opens a list of all properties so you can choose the one you need as input.
|You can configure asynchronous connectors in the Process Designer. The configuration works as same as with the synchronous connector.|
|When setting a connector to asynchronous, the assistant only offers connectors with asynchronous interfaces (Push, MQTT, and OPC/UA).|
It has two inputs “subscribe” and “unsubscribe” and one output.
|subscribe||can be triggered with any output|
|unsubscribe||can be triggered with any output|
|output||will be triggered on any async. message the Data Object receives|
The input and output mapping of Business Objects works equivalent to the mapping of Connectors.
|After selecting the right business object and the predefined script template, you can map the input and output parameters.|
|Client-side||You can choose between client-side and server-side business objects. Read more about client-side and server-side business objects.|
|Value Helper||By opening the value helper, an assistant opens that takes you to your business object.|
|Show Busy Indicator||You have the possibility to configure if the complete UI should be blocked by the busy indicator, or which element on your screen should be blocked by it.|
|Input Mapping||You can map variables, auto fields, widget properties, and constants to the input parameter of your business object.|
|Output Mapping||You can map the output parameter of your business object to variables and widget properties.|
|The dialog shows all configured business objects that include methods. You can search for the name of the business object. By selecting a business object, all methods are listed on the right-hand side.|
Collections represent multiple results of Structs. For example, a database request may deliver a list of addresses from numerous people and you can map them to the equivalent widget within a data object.
Unfortunately, the input mapping of collections is not yet possible. Nevertheless, you can use the “Script” tile and map your data via code.
There is a general pattern you can follow and adapt it to your specific data. To map data to your table, you must have a predefined connector with at least one connector call.
Now click on the Script tile and edit the code.
Build an object.
Add payload to your object. If the input parameter of your connector call is filled in with an alias, you can add them as keys to your object.
Otherwise, you need an escape function.
payload[escape("soap/_-ITIZ_-OBJ_BUS2012_UPDATE/IT_PO_ITEMS(1)/QUANTITY")] = "X"
Add a global function call with the following Parameters:
- Parameter: Connector name
- Parameter: Connector call name
- Parameter: Keys you added above (payload)
- Parameter: Success function
- -7. Parameter: Error function, showBusyIndicator and error message
The output mapping of a data object to a table, a list or a selected widget can be easily done in the Process Designer.
Click on “Output Mapping” and add the output parameter (on the left) and your table widget (on the right) to the screen. Double click on each to select the items.
Validation of mandatory Parameters
All configured parameters have an indicator if it’s mandatory.
If you haven’t mapped all input parameters of a data object that has been marked as mandatory, the following warning will appear:
Structs describe a package of domain types. For example, the struct “address” contains different domain types like name, street, city, ZIP Code, etc.
You can map structs as input and output parameter within your data object or when using a UI action.
In the example below, we want to use a business object that needs the information first name, last name, street and city as input parameter. Prior to our work in the Process Designer, we have created the struct data type “Person” that contains several domain types like “Firstname” and another struct which is called “Address”.
Within the input mapping of our business object, we can assign the input fields with the equivalent data to the struct “Person” that the business object needs.
By double-clicking on the struct you can choose exactly which parameter you want to select.
Navigate higher or deeper in the struct by clicking on the arrows (e.g. to select the domain type “Street” within the struct “Address”).