vytvoření první velmi jednoduché služby odata SAP Gateway

v současné době je k dispozici tolik informací a zdánlivě nových technologií o vývoji mobilních a responzivních aplikací v rámci SAP, takže je velmi obtížné vědět, kde začít. Takže Fiori je budoucnost spolu se SAPUI5, co SAP Gateway a OData, nebo dokonce HANA, Ariba (nebo jak se tomu říká) a nekonečné další jména a technologie kolem….. Jak to všechno zapadá do velkého obrazu pro vývojáře SAP?
začněme na úrovni terénu, tj. brány Netweaver, kde jsou vyžadovány tradiční dovednosti SAP ABAP jako součást budování aplikace Fiori.Brána SAP je ve skutečnosti již mnoho let, ale s přechodem na aplikace Fiori / Mobile / responzivní se stále více používá a nyní je klíčovou součástí vašeho prostředí SAP.Brána umožňuje přístup k datům ve vašem systému SAP prostřednictvím služeb odata.
… takže v tomto novém světě Fiori je frontend vytvořen pomocí SAPUI5 pomocí webového IDE,
…tím se volá služba OData, která byla vytvořena ve vašem systému SAP prostřednictvím brány SAP
…služba odata používá ABAP k načtení dat SAP a vrací je prostřednictvím služby odata
níže uvedený příklad vám ukáže, jak rychle vytvořit první službu brány odata pomocí základního kódu ABAP pro výběr dat ze standardní tabulky.
Krok 1-SAP Netweaver Gateway Service Builder
Nejprve přejděte na transakční SEGW, kde budete moci vytvořit svou službu

Krok 2 – Vytvořit projekt
dále pomocí tlačítka vytvořit musíte vytvořit projekt pro uložení všech datových modelů, implementtions, typy entit, sady entit atd. Nebojte se příliš mnoho o terminologii v této fázi, vše bude jasné.

Krok 3-Zadejte podrobnosti projektu
zadejte název, popis a balíček. Nechte vše ostatní jako výchozí, pokud nevíte, že potřebujete něco konkrétního.

Krok 4-Import DDIC struktury
tento příklad založíme na podmnožině standardní tabulky SAP EKKO. V rámci nově vytvořeného projektu klikněte pravým tlačítkem myši na uzel „datový Model“ a vyberte Import – >struktura DDIC

Krok 5-Zadejte podrobnosti struktury
zadejte EKKO do pole struktura ABAP a zadejte objekt název, tj. purchaseorder

Krok 6 – zobrazit vlastnosti
rozbalte nově vytvořený uzel „Entity Type->purchaseorder“ a poklepejte na uzel vlastností

právě použijeme několik nejlepších polí, takže vyberte všechna pole pod Statu a odstraňte je

, dokud to nebude vypadat takto

Poznámka: důvod, proč je tento uzel nebudu používat všechna pole, protože některé jsou nekompatibilní se službou brány bez změny datového typu.Ukážu vám, kde byste chybu dostali dále, kdybyste použili všechna pole. Tyto informace vám mohou pomoci pochopit errorquicker, když jej v budoucnu vytváříte.
Krok 7-Vytvoření Entity Set
Uložte svůj proces tak daleko a poté klikněte pravým tlačítkem myši na uzel Entity Set a vyberte Vytvořit

Krok 8-alternativní způsob vytvoření Entity Set
alternativně dvakrát klikněte na uzel Entity Set a poté klikněte na tlačítko Připojit řádek

Krok 9 – Podrobnosti Entity set
uveďte název entity set (obvykle množné číslo typu Entity)

poté vyberte typ Entity z nápovědy pro výběr vstup

po výběru stiskněte ok (zelené zaškrtnutí)

Entity set byl nyní vytvořen

Krok 10-generovat gateway service
nejprve dvakrát klikněte na uzel projektu a vygenerujte celý projekt pomocí tlačítka „generovat Runtime objekty“

nyní si všimnete, že byly vytvořeny objekty implementace služby.Vytvořit, odstranit, GetEntity( Read), GetEntitySet (Query) a aktualizovat

krok 11-aktivní a udržovací služba
nyní musíte jít do transakce „/ IWFND / MAINT_SERVICE “ vždycky zjistím, že to funguje, pouze pokud iadd / n na začátku, tj. /N /IWFND/MAINT_SERVICE

krok 12 – Přidat službu
v rámci/n / IWFND / MAINT_SERVICE klikněte na tlačítko Přidat službu

poté zadejte informace o službě, kterou chcete přidat (upozornění v tomto okamžiku můžete použít zástupné znaky k nalezení služby)

stisknutím klávesy enter vyhledejte službu nebo služby, které odpovídají vašim kritériím vyhledávání. Po kliknutí na ten, který chcete přidat

na další obrazovce se zobrazí vybrané podrobnosti o službě, zadejte podrobnosti o balíčku (tj. Poté stiskněte tlačítko ok (zelené zaškrtnutí)

Nyní byste měli obdržet vyskakovací okno zprávy, že vaše služba „byla vytvořena a metadata byla načtena úspěšně“

návrat na předchozí stránku

krok 13-Najděte svou přidanou službu
Nyní budete vráceni do katalogu služeb, v závislosti na tom, kolik služeb máte v systému nastaveno, možná budete muset použít funkci filterfunctionality k nalezení nově přidané služby.

nyní byste měli vidět podrobnosti o nastavení služby a zelený semafor vedle uzlu odata ICF v levém dolním rohu.

krok 14-klient brány SAP Netweaver
nyní jej musíme otestovat pomocí klienta brány SAP Netweaver, ke kterému se přistupuje pomocí tlačítka „klient brány“ těsně nad uzlem odata v levém dolním rohu

poté ponecháme požadavek URI jako výchozí “ / sap / opu / odata / sap / ZTEST_PROJECT_SRV/?$format=xml „jednoduše klikněte na tlačítko „Execute“

pak byste měli získat HTTP odpověď podobnou této se zeleným status_code


krok 15-Další testy prostřednictvím klienta SAP Netweaver Gateway
nyní můžete upravit adresu URL tak, aby skončila „$metadata?sap-ds-debug=true “ a poté znovu stiskněte execute, abychom mohli vrátit vlastnosti metadat entity purchaseorder

„/sap/opu/odata/sap/ZTEST_PROJECT_SRV / $metadata?sap-ds-debug=true“

nyní změňte URI na “ / purchaseobjednávky?sap-ds-debug=true “ na konci, abychom mohli zacílit na data nastaveného nákupu

„/sap / opu / odata / sap / ZTEST_PROJECT3_SRV / purchaseorders?sap-ds-debug=true“


když stisknete execute, měli byste dostat následující chybu, protože jsme dosud neimplementovali metodu, která tato data dosud obsahuje

krok 16-implementujte metodu GetEntitySet
nyní se vraťte k transakci SEGW a najděte metody implementace služby vytvořené dříve. Najděte ten, který byl nazvángetentityset (dotaz) a klikněte na něj pravým tlačítkem. Poté vyberte „přejít na pracovní plochu ABAP“

zobrazí se následující zpráva, že operace ještě nebyla implementována. Jednoduše klikněte na ok

Nyní budete přesměrováni na tcode SE80. V seznamu objektů vlevo najděte metodu PURCHASEORDERS_GET_ENTITYSET v metodách – >zděděné metody.
jakmile to najdete, klikněte na něj pravým tlačítkem a v kódu metody, který se objeví, vyberte předefinovat

jednoduše přidejte následující příkaz ABAP select
vyberte *
až 10 řádků
z ekko
do odpovídajících polí tabulky et_entityset.

Uložit a aktivovat

krok 17-znovu otestovat službu
znovu změnit URI na “ / sap / opu / odata / sap / ZTEST_PROJECT_SRV / purchaseorders?sap-ds-debug=true“

tentokrát byste měli dostat některá data vrácena

krok 18-Další informace
pamatujte, že jsem se zmínil o nepoužívání všech polí z tabulky EKKO, protože některá nejsou kompatibilní.Pokud jste je zahrnuli všechny při provádění URI “ / sap / opu / odata / sap / ZTEST_PROJECT_SRV / purchaseorders?sap-ds-debug=true “ obdrželi byste následující chybovou zprávu 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-Další vývoj
dalším krokem je přístup k této službě brány z aplikace SAP Fiori


krok za krokem návod, jak vytvořit svůj první jeho webové transakce na základě standardního dialogového programu ABAP pomocí SE80
SAP Netweaver Business Client
SAP vývoj webových aplikací pomocí ITS-příklad ABAP kód a informace
Netweaver-informace o SAP NetWeaver technologies
SAP GUI pro HTML-běh SAP na PC, který nemá klienta SAP nainstalován
udržovat webové služby – Použití transakčního SICF k aktivaci a údržbě webových služeb SAP
vývoj webových aplikací SAP-příklad kódu a informace o různých oblastech vývoje webu
SAP GUI pro HTML-běh SAP na počítači, který nemá nainstalovaného klienta SAP
internetový transakční server (ITS) – výhody a nevýhody
jeho logika toku – výhody a nevýhody použití logiky toku
vývoj webových transakcí SAP-použití SE80 a poté zveřejněno na ITS

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.