Operator INPUT PARAMETERS umożliwia wprowadzenie parametrów projektowych na magistralę danych w postaci bitów – czyli kolumn i wartości danych. Na wyjściu operatora tworzony jest strumień danych zawierający rekord lub rekordy odpowiadające wartościom zadeklarowanych parametrów wejściowych projektu.
W przypadku parametrów tablicowych operator generuje wiele rekordów i umożliwia ich połączenie według wybranego trybu:
- Cross – tworzy iloczyn kartezjański wartości z wielu tablic (wszystkie możliwe kombinacje),
- Pozycja z uzupełnieniem NULL-em – łączy elementy według pozycji w tablicach; brakujące elementy uzupełniane są wartościami pustymi.
Dzięki temu możliwe jest:
- rozpoczęcie nowej ścieżki procesu na podstawie danych pochodzących wyłącznie z parametrów projektu,
- przekonwertowanie parametrów na dane magistrali, które mogą zostać poddane dalszemu przetwarzaniu w kolejnych operatorach,
- zasilenie innej ścieżki przetwarzania, np. z użyciem operatora
OUTPUT PARAMETER, w celu dalszego przekazania wyników jako parametry wyjściowe,
Operator INPUT PARAMETERS jest szczególnie przydatny w projektach wykorzystujących dynamiczne dane sterujące, inicjowane przez użytkownika, wywołanie z WebService lub inne źródło parametrów globalnych.
Parametry projektu są możliwe do wykorzystania w wielu operatorach np. w CALL SQL jako parametry zapytania do bazy, W operatorach wykorzystujących algorytmy typu
IF,
COMPUTING,
REST API CALL itp.
KONFIGURACJA OPERATORA
Zakładka Columns zawiera dwie listy
- Columns → lista kolumn (bitów magistrali wyjściowych z komponentu), wygenerowanych na podstawie parametrów.
- Parametrs to chooces → lista parametrów projektu.
Aby parametr został przeniesiony na magistralę możesz użyć techniki drag and drop. Kliknij i przeciągnij parametr z list Parametrs to choose na listę Columns lub kliknij dwukrotnie w wybrany parametr.
Ponieważ parametry mogą występować również jako typ tablicowy, a na magistralę danych zostają przekazane jako typy proste, magistrala danych wychodząca z operatora może mieć więcej niż jeden rekord. Sposób łączenia parametrów w rekordy możesz zdefiniować na zakładce Properties.
- Cross → łączy parametry jako iloczyn kartezjański
- Join by position with null complementation → stworzy tyle wierszy magistrali ile elementów posiada największa tablica parametrów przyporządkowując elementy tablicy do wierszy zgodnie z ich pozycją w tablicy. Tablice parametrów z mniejszą ilością elementów dopełni wartością
null
. Typy proste parametrów będą propagowane na każdy wiersz.
czyli jeśli parametry wejściowe to:
store_id: 1
key_no: 6
indexes_param: [’abc’, ‘bcd’]
batch_id: [5,6,7]
otrzymamy magistralę o strukturze:
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 |
Czyli jeśli parametry wejściowe to:
store_id: 1
key_no: 6
indexes_param: [’abc’, ‘bcd’]
batch_id: [5,6,7]
otrzymamy magistralę o strukturze:
store_id | key_no | indexes_param | batch_id |
1 | 6 | ‘abc’ | 5 |
1 | 6 | ‘bcd’ | 6 |
1 | 6 | null | 7 |