skapa din första mycket enkla OData SAP Gateway-tjänst

det finns så mycket information och till synes ny teknik tillgänglig om att utveckla mobila och lyhörda applikationer inom SAP just nu gör det mycket svårt att veta var man ska börja. Så Fiori är framtiden tillsammans med SAPUI5, vad sägs om SAP Gateway och OData, eller till och med hana,Ariba(eller vad det kallas) och de oändliga andra namnen och teknologierna runt….. Hur passar dessa alla in i den stora bilden för en SAP-Utvecklare?
Tja, låt oss börja på marknivå, dvs Netweaver Gateway där traditionella SAP ABAP-färdigheter krävs som en del av att bygga en Fiori-app.SAP Gateway har faktiskt funnits i många år men med flytten till Fiori/Mobile/Responsive apps används den mer och mer och är nu en viktig del av ditt SAP-landskap.Gatewayen gör att data i ditt SAP-system kan nås av omvärlden via OData-tjänster.
…så i den här nya Fiori-världen skapas frontenden med SAPUI5 med hjälp av Web IDE,
…detta kallar en OData-tjänst som har skapats på ditt SAP-system via SAP Gateway
…OData-tjänsten använder ABAP för att hämta SAP-data och returnerar den via OData-tjänsten
exemplet nedan visar hur du snabbt skapar din första OData Gateway-tjänst med grundläggande ABAP-kod för att välja data från en standardtabell.
Steg 1 – SAP Netweaver Gateway Service Builder
gå först till transaction SEGW där du kan bygga din tjänst

steg 2-Skapa projekt
nästa med knappen Skapa måste du skapa ett projekt för att lagra alla dina datamodeller, implementeringar, entitetstyper, entitetssatser etc. Oroa dig inte för mycket om terminologin i detta skede, allt kommer att bli klart.

steg 3-Ange projektinformation
ange ett namn, beskrivning och paket. Lämna allt annat som standard om du inte vet att du behöver något specifikt.

steg 4 – importera ddic-struktur
vi kommer att basera detta exempel på en delmängd av standard SAP-tabellen EKKO. Inom det nyskapade projektet högerklickar du på noden ”datamodell” och väljer Importera->Ddic Structure

Steg 5 – Ange strukturdetaljer
ange EKKO i ABAP-strukturfältet och ange ett objekt ett namn dvs. purchaseorder

steg 6 – Visa egenskaper
expandera den nyskapade noden ”Entity Type->purchaseorder” och dubbelklicka på Egenskapsnoden

vi ska bara använda de översta fälten så välj alla fält under Statu och ta bort dem

tills det ser ut så här

Obs: anledningen till att jag inte kommer att använda alla fält är att vissa är inkompatibla med en gateway-tjänst utan att ändra datatypen.Jag kommer att visa dig var du skulle få felet längre ner om du hade använt alla fält. Denna information kan bara hjälpa dig att förstå errorquicker när du skapar en på riktigt i framtiden.
Steg 7-skapa Entity Set
spara din process hittills och högerklicka sedan på entity Set-noden och välj Skapa

steg 8-alternativt sätt att skapa Entity Set
alternativt dubbelklicka på entity Set-noden och klicka sedan på knappen Lägg till rad

steg 9-Entity set-detaljer
ge entity set-namnet (vanligtvis en plural av Entitypstypen)

välj sedan entitetstypen från urvalsinmatningshjälp

när du har valt tryck på ok (grön bock)

Entity set har nu skapats

steg 10-generera gateway service
dubbelklicka först på projektnoden och generera hela projektet med knappen ”Generera Runtime Objects”

du kommer nu att märka att service Implementation Objects har skapats.Skapa, ta bort, GetEntity(Läs), GetEntitySet (fråga) och uppdatera

steg 11 – aktiv och underhålla service
nu måste du gå till transaktion ”/IWFND/MAINT_SERVICE” jag tycker alltid att jag bara kan få det här att fungera om iadd /n i början dvs. /n/IWFND /MAINT_SERVICE

steg 12 – Lägg till tjänst
inom/n/IWFND / MAINT_SERVICE klicka på knappen Lägg till tjänst

ange sedan informationen för den tjänst du vill lägga till (meddelande du kan använda jokertecken vid denna tidpunkt för att hitta din tjänst)

tryck på enter för att hitta din tjänst eller tjänster som matchar dina sökkriterier. När den klickar på den du vill lägga till

nästa skärm visar de valda serviceuppgifterna, ange paketinformation(dvs. lokalt objekt) och lämna allt som standard. Tryck sedan på ok-knappen (grön bock)

du bör nu få ett meddelande popup som din tjänst ”skapades och det är metadata laddades framgångsrikt”

återgå till föregående sida

steg 13 – hitta din tillagda tjänst
du kommer nu att returneras till servicekatalogen, beroende på hur många tjänster du har installerat i ditt system kan du behöva använda filterfunktionalitet för att hitta din nyligen tillagda tjänst.

du bör nu se serviceinställningsinformationen och ett grönt trafikljus bredvid ODATA ICF-noden i nedre vänstra hörnet.

steg 14-SAP Netweaver Gateway Client
vi måste nu testa det med SAP Netweaver Gateway Client, som nås via knappen” Gateway Client ” precis ovanför ODATA-noden i nedre vänstra hörnet

sedan lämnar begäran URI som standard ”/sap/opu/odata/sap/ZTEST_PROJECT_SRV/?$format=xml ”klicka bara på” Execute ” – knappen

du bör då få en HTTP respose som liknar detta med en grön status_code


steg 15-ytterligare tester via SAP Netweaver Gateway Client
nu kan du ändra webbadressen så att den slutar med ”$metadata?sap-ds-debug = true”och tryck sedan på execute igen, så att vi kan returnera metadataegenskaper för purchaseorder-enheten

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

ändra nu URI för att ha ” / köporder?sap-DS-debug=true ” I slutet så att vi kan rikta in data förentity set purchaseorder

”/sap / opu/odata/sap/ZTEST_PROJECT3_SRV / inköpsorder?sap-DS-debug = true”


när du trycker på execute bör du få följande fel eftersom vi inte har implementerat metoden sombefolkar dessa data ännu

Steg 16 – implementera GetEntitySet-metoden
återgå nu till SEGW-transaktionen och hitta de implementeringsmetoder som skapats tidigare. Hitta den som hetergetentityset (fråga) och högerklicka på den. Välj sedan ”gå till ABAP Workbench”

följande meddelande visas och säger att operationen ännu inte har implementerats. Klicka bara på ok

du kommer nu att tas till tcode SE80. I objektlistan till vänster hittar du metoden PURCHASEORDERS_GET_ENTITYSETINOM metoder – > ärvda metoder.
när du har hittat det här högerklickar du på det och väljer omdefiniera

inom metodkoden som visas lägger du bara till följande ABAP select-uttalande
välj *
upp till 10 rader
från ekko
till motsvarande fält i tabell et_entityset.

spara och aktivera

steg 17-testa tjänsten igen
ändra URI igen till ”/sap/opu/odata/sap/ZTEST_PROJECT_SRV/purchaseorders?sap-DS-debug = true”

den här gången borde du få några data tillbaka

Steg 18 – ytterligare information
kom ihåg att jag nämnde att jag inte använde alla fält från EKKO-tabellen eftersom vissa inte är kompatibla.Om du hade inkluderat dem alla när du kör URI ” /sap/opu/odata/sap/ZTEST_PROJECT_SRV / purchaseorders?sap-DS-debug = true ” du skulle ha fått följande http-felmeddelande:

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

steg 19-vidareutveckling
nästa steg är att komma åt denna gateway-tjänst från din SAP Fiori-App


steg för steg instruktioner om hur du skapar din första sin webb transaktion baserad på standard ABAP dialog program med SE80
SAP Netweaver Business Client
SAP webbapplikation utveckling med hjälp av dess – exempel ABAP kod och information
Netweaver-Information om SAP netweaver technologies
SAP GUI för HTML-kör SAP på en dator som inte har SAP-klienten installerad
underhålla webbtjänster – Användning av transaktions SICF för att aktivera och underhålla SAP webbtjänster
SAP webbapplikation utveckling-exempel kod och information om olika områden av webbutveckling
SAP GUI för HTML-kör SAP på en dator som inte har SAP-klienten installerad
Internet transaction server (ITS ) – fördelar och nackdelar
dess Flödeslogik-fördelar och nackdelar med att använda sin flödeslogik
utveckla SAP webbtransaktioner-med hjälp av SE80 och sedan publiceras till ITS

Lämna ett svar

Din e-postadress kommer inte publiceras.