maak uw eerste zeer eenvoudige OData SAP Gateway Service

er is op dit moment zo veel informatie en schijnbaar nieuwe technologieën beschikbaar over het ontwikkelen van mobiele en responsieve applicaties binnen SAP dat het erg moeilijk maakt om te weten waar te beginnen. Dus Fiori is de toekomst samen met SAPUI5, hoe zit het met de SAP Gateway en OData, of zelfs HANA,Ariba(of hoe het ook heet) en de eindeloze andere namen en technologieën rond….. Hoe passen deze allemaal in het grote plaatje voor een SAP Ontwikkelaar?
laten we beginnen op het grondniveau, d.w.z. de Netweaver Gateway waar traditionele SAP ABAP-vaardigheden vereist zijn als onderdeel van het bouwen van een Fiori-app.De SAP Gateway is eigenlijk al vele jaren, maar met de verhuizing naar Fiori/Mobile/Responsive apps het wordt steeds meer gebruikt en is nu een belangrijk onderdeel van uw SAP landschap.Met de Gateway kunnen gegevens binnen uw SAP-systeem(s) worden benaderd door de buitenwereld via OData-diensten.
…in deze nieuwe Fiori-wereld wordt de front-end gemaakt met SAPUI5 met behulp van de Web-IDE,
…dit roept een OData-service aan die op uw SAP-systeem is aangemaakt via de SAP-Gateway
…de OData-service gebruikt ABAP om SAP-gegevens op te halen en retourneert deze via de OData-service
het voorbeeld hieronder laat u zien hoe u snel uw eerste OData-Gatewayservice kunt maken met behulp van basisabap-code om gegevens uit een standaardtabel te selecteren.
Stap 1-SAP Netweaver Gateway Service Builder
ga eerst naar transaction SEGW waar u uw service kunt bouwen

Stap 2 – Create project
vervolgens moet u een project maken om al uw gegevensmodellen, implementaties, entiteitstypen, entiteitssets enz.op te slaan. Maak je niet te veel zorgen over de terminologie in dit stadium, alles zal duidelijk worden.

Stap 3 – Voer projectdetails in
voer een naam, beschrijving en pakket in. Laat al het andere als standaard, tenzij je weet dat je iets specifieks nodig hebt.

Stap 4-Import ddic structuur
we gaan dit voorbeeld baseren op een subset van de standaard SAP tabel EKKO. Binnen het nieuw aangemaakte project,klik met de rechtermuisknop op het” Data Model ” knooppunt en selecteer Import – >Ddic structuur

Stap 5 – voer structuurdetails
voer EKKO in binnen het ABAP structuurveld en voer een object een naam in, d.w.z. koopvolgorde

Stap 6 – Bekijk eigenschappen
vouw het nieuw aangemaakte knooppunt uit “Entity Type->koopvolgorde” en dubbelklik op het knooppunt eigenschappen

we gaan gewoon de bovenste paar velden gebruiken dus Selecteer alle velden hieronder Statu en verwijder ze

totdat het er zo uitziet

Opmerking: De reden dat ik niet het gebruik van alle velden is omdat sommige niet compatibel zijn met een gateway service zonder het gegevenstype te wijzigen.Ik zal je laten zien waar je de fout verder naar beneden zou krijgen als je alle velden had gebruikt. Deze informatie kan alleen maar helpen u de errorquicker begrijpen wanneer u het creëren van een voor echt in de toekomst.
Stap 7 – Entity Set
Sla uw proces tot nu toe op en klik met de rechtermuisknop op het entity Set knooppunt en selecteer Create

Stap 8 – alternatieve manier om Entity Set
aan te maken of dubbelklik op het entity Set knooppunt en klik vervolgens op de rij knop Toevoegen

stap 9-Entity set details
Geef de entity set naam (meestal een meervoud van het Entity Type))

selecteer vervolgens het entiteitstype uit selectie-invoerhulp

eenmaal geselecteerd druk op ok (groen vinkje))

Entiteitset is nu aangemaakt

stap 10-genereren gateway-service
dubbelklik eerst op het projectknooppunt en genereer het hele project met de knop “Runtime-objecten genereren”

u zult nu merken dat er Service-Implementatieobjecten zijn gemaakt.Create, Delete, GetEntity(Read), GetEntitySet (Query) and Update

stap 11-Active and maintain service
nu moet je naar transactie “/ IWFND / MAINT_SERVICE ” ik vind altijd dat ik dit alleen aan de slag kan krijgen als iadd /n aan het begin i. e. /n /IWFND/MAINT_SERVICE

stap 12 – service toevoegen
binnen/N / IWFND / MAINT_SERVICE klik op de knop service toevoegen

voer vervolgens de informatie in van de service die u wilt toevoegen (let op dat u op dit punt jokertekens kunt gebruiken om uw service te vinden)

druk op enter om uw dienst of diensten te vinden die aan uw zoekcriteria voldoen. Zodra het klikt op degene die u wilt toevoegen

het volgende scherm toont u de geselecteerde service details, voer pakket details (dwz lokaal Object)en laat alles als standaard. Druk vervolgens op de ok-knop (groen vinkje))

u moet nu ontvangen een bericht popup dat uw service “is gemaakt en het is metadata succesvol is geladen”

Return to previous page

stap 13-Zoek uw toegevoegde service
u zult nu worden geretourneerd naar de service catalogus, afhankelijk van het aantal services dat u in uw systeem hebt ingesteld, moet u de filterfunctionaliteit gebruiken om uw nieuw toegevoegde service te vinden.

u ziet nu de service setup details en een groen verkeerslicht naast het OData ICF knooppunt in de linkerbenedenhoek.

stap 14-SAP Netweaver Gateway Client
we moeten het nu testen met behulp van de SAP Netweaver Gateway Client, die toegankelijk is via de” Gateway Client “knop net boven het OData knooppunt in de linkerbenedenhoek

, waardoor de aanvraag URI als standaard” / sap/OPU / odata / sap / ztest_project_srv/?$format = xml “klik gewoon op de” Execute “knop

u krijgt dan een HTTP respose vergelijkbaar met deze met een groene status_code


stap 15 – verdere tests via SAP Netweaver Gateway Client
nu kunt u de URL zo wijzigen dat het eindigt met” $metadata?sap-ds-debug = true ” en druk vervolgens opnieuw op uitvoeren, zodat we metadata-eigenschappen van de inkooporder entiteit kunnen retourneren

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

wijzig nu de URI om “/inkooporders te hebben?sap-ds-debug = true ” aan het einde, zodat we de gegevens van de entity set inkooporders kunnen richten

“/sap / opu / odata / sap / ZTEST_PROJECT3_SRV / inkooporders?sap-ds-debug = true”


wanneer u op uitvoeren drukt, moet u de volgende fout krijgen, omdat we de methode die deze gegevens nog niet heeft geïmplementeerd

stap 16-implementeer GetEntitySet methode
keer nu terug naar de SEGW-transactie en vind de service implementatiemethoden die eerder zijn gemaakt. Zoek de ene calledGetEntitySet (Query) en klik er met de rechtermuisknop op. Selecteer vervolgens “Ga naar ABAP Workbench”

het volgende bericht verschijnt dat de bewerking nog niet is uitgevoerd. Klik gewoon op ok

u wordt nu naar tcode SE80 gebracht. In de objectlijst aan de linkerkant vindt u de INKOOPORDERS_GET_ENTITYSET methode met methoden – >overgenomen methoden.
zodra u dit hebt gevonden, klik er met de rechtermuisknop op en selecteer herdefiniëren

binnen de methode code die verschijnt voeg gewoon de volgende ABAP select statement
SELECT *
tot 10 rijen
uit ekko
in overeenkomstige velden van TABLE et_entityset.

opslaan en activeren

stap 17-de dienst opnieuw testen
de URI opnieuw wijzigen in “/sap/OPU/odata/sap/ztest_project_srv/inkooporders?sap-ds-debug = true”

deze keer krijg je een aantal gegevens terug

stap 18-verdere info
onthoud dat ik zei dat niet alle velden uit de Ekko tabel gebruikt werden, omdat sommige niet te verwerken zijn.Als u ze allemaal had opgenomen bij het uitvoeren van de URI ” /sap / OPU / odata / sap / ZTEST_PROJECT_SRV / inkooporders?sap-ds-debug = true ” u zou de volgende http-foutmelding hebben ontvangen:

<?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>

Stap 19 – Verdere ontwikkeling
De volgende stap is om toegang te krijgen tot deze gateway-service van uw SAP Fiori App


Stap voor stap instructies over hoe u uw eerste web transactie is gebaseerd op een standaard ABAP-dialoog-programma met behulp van SE80
SAP Netweaver Business Client
SAP Web Application Development met HAAR – in het Voorbeeld ABAP-code en informatie
Netweaver – Informatie over de SAP netweaver technologieën
SAP GUI voor HTML – actief SAP op een PC die niet de SAP-client geïnstalleerd
Onderhouden van web services – Use of transaction SICF to activate and maintenance SAP web services
SAP Web Application Development-Example code and information on various areas of web development
SAP GUI for HTML-running SAP on a PC that does not have the SAP client installed
Internet transaction server ( ITS) – voor-en nadelen
zijn Flow logic-voor – en nadelen van het gebruik van zijn flow logic
ontwikkelen van SAP Web Transactions-using SE80 and then published to the ITS

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.