SAP UI OData 创建不初始化 IT_KEY_TAB 参数

SAP UI OData Create does not initialize IT_KEY_TAB parameter

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

到目前为止,我已经实现了 GET & DELETE,运行良好。

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

我这样发送 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

请求中还提到了我想要post的数据:

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

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

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

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

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