ION Bus Functions
ION functions can be used to create and modify data. By calling the function from Data Processing, it is possible include this in automated testing. Since Data Processing can be used to execute any function, the function and arguments must be set according to the ION documentation.
The function is defined with the */Function
keyword together with the name of the function. The arguments for the function are then set as values. Finally the function is executed by calling the *Execute/
keyword.
The example below shows the syntax for creating a transaction by executing “CM_CaptureCashTransaction”.
Mandatory Arguments
A function may have a number of mandatory arguments that must be set before executing the function. The mandatory arguments for a function can be read from the system by using the *FetchFields/
command
OnBehalf Functions
Some functions have "OnBehalfOfToken" and "OnBehalfOfComponentName" arguments. These values are automatically generated by OmniFi, so you can just exclude them. If you set a value, we will use that value instead.
Optional Arguments
Optional arguments can’t be read from the system, so they must be set according to the ION documentation. That also means that the data type must be specified. This can be done with Data Mappings in the OmniFi configuration folder, or by adding the type to the header as in the example below per ColumnName(DataType)
.
Argument Data Types
Function arguments can be of the following types
Type | Description | Example |
---|---|---|
STR | Text value | Currency(STR) |
INT | Integer value | TransactionId(INT) |
REAL | Decimal value | Amount(REAL) |
DATE | Date value | OpeningDate(DATE) |
List Arguments
For list arguments the field name should be prefixed with “ARRAY.”. So, if the field is ReconciliationIdList the field name should be ARRAY.ReconciliationIdList. Since this would typically be optional arguments, the argument type should also be added, like: ARRAY.ReconciliationIdList(STR)
Function Result
The result from a function call can be read by using the *GetValues
command after the function has been executed. To get the result from the function, “result” should be set as the argument. This result could then be used in another function by referencing the result. Please see Keywords for more information about GetValues.
Data Mappings
Data mappings is a way of simplifying a function call by mapping complex system values to more readable once. This can be done for argument names and values. How to configure mappings is described in the Technical Whitepaper.
Data Processing tasks that use mappings will not work on a system that does not have the same mappings.
Debug log with designation “DataProcessing” can be used to see the Data Processing row after the values have been mapped.
Argument Name
Argument name mappings affect the header row. So instead of “TransactionDate” it is possible to use mapped value “Transaction Date”
Argument Value
Mappings for the argument value affects the value that is sent to the function. So instead of using the technical name “CPY1010” it is possible to use the mapped value “CPY_ECB”.
*GetValues
can be used to get the mapped value that is sent to the function.
Updated about 2 years ago