SAP UI OData创建不起作用

时间:2017-04-03 12:52:43

标签: javascript odata sap sapui5 abap

我正在使用SAPUI5测试oData功能。

到目前为止,我已经实施了GET&删除哪个正常。

不,当我想添加新条目时,我遇到了一些问题。

enter image description here

我发送Create-Request就像这样:

var oEntry = {};
oEntry.EmailAdresse = sap.ui.getCore().getElementById("txtemail").getValue();
oEntry.Nachname = sap.ui.getCore().getElementById("txtlastname").getValue();

oModel.create("/Z_ETT_ODATASet", oEntry, function(oData, response){
        alert("Success");
    },
    function(oError){
        alert(oError);
});

这是我的要求:

Accept                  application/json
Accept-Encoding         gzip, deflate
Accept-Language         en
Content-Length          54
Content-Type            application/json
Cookie                  ZZZZZZZZ
Host                    XXXXXXXXXXXXXXXXXXXX
MaxDataServiceVersion   2.0
Referer                 http://XXXXXXXXXXXXXXXXXXXX:8007/sap/bc/ui5_ui5/sap/zhelloworld/index.html?sap-client=100&sap-ui-language=EN&sap-ui-xx-devmode=true
User-Agent              Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
X-CSRF-Token            AAAAAAAAAAAAAAAA==
dataserviceversion      2.0
sap-cancel-on-close     true
sap-contextid-accept    header

请求中还提到了我要发布的数据:

{"EmailAdresse":"testemail@test.de","Nachname":"Test"}

当我向SAP GUI添加外部断点时,我可以看到Z_ETT_ODATASET_CREATE_ENTITY被调用,但遗憾的是IT_KEY_TAB没有条目。

这里有什么问题 - 我在哪里丢失数据?

1 个答案:

答案 0 :(得分:2)

IT_KEY_TAB将为您提供在REST服务中输入的密钥(例如,您用于GET或DELETE的实体的密钥)。

对于POST和PUT请求,您需要正在发送的对象,可以使用io_data_provider-> read_entry_data()方法检索该对象。