2017-05-30 5 views
1

Ich verwende OData-Dienste, um Daten an ein SAP-System zu senden. Wenn ich tue einSAP Gateway erhält ID als Antwort

oModel.create({data}) 

Gibt es eine Möglichkeit der Server geben Sie mir als Antwort die ID oder das Feld zu lassen, die ich in der Datenbank gerade erstellt?

Jeder Vorschlag ist willkommen.

Antwort

0

Ja, das ist ein sehr häufiger Anwendungsfall.

Modellieren Sie die ID als ein Feld Ihrer Entität.

Lassen Sie die ID leer, wenn Sie vom Frontend anrufen.

Der Server füllt das ID-Feld in der Antwort. In der Antwort kann der Server auch ein anderes Feld der Entität ändern oder füllen.

in Ihrer Backend-Methode MYENTITY_CREATE_ENTITY, so etwas wie

io_data_provider->read_entry_data(IMPORTING es_data = ls_myentity). 

"create object in database which fills the field lv_id_from_database 

ls_myentity-id = lv_id_from_database. 
er_entity = ls_myentity. 

Frontend:

oModel.create("/Myentity", 
    oDataCreate, null, false, 
     function(oData, oResponse){ 
        //Function for Success 
     }, 
     function(oData, oResponse){ 
        //Function for Error 
}); 
+0

es scheint, wie Sie weiß, wie dieses Problem zu lösen, aber ich konnte nicht wirklich – Aline

+0

einig Beispiel-Code für das Backend hinzugefügt –

+0

können Sie bitte auch hinzufügen, welche Parameter die create-Methode hätte, um die Antwort abzurufen? Danke – Aline

Verwandte Themen