Generowanie skryptu OData na arkuszy EI_Script_OD
Aby utworzyć skrypt OData na arkuszu EI_Script_OD, z menu wstążki należy wybrać opcję „Dodaj serwis OData”. Pojawi się okno definiowania wywołania serwisu:
W tym oknie definiuje się opcje wywołania serwisu takie jak metoda http (GET, POST, PUT,PATCH,…), uri serwisu OData i parametry jego wywołania. W przypadku metod innych niż GET, po prawej stronie okna, definiowane są dodatkowo parametry przekazywane wraz z wywołaniem serwisu (nagłówek i dane).
Znaczenie poszczególnych elementów okna opisuje poniższa tabela:
Nazwa elementu |
Opis znaczenia elementu |
Rodzaj serwisu OData |
Definiuje czy serwis jest serwisem SAP, czy innym serwisem OData nie implementowanym w systemie SAP. |
Wersja serwisu OData |
Dla serwisu SAP do wyboru albo V2 albo V4 (odpowiadająca drugiej, lub czwartej wersji OData) |
Metoda HTTP |
Metoda http. Większość serwisów OData implementuje metodę GET (raportowanie). Część implementuje dodatkowo zmianę, tworzenie danych i kasowanie za pomocą metod POST/PATCH/DELETE. Implementowane metody znajdują się w opisach serwisów OData, np. na stronach https://api.sap.com |
Protokół |
Do wyboru http/ https lub automatyczny wg konfiguracji systemu. |
Nazwa hosta |
Adres serwera, na którym zaimplementowano serwis OData. Można wybrać automatycznie klawiszem „Wyszukaj host i port”. |
Port |
Port serwera, na którym zaimplementowano serwis OData. Można wybrać automatycznie klawiszem „Wyszukaj host i port”. |
Ścieżka do usługi |
Ścieżka uri bezpośrednio przed usługą OData. Domyślna ścieżka ustalana na podstawie wersji usługi OData. |
Serwis OData |
Usługa OData z przedrostkami np. przestrzenią nazw. Można wybrać automatycznie klawiszem „Wyszukaj usługę OData”. |
Zasób OData |
Zazwyczaj tzw. entity set. Można wybrać automatycznie klawiszem „Wyszukaj EntitySet”. |
Parametry 1/2 |
Dalsze parametry wywołania OData. Można wybrać z listy klawiszem „Wyszukaj”. |
Format |
Format rezultatu. Powinien być wybrany JSon, chyba że serwis nie obsługuje tego formatu. W przypadku wybrania formatu XML (niezalecene), należy ustawić parametr konfiguracyjny EI_C_OD_MATCHING_LEVEL Poziom dopasowania rezultatu (0 = dokładny) na wartość 1. |
Klawisz „Testuj zapytanie GET” lub „Użyj zapytania GET jako danych wywołania” |
Umożliwia przetestowanie zapytania GET lub jeśli wybrano opcję inną niż GET, pobranie danych zapytania GET, jako danych do wywołania innej metody http np. PUT. |
Rekordy (0 = wszystkie) |
Jeśli > 0, wtedy zapytanie GET jest filtrowane frazą $top=N, gdzie N to liczba wpisana w pole. Jeśli N = 0, to brak filtrowania. Uwaga! Filtrowanie to dotyczy tylko przygotowania zapytania - czyli trzech przypadków: - testów zapytania GET - pobrania zapytania GET, jako danych wejściowych zapytania innego niż GET - do pobrania danych definicji rezultatu zapytania (wykonywane po naciśnięciu klawisza OK). Uwaga! Czasem pożyteczne przy definiowaniu zapytania POST lub PATCH, może być ustawienie małej wartości (np. 2-3) do pobrania danych wywołania, i przestawienie na 0 lub dużą wartość na moment pobierania definicji zapytania (przed naciśnięciem klawisza OK). |
Pole zaznaczenia „Użyj zapytania GET, by pobrać CSRF-Token oraz ETag |
Wybranie sprawia, że przed wywołaniem innych metod niż GET, EasyInput najpierw wywołuje metodę GET i z nagłówka odczytuje parametry CSRF-Token, oraz jeśli istnieje ETag i przekazuje je do kolejnego wywołania jako parametry nagłówka CSRF-Token oraz If-Match. |
Nagłówek zapytania |
Określa format danych zapytania dla zapytań innych niż GET. |
Dane zapytania |
Dla zapytania GET w oknie tym można zobaczyć wynik testu zapytania. Dla zapytań innych niż GET określa ciąg znaków przekazywany jako dane zapytania. Najczęściej jest to wyrażenie JSon, pobrane z wywołania GET (klawisz Użyj zapytania GET jako danych wywołania). |
Po zdefiniowaniu wszystkich potrzebnych parametrów wywołania serwisu OData należy wybrać OK, by EasyInput automatycznie utworzył skrypt OData w arkuszu EI_Script_OD.
Uwaga! Definicja pól wyjściowych zapytania (EData) pobierana jest poprzez wywołanie zapytania GET, a nie za pomocą odczytu matadanych. Stąd jeśli brak danych w systemie, lub ustawiono małą liczbę rekordów zapytania, informacje o polach wyjściowych mogą być niepełne!
Skrypt po wygenerowaniu należy uzupełnić przypisując parametry wejściowe (WriteData) i wyjściowe (ReadData). Zobacz ogólny opis definiowania skryptu w EasyInput.