crearea primului serviciu foarte simplu OData SAP Gateway

există atât de multe informații și tehnologii aparent noi disponibile despre dezvoltarea aplicațiilor mobile și receptive în cadrul SAP în acest moment, este foarte dificil să știi de unde să începi. Deci, Fiori este viitorul împreună cu SAPUI5, ce zici de SAP Gateway și OData,sau chiar HANA, Ariba(sau orice se numește) și alte nume și tehnologii nesfârșite din jur….. Cum se încadrează toate acestea în imaginea de ansamblu pentru un dezvoltator SAP?
Ei bine, să începem de la nivelul solului, adică gateway-ul Netweaver unde sunt necesare abilități tradiționale SAP ABAP ca parte a construirii unei aplicații Fiori.SAP Gateway a fost de fapt în jur de mulți ani, dar cu trecerea la Fiori/Mobile/Responsive apps este folosit mai mult și mai mult și este acum o parte cheie a peisajului SAP.SAP pentru a fi accesate de către lumea exterioară prin intermediul Serviciilor OData.
…Deci, în această nouă lume Fiori front-end este creat folosind SAPUI5 folosind Web IDE,
…aceasta solicită un serviciu OData care a fost creat pe sistemul SAP prin SAP Gateway
…serviciul OData folosește ABAP pentru a prelua datele SAP și le returnează prin intermediul Serviciului OData
exemplul de mai jos vă va arăta cum să creați rapid primul dvs. serviciu Gateway OData folosind codul ABAP de bază pentru a selecta datele dintr-un tabel standard.
Step 1 – SAP Netweaver Gateway Service Builder
mai întâi mergeți la transaction SEGW unde veți putea să vă construiți serviciul

Step 2 – Create project
apoi folosind butonul create trebuie să creați un proiect pentru a stoca toate modelele de date, implementările, tipurile de entități, seturile de entități etc. Nu vă faceți griji prea mult despre terminologia în acest stadiu, totul va deveni clar.

Pasul 3 – Introduceți detaliile proiectului
introduceți un nume, o descriere și un pachet. Lăsați orice altceva ca implicit, cu excepția cazului în care știți că aveți nevoie de ceva specific.

Pasul 4 – importați structura DDIC
vom baza acest exemplu pe un subset al tabelului SAP standard EKKO. În cadrul proiectului nou creat, Faceți clic dreapta pe nodul „model de date” și selectați Import->structura DDIC

Pasul 5 – Introduceți detaliile structurii
introduceți EKKO în câmpul structură ABAP și introduceți un obiect un nume adică. purchaseorder

Step 6 – Vizualizați proprietățile
extindeți nodul nou creat „Entity Type->purchaseorder” și faceți dublu clic pe nodul proprietăți

vom folosi doar câteva câmpuri de top, astfel Selectați toate câmpurile de mai jos Statu și ștergeți-le

până când arată astfel

notă: motivul pentru care nu voi folosi toate câmpurile este că unele sunt incompatibile cu un serviciu Gateway fără a schimba tipul de date.Vă voi arăta unde ați obține eroarea mai jos dacă ați fi folosit toate câmpurile. Aceste informații ar putea ajuta doar să înțelegeți errorquicker atunci când creați unul pentru real în viitor.
Step 7-Create Entity Set
Save your process so far and then click dreapta on the Entity set node and select Create

Step 8-mod alternativ de a crea Entity Set
alternativ dublu click pe Entity set nod și apoi faceți clic pe butonul Adăugați rând

Step 9-Entity set details
dă numele entity set (de obicei, un plural de tipul Entity)

apoi selectați tipul entității din ajutor de introducere a selecției

odată selectat apăsați OK (bifați verde)

set entitate a fost creat acum

Pasul 10-genera gateway service
mai întâi faceți dublu clic pe nodul proiectului și generați întregul proiect folosind butonul „Generați obiecte de rulare”

veți observa acum că au fost create obiecte de implementare a serviciului.Creați, ștergeți, GetEntity( citit), GetEntitySet(interogare) și actualizați

pasul 11 – activ și mențineți serviciul
acum trebuie să mergeți la tranzacție „/IWFND/MAINT_SERVICE” întotdeauna găsesc că pot obține acest lucru numai dacă iadd /n la început, adică. /n/IWFND /MAINT_SERVICE

Step 12 – Add service
în/n/IWFND / MAINT_SERVICE faceți clic pe butonul Add Service

apoi introduceți informațiile serviciului pe care doriți să adăugați (notă puteți utiliza metacaractere în acest moment pentru a găsi serviciul)

apăsați enter pentru a găsi serviciul sau serviciile care corespund criteriilor de căutare. După ce faceți clic pe cel pe care doriți să îl adăugați

ecranul următor vă arată detaliile serviciului selectat, introduceți detaliile pachetului(adică obiectul local) și lăsați totul ca implicit. Apoi apăsați butonul ok (bifați verde)

acum ar trebui să primiți un mesaj pop-up că serviciul dvs. „a fost creat și metadatele sale au fost încărcate cu succes”

reveniți la pagina anterioară

Step 13 – găsiți serviciul adăugat
acum veți fi returnat la catalogul de servicii, în funcție de câte servicii aveți instalat în sistemul dvs., poate fi necesar să utilizați funcția de filtrare pentru a găsi serviciul Nou Adăugat.

ar trebui să vedeți acum detaliile de configurare a serviciului și un semafor verde lângă nodul ICF ODATA din colțul din stânga jos.

pasul 14-SAP Netweaver Gateway client
acum trebuie să-l testăm folosind clientul SAP Netweaver Gateway, care este accesat prin butonul” Gateway Client „chiar deasupra nodului ODATA din colțul din stânga jos

apoi, lăsând URI-ul cererii ca implicit” /sap/opu/odata/sap/ZTEST_PROJECT_SRV/?$format=xml” pur și simplu faceți clic pe butonul” Execute ”

ar trebui să obțineți apoi un răspuns HTTP similar cu acesta cu un cod de stare verde


Pasul 15-teste suplimentare prin intermediul clientului SAP Netweaver Gateway
acum Puteți modifica adresa URL astfel încât să se termine cu „$metadate?sap-DS-debug= true”și apoi apăsați execute din nou, astfel încât să putem returna proprietățile metadatelor entității purchaseorder

„/sap/opu/odata/sap/ZTEST_PROJECT_SRV / $metadate?sap-DS-debug=adevărat”

acum schimbați URI-ul pentru a avea „/cumpărăcomenzi?sap-ds-debug=true” la sfârșit, astfel încât să putem viza datele setuluientity comenzi de cumpărare

„/sap / opu/odata/sap/ZTEST_PROJECT3_SRV / comenzi de cumpărare?sap-DS-debug=adevărat”


când apăsați execute ar trebui să obțineți următoarea eroare ca nu am implementat metoda thatpopulates aceste date încă

Step 16 – punerea în aplicare a metodei GetEntitySet
acum reveni la tranzacția SEGW și pentru a găsi metodele de implementare de servicii create înainte. Găsiți cel numitgetentityset(Query) și dați clic dreapta pe el. Apoi selectați „Accesați ABAP Workbench”

următorul mesaj va apărea spunând că operațiunea nu a fost încă implementată. Pur și simplu faceți clic pe ok

acum veți fi dus la tcode se80. În lista de obiecte din stânga găsiți metoda PURCHASEORDERS_GET_ENTITYSETÎN cadrul metodelor – > metode moștenite.
după ce ați găsit acest lucru, faceți clic dreapta pe el și selectați redefiniți

în codul metodei care apare pur și simplu adăugați următoarea instrucțiune ABAP select
selectați *
până la 10 rânduri
din ekko
în câmpurile corespunzătoare ale tabelului et_entityset.

Salvați și activați

pasul 17 – re-testați serviciul
schimbați din nou URI-ul la „/sap/opu/odata/sap/ZTEST_PROJECT_SRV/purchaseorders?sap-DS-debug=adevărat”

de data aceasta ar trebui să obțineți câteva date returnate

pasul 18 – informații suplimentare
amintiți-vă că am menționat despre faptul că nu utilizați toate câmpurile din tabelul EKKO, deoarece unele nu sunt compatibile.Dacă le-ați fi inclus pe toate la executarea URI-ului ” /sap/opu/odata/sap/ZTEST_PROJECT_SRV / purchaseorders?sap-DS-debug=true ” ați fi primit următorul mesaj de eroare 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>

Pasul 19-dezvoltare ulterioară
următorul pas este să accesați acest serviciu gateway din aplicația SAP Fiori


instrucțiuni pas cu pas despre cum să creați prima tranzacție web bazată pe programul standard de dialog ABAP folosind SE80
SAP Netweaver Business Client
SAP Web Application Development folosind ITS-exemplu de cod și informații ABAP
Netweaver – informații despre tehnologiile SAP netweaver
SAP GUI pentru HTML-rularea SAP pe un PC care nu are instalat clientul SAP
menținerea serviciilor web – Utilizarea tranzacției SICF pentru a activa și menține SAP Web services
SAP Web Application Development-exemplu de cod și informații cu privire la diferite domenii de dezvoltare web
SAP GUI pentru HTML-rularea SAP pe un PC care nu are clientul SAP instalat
Internet transaction server ( ITS ) – avantaje și dezavantaje
logica sa de flux – avantaje și dezavantaje ale utilizării logicii sale de flux
dezvoltarea tranzacțiilor web SAP – utilizarea SE80 și apoi publicat la ITS

Lasă un răspuns

Adresa ta de email nu va fi publicată.