OData CreateEntity方法被触发,而不是oData深度创建

2020-09-06 17:54发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

以下是我从WEBIDE传递到后端(ECC)的payLoad。 我想将此日期发送到调用'/IWBEP/IF_MGW_APPL_SRV_RUNTIME/CREATE_DEEP_ENTITY'的后端OData,但实际上会触发

/IWBEP/IF_MGW_APPL_SRV_RUNTIME〜CREATE_ENTITY。 后端的导航属性为Ydept_Id。 我已经重新定义了上述两种方法(当前没有编写代码,因为我想检查哪个方法被调用)。 我可以知道我在做什么错误,...以下代码中的有效载荷有什么用?

 crtEmpRecord:function(){
 var depId = this.getView()。byId(" deptId")。getValue();
 var depNam = this.getView()。byId(" deptname")。getValue();
 var empId = this.getView()。byId(" empId")。getValue();
 var empNam = this.getView()。byId(" empName")。getValue();

 var empAray = [];
 var obj1 = {
 " YempId":empId,
 " YempName":empNam,
 " YdeptId":depId
 };

 empAray.push(obj1);

 var finData = {
 " YdeptId":depId,
 " YdeptNam":depNam,
 " Ydept_Id":empAray
 };

 this.getView()。getModel(" local")。create("/img/Department_1Set",finData,null,function(oData,oResponse)
 {
 sap.m.MessageBox.show("成功创建员工记录");
 }
 );
 }
 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

以下是我从WEBIDE传递到后端(ECC)的payLoad。 我想将此日期发送到调用'/IWBEP/IF_MGW_APPL_SRV_RUNTIME/CREATE_DEEP_ENTITY'的后端OData,但实际上会触发

/IWBEP/IF_MGW_APPL_SRV_RUNTIME〜CREATE_ENTITY。 后端的导航属性为Ydept_Id。 我已经重新定义了上述两种方法(当前没有编写代码,因为我想检查哪个方法被调用)。 我可以知道我在做什么错误,...以下代码中的有效载荷有什么用?

 crtEmpRecord:function(){
 var depId = this.getView()。byId(" deptId")。getValue();
 var depNam = this.getView()。byId(" deptname")。getValue();
 var empId = this.getView()。byId(" empId")。getValue();
 var empNam = this.getView()。byId(" empName")。getValue();

 var empAray = [];
 var obj1 = {
 " YempId":empId,
 " YempName":empNam,
 " YdeptId":depId
 };

 empAray.push(obj1);

 var finData = {
 " YdeptId":depId,
 " YdeptNam":depNam,
 " Ydept_Id":empAray
 };

 this.getView()。getModel(" local")。create("/img/Department_1Set",finData,null,function(oData,oResponse)
 {
 sap.m.MessageBox.show("成功创建员工记录");
 }
 );
 }
 
付费偷看设置
发送
10条回答
小c菟菟
1楼 · 2020-09-06 18:28.采纳回答

谢谢大家的投入。 我正在关闭此线程,因为看起来原因不是上面的SAPUI5图表而是后端OData实现。

土豆飞人
2楼-- · 2020-09-06 18:25

您好Vekanta,

要访问创建深层实体,您必须导航到其他某个实体。 如果已经有了,请使用以下代码。

 var有效负载= {};
//在此处将标头实体的值放入。 就我而言,是Matnr。
 payload.Matnr ='12345';
 var empAray = [];
 var obj1 = {
 " YempId":empId,
 " YempName":empNam,
 " YdeptId":depId
 };
 empAray.push(obj1);
//将数组放入导航实体。在我的情况下,导航实体的名称为NAVMARC
 payload.NAVMARC = empAray;
 this.getView()。getModel(" local")。create("/img/Department_1Set",payload,null,function(oData,oResponse)
 {
 sap.m.MessageBox.show("成功创建员工记录");
 }
 );
 }
 
宇峰Kouji
3楼-- · 2020-09-06 18:20

嗨,

我知道如何创建深层插入,...我的意思是,我过去做过。 但是这次,当我这样做时,我的请求将转到Create_entity,而不是create_deep_entity。

我可以问你一个问题....

如果以下两个方法都被重新定义,则根据请求将调用该方法。 我的意思是,第一种方法什么时候被调用,第二种方法什么时候被调用。

1)/IWBEP/IF_MGW_APPL_SRV_RUNTIME/CREATE_DEEP_ENTITY

2)/IWBEP/IF_MGW_APPL_SRV_RUNTIME〜CREATE_ENTITY

灬番茄
4楼-- · 2020-09-06 18:03

感谢Vaibhav。 只想让您知道,当我更改OData服务时,它实际上现在可以正常工作。 这意味着我的OData实现存在一些问题。 因此,看来SAPUI5 OData.create不会成为问题。

但是,由于您已触及要点,.. SAP站点告知OData上的create方法可能不会插入深层结构。 但是实际上它正在插入...就像我上面的情况一样。 这不是令人困惑还是我没有关注?

-----------

创建

触发对模型构造函数中指定的OData服务的 POST 请求。

请注意,深度创建不受支持并且可能无法正常工作。

----------

一周热门 更多>