Tworzenie pierwszej bardzo prostej usługi OData SAP Gateway

w tej chwili dostępnych jest tak wiele informacji i pozornie nowych technologii dotyczących tworzenia aplikacji mobilnych i responsywnych w systemie SAP, że bardzo trudno jest wiedzieć, od czego zacząć. Tak więc Fiori jest przyszłością wraz z SAPUI5, co z bramą SAP i OData, a nawet HANA,Ariba (czy jak to się nazywa) i nieskończonymi innymi nazwami i technologiami wokół….. Jak to wszystko pasuje do ogólnego obrazu dla programisty SAP?
zacznijmy od poziomu gruntu, czyli Netweaver Gateway, gdzie wymagane są tradycyjne umiejętności SAP ABAP w ramach budowania aplikacji Fiori.Brama SAP istnieje już od wielu lat, ale wraz z przejściem do aplikacji Fiori / mobilnych / responsywnych jest coraz częściej używana i jest obecnie kluczową częścią krajobrazu SAP.Brama umożliwia dostęp do danych w systemach SAP przez świat zewnętrzny za pośrednictwem usług OData.
…więc w tym nowym świecie Fiori front end jest tworzony przy użyciu SAPUI5 przy użyciu IDE Web,
…spowoduje to wywołanie usługi OData, która została utworzona w systemie SAP za pośrednictwem bramki SAP
…usługa OData wykorzystuje ABAP do pobierania danych SAP i zwraca je za pośrednictwem usługi OData
poniższy przykład pokaże Ci, jak szybko utworzyć pierwszą usługę OData Gateway przy użyciu podstawowego kodu ABAP do wybierania danych ze standardowej tabeli.
Krok 1-SAP Netweaver Gateway Service Builder
najpierw przejdź do SEGW transakcji, gdzie będziesz mógł zbudować swoją usługę

Krok 2 – Utwórz projekt
następnie za pomocą przycisku Utwórz musisz utworzyć projekt do przechowywania wszystkich modeli danych, implementacji, typów jednostek, zestawów jednostek itp. Nie przejmuj się zbytnio terminologią na tym etapie, wszystko stanie się jasne.

Krok 3 – Wprowadź szczegóły projektu
wprowadź nazwę, opis i pakiet. Pozostaw wszystko inne jako domyślne, chyba że wiesz, że potrzebujesz czegoś konkretnego.

Krok 4 – Importuj strukturę DDIC
ten przykład oprzemy na podzbiorze standardowej tabeli SAP EKKO. W nowo utworzonym projekcie kliknij prawym przyciskiem myszy węzeł „model danych” i wybierz Importuj – >struktura DDIC

Krok 5-Wprowadź szczegóły struktury
wprowadź EKKO w polu struktura ABAP i wprowadź nazwę obiektu, tj. purchaseorder

Krok 6 – Wyświetl właściwości
rozwiń nowo utworzony węzeł „Entity Type->purchaseorder” i kliknij dwukrotnie węzeł właściwości

po prostu użyjemy kilku najlepszych pól, więc wybierz wszystkie pola poniżej Statu i usuń je

, aż będzie wyglądać tak


uwaga: powodem, dla którego nie zamierzam używać wszystkich pól, jest to, że niektóre są niekompatybilne z usługą bramy bez zmiany typu danych.Pokażę Ci, gdzie można uzyskać błąd dalej w dół, jeśli użył wszystkich pól. Te informacje mogą po prostu pomóc ci zrozumieć errorquicker, gdy tworzysz go w przyszłości.
Krok 7-Utwórz zestaw encji
Zapisz dotychczasowy proces, a następnie kliknij prawym przyciskiem myszy węzeł zestaw encji i wybierz Utwórz

Krok 8-alternatywny sposób utworzenia zestawu encji
alternatywnie kliknij dwukrotnie węzeł zestaw encji, a następnie kliknij przycisk Dołącz wiersz

Krok 9-szczegóły zestawu encji
podaj nazwę zestawu encji (zwykle liczbę mnogą typu encji)

następnie wybierz typ jednostki z wyboru wprowadź pomoc

po wybraniu naciśnij ok (zielony znacznik)

zestaw encji został utworzony

krok 10-Wygeneruj usługa gateway
najpierw kliknij dwukrotnie węzeł projektu i wygeneruj cały projekt za pomocą przycisku „Generuj Obiekty uruchomieniowe”

teraz zauważysz, że obiekty implementacji usługi zostały utworzone.Utwórz, Usuń, GetEntity (Read), GetEntitySet(Query) i zaktualizuj

krok 11 – Aktywuj i utrzymuj usługę
teraz musisz przejść do transakcji „/IWFND/MAINT_SERVICE” zawsze uważam, że mogę działać tylko wtedy, gdy na początku iadd /N. /N /IWFND/MAINT_SERVICE

krok 12 – Dodaj usługę
W/N / IWFND / MAINT_SERVICE kliknij przycisk Dodaj usługę

, a następnie wprowadź informacje o usłudze, którą chcesz dodać (uwaga możesz użyć symboli wieloznacznych w tym momencie, aby znaleźć usługę)

naciśnij enter, aby znaleźć usługę lub usługi, które odpowiadają twoim kryteriom wyszukiwania. Po kliknięciu na ten, który chcesz dodać

następny ekran pokazuje wybrane szczegóły Usługi, wprowadź szczegóły pakietu(tj. obiekt lokalny) i pozostaw wszystko jako domyślne. Następnie naciśnij przycisk ok (zielony zaznacz)

powinieneś teraz otrzymać wyskakujący komunikat, że Twoja usługa „została utworzona i jej metadane zostały pomyślnie załadowane”

powrót do poprzedniej strony

krok 13 – Znajdź dodaną usługę
teraz zostaniesz zwrócony do katalogu usług, w zależności od tego, ile usług masz skonfigurowanych w systemie, może być konieczne użycie filterfunkcjonalność, aby znaleźć nowo dodaną usługę.

powinieneś teraz zobaczyć szczegóły konfiguracji usługi i zielone światło obok węzła OData ICF w lewym dolnym rogu.

krok 14 – Klient bramy SAP Netweaver
musimy teraz przetestować go za pomocą klienta bramy SAP Netweaver, do którego można uzyskać dostęp za pomocą przycisku „Klient bramy” tuż nad węzłem ODATA w lewym dolnym rogu

, pozostawiając domyślnie URI żądania ” /SAP/opu/odata/sap / ZTEST_PROJECT_SRV/?$format=xml „po prostu kliknij przycisk „Wykonaj”

powinieneś wtedy uzyskać http respose podobny do tego z Zielonym kodem status_code


krok 15-dalsze testy za pośrednictwem klienta bramki SAP Netweaver
teraz możesz zmodyfikować adres URL tak, aby kończył się ” $metadane?sap-DS-debug=true”, a następnie naciśnij execute ponownie, abyśmy mogli zwrócić właściwości metadanych jednostki purchaseorder

„/sap/opu/odata/sap/ZTEST_PROJECT_SRV / $metadane?sap-DS-debug=true”

teraz zmienić URI mieć ” / purchaseorders?sap-DS-debug=true ” na końcu, abyśmy mogli kierować dane kupowanych zestawów

„/sap/opu/odata/sap/ZTEST_PROJECT3_SRV / purchaseorders?sap-DS-debug=true”


po naciśnięciu klawisza execute powinieneś otrzymać następujący błąd, ponieważ nie zaimplementowaliśmy jeszcze metody thatepopulates tych danych

krok 16 – zaimplementuj metodę GetEntitySet
teraz wróć do transakcji SEGW i znajdź wcześniej utworzone metody implementacji usługi. Znajdź ten o nazwie calledGetEntitySet (zapytanie) i kliknij go prawym przyciskiem myszy. Następnie wybierz „Przejdź do ABAP Workbench”

pojawi się następujący komunikat informujący, że operacja nie została jeszcze zaimplementowana. Po prostu kliknij ok

zostaniesz przeniesiony do kodu SE80. W liście obiektów po lewej stronie znajduje się metoda PURCHASEORDERS_GET_ENTITYSET z Dziedziczonymi metodami->.
po znalezieniu tego, kliknij prawym przyciskiem myszy i wybierz Redefine

w kodzie metody, który się pojawi, po prostu dodaj następującą instrukcję ABAP select
SELECT *
do 10 wierszy
z ekko
do odpowiednich pól tabeli et_entityset.

Zapisz i aktywuj

krok 17 – ponownie przetestuj usługę
ponownie zmień URI na „/SAP/opu/odata/sap/ZTEST_PROJECT_SRV/purchaseorders?sap-DS-debug=true”

tym razem powinieneś otrzymać dane

krok 18 – dalsze informacje
pamiętaj, że wspomniałem o nieużywaniu wszystkich pól z tabeli EKKO, ponieważ niektóre z nich nie są kompatybilne.Jeśli uwzględniłeś je wszystkie podczas wykonywania URI ” /SAP/opu/odata/sap / ZTEST_PROJECT_SRV / purchaseorders?sap-DS-debug=true”otrzymałbyś następujący komunikat o błędzie http:

<?xml version="1.0" encoding="utf-8" ?>- <error xmlns:xsi="http://www.w3.org/2001/XMLSchema-Instance"> <code>HTTP/500/E/Internal Server Error <message>Call of service /sap/opu/odata/sap/ZTEST_PROJECT_SRV/purchaseorders terminated because of an error. The following error text was processed in system TST : The current statement is only supported for character-type data objects.The error occurred on the application server erpukpltm. The termination type was: RABAX_STATE.If the termination type is RABAX_STATE, you will find more information on the cause of termination in system TST in transaction ST22. If the termination type is ABORT_MESSAGE_STATE, you will find more information on the cause of termination on the application server ????? in transaction SM21. If the termination type is ERROR_MESSAGE_STATE, you can search for further information in the trace file for the work process in transaction ST11 on the application server ______. You may also need to analyze the trace files of other work processes. If you do not yet have a user ID, contact your system adminmistrator.</message> </error>

krok 19-dalszy rozwój
następnym krokiem jest dostęp do tej usługi bramy z aplikacji SAP Fiori


instrukcje krok po kroku, jak utworzyć pierwszą transakcję internetową w oparciu o standardowy program dialogowy ABAP przy użyciu SE80
klient biznesowy SAP Netweaver
Tworzenie aplikacji internetowych SAP przy użyciu its-przykładowy kod ABAP i informacje
Netweaver-informacje o technologiach SAP netweaver
SAP GUI dla HTML-uruchamianie SAP na komputerze, który nie ma zainstalowanego klienta SAP
utrzymanie usług internetowych – Wykorzystanie transakcji SICF do aktywacji i utrzymania usług internetowych SAP
Tworzenie aplikacji internetowych SAP-przykładowy kod i informacje na temat różnych obszarów tworzenia stron internetowych
SAP GUI dla HTML – uruchamianie SAP na komputerze, który nie ma zainstalowanego klienta SAP
Internet transaction server ( ITS ) – zalety i wady
logika przepływu ITS – zalety i wady korzystania z logiki przepływu
opracowywanie transakcji internetowych SAP – korzystanie z SE80, a następnie opublikowane w ITS

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.