The INPUT PARAMETERS operator allows you to place project parameters onto the data bus in the form of bits—that is, columns and their corresponding values. At the operator’s output, a data stream is created containing a record (or records) that correspond to the values of the project’s declared input parameters.
For array parameters, the operator generates multiple records and allows them to be combined according to the selected mode:
- Cross – creates a Cartesian product of the values from multiple arrays (all possible combinations),
- Join by position with null complementation – combines elements by their position in the arrays; missing elements are filled in with empty (NULL) values.
This makes it possible to:
- start a new process path based solely on data coming from the project parameters,
- convert parameters into data bus values, which can then be further processed by subsequent operators,
- feed another processing path, for example using the
OUTPUT PARAMETERS operator, to pass results forward as output parameters.
The INPUT PARAMETERS operator is particularly useful in projects that rely on dynamic control data initiated by a user, a Web Service call, or another source of global parameters.
Project parameters can be used in many operators—for example, in CALL SQL as query parameters, or in operators that use logic such as
IF,
COMPUTING,
REST API CALL and others.
OPERATOR CONFIGURATION
The Columns tab contains two lists:
- Columns → the list of columns (output bus bits from the component), generated based on the parameters.
- Parameters to choose → the list of project parameters.
To place a parameter onto the bus, you can use drag-and-drop. Click and drag a parameter from the Parameters to choose list to the Columns list, or double-click the selected parameter.
Since parameters can also be of an array type, and are passed to the data bus as simple types, the data bus output from the operator may contain more than one record. You can define how parameters are combined into records in the Properties tab.
- Cross → combines parameters using the Cartesian product.
- Join by position with null complementation → creates as many rows on the data bus as there are elements in the largest parameter array, assigning array elements to rows according to their position. Arrays with fewer elements are padded with
null. Simple parameter types are propagated to every row.
For example, if the input parameters are:
store_id: 1
key_no: 6
indexes_param: [’abc’, ‘bcd’]
batch_id: [5,6,7]
the resulting bus will have the structure:
store_id | key_no | indexes_param | batch_id |
1 | 6 | ‘abc’ | 5 |
1 | 6 | 'abc’ | 6 |
1 | 6 | ‘abc’ | 7 |
1 | 6 | ‘bcd’ | 5 |
1 | 6 | ‘bcd’ | 6 |
1 | 6 | ‘bcd’ | 7 |
So if the input parameters are:
store_id: 1
key_no: 6
indexes_param: [’abc’, ‘bcd’]
batch_id: [5,6,7]
you will get a data bus with the following structure:
store_id | key_no | indexes_param | batch_id |
1 | 6 | ‘abc’ | 5 |
1 | 6 | ‘bcd’ | 6 |
1 | 6 | null | 7 |