Logo
    Pobierz gravity.integration

    Search

    Home

    Informacje podstawowe

    Dokumentacja techniczna

    Przykłady zastosowań

    gravity.integration
    gravity.integration
    /Dokumentacja techniczna
    Dokumentacja techniczna
    /Rodzaje i opis operatorów GRAVITY
    Rodzaje i opis operatorów GRAVITY
    /Operatory przetwarzające
    Operatory przetwarzające
    /COMPUTING
    COMPUTING
    COMPUTING

    COMPUTING

    Operator COMPUTING umożliwia wykonywanie operacji obliczeniowych i przekształceń danych przy użyciu algorytmów napisanych w języku C#, działających na bitach magistrali danych.

    Operator COMPUTING zapewnia elastyczność przekształcania danych i stanowi narzędzie do realizacji niestandardowej logiki biznesowej w procesach systemu GRAVITY.

    W ramach jednego operatora możliwe jest zdefiniowanie wielu operacji przetwarzania. Są one wykonywane sekwencyjnie – kolejne operacje mogą wykorzystywać wyniki wcześniejszych kroków przetwarzania w ramach tego samego rekordu.

    Operator nie tworzy nowych kolumn – wynik działania algorytmu musi zostać przypisany do istniejącego bitu magistrali. Każda operacja:

    • wykonuje zdefiniowany algorytm,
    • zapisuje wynik do wskazanego wcześniej bitu magistrali.

    Przetwarzanie odbywa się dla każdego rekordu magistrali wejściowej. Użytkownik definiuje dowolną liczbę operacji, z których każda na już zmodyfikowanych bitach magistrali.

    Przykład projektu GRAVITY z użyciem operatora COMPUTING

    image

    KONFIGURACJA OPERATORA

    Konfiguracja operatora polega na wskazaniu kolumny, do której zostanie przypisana wartość zwrócona przez algorytm.

    Algorytm musi być napisany w języku C#. Jest on ciałem funkcji, która musi zwrócić wartość o typie danych identycznym z typem wybranej kolumny.

    Np. dla kolumny o nazwie invoice_number o typie Text algorytm wpisywany w operatorze będzie musiał zwrócić wartość typu string czyli będzie ciałem funkcji,

    private string func_23()

    więc algorytm musi zwracać wartość string:

    return "invoiceNumber";

    Domyślnie w algorytmie dostępne są określone deklaracje using:

    "System",
    "System.Xml",
    "System.Xml.Linq",
    "System.Data",
    "System.Linq",
    "System.Collections",
    "System.Collections.Generic",
    "System.Windows",
    "System.Windows.Forms",
    "System.Data.Common",
    "System.Text",
    "Newtonsoft.Json.Linq",
    "MongoDB.Bson"

    Aby dodać przetwarzanie dla wybranego bitu, kliknij pusty rekord na liście i w polu Column wybierz kolumnę, dla której zdefiniujesz algorytm zwracający nową wartość.

    image

    W algorytmie możesz używać danych z bitów magistrali (aktualnie przetwarzany rekord), agregacji (cała magistrala), parametrów projektu oraz zmiennych globalnych wybierając odpowiednią funkcję lub nazwę parametru.

    image

    Dostępne funkcje:

    • GET_VALUE → wartość wskazanej kolumny magistrali,
    • GET_AGGR → suma wartości wskazanej kolumny magistrali, dla wszystkich danych na wejściu,
    • GET_OUTTEMP_AGGR → suma wartości kolumny danych zgromadzonych w zbiorze OUTPUT_TEMPORARY,
    • IS_OPERATOR_EXECUTED → zwraca wartość true, jeśli wskazany operator został już wykonany, w przeciwnym razie false.

    Ustaw kursor w miejscu, w którym chcesz wstawić funkcję, wybierz ją z listy rozwijanej i użyj przycisku wstawiania zaznaczonym na czerwono na poniższym zrzucie z ekranu.

    image

    Dla wybranej funkcji dostępny jest kreator, w którym należy wskazać bit magistrali oraz potwierdzić wstawienie przyciskiem Insert.

    image

    Algorytm można przetestować przyciskiem Test.

    image

    Jeśli test zakończy się poprawnie, zostanie wyświetlona zakładka Result z wynikiem działania algorytmu.

    image

    W przypadku błędu (np. składni C#) zostanie wyświetlona informacja o błędzie.

    image
    icon
    Podczas testowania jako wartości zwracane przez funkcje i parametry projektu podstawiane są wartości domyślne:

    DateTime → DateTime.Now string → "Text" double → 1.0 int → 1; bool → true

    icon
    Algorytmy są wykonywane w kolejności ich dodania, dzięki czemu kolejne operacje korzystają z wartości nadanych we wcześniejszych krokach.