SAPUI5使用导航属性创建

2020-09-10 11:30发布

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

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


嗨,

我已经使用SAP Build创建了一个应用程序,并将其移至WebIDE,以将其连接到我的后端系统,在该系统中,我使用CDS创建了数据模型,并在网关项目中公开了VDM(作为参考-通过SADL进行公开)

该应用程序具有带有父/子实体的BOPF对象的CRUD操作。 BOPF是从我的CDS视图自动创建的。

在App中,我可以创建父对象而没有任何问题:) ...但是,当创建子对象时(父对象已经存在...不是深度创建),我遇到了问题。

似乎对BOPF实体的子对象执行创建POST时,您必须POST到父实体并使用navigation属性创建子代,并使用与创建父结果相同的例程进行创建。 在后端进行转储,并提供"非常有用的" message_type_x!

我正在使用oData模型的create方法

所以我有2个问题;

1 ....您如何以最佳实践方法引用oModel.create? 我设法使用一种相当残酷的方法来使它起作用,即使用如下所示的parentEntity + parentID + navto_childProperty名称建立sPath参数...但是必须有一种更好的方法...如果这样的话?

 sPath ="/img/parentEntityName" +"(" +"'" +(parentID)+"'" +")" +"/img/to_childNavProperty";
 

2 ....如何从绑定到视图的模型中获取数据,而不是手动构建json有效负载? 这是我目前所做的。

 _onButtonPressNew:函数(oEvent){
 var oModel = this.oModel;
 var oItem,oContext;
 oItem = oEvent.getSource();
 oContext = oItem.getBindingContext();
 var parentID = oContext.getProperty(" parentID");
 sPath ="/img/parentEntityName" +"(" +"'" +(parentID)+"'" +")" +"/img/to_childNavProperty";

 var oData = {
 ID:oContext.getProperty('ID'),
                 parentID:oContext.getProperty('parentID'),
 AssignedTo:oContext.getProperty('assignedTo'),
 评论:oContext.getProperty('comments'),
 描述:oContext.getProperty('description'),
 endDate:oContext.getProperty('endDate'),
 状态:oContext.getProperty('status')
 };
 oModel.create(sPath,oData,null);
 }; 

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

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


嗨,

我已经使用SAP Build创建了一个应用程序,并将其移至WebIDE,以将其连接到我的后端系统,在该系统中,我使用CDS创建了数据模型,并在网关项目中公开了VDM(作为参考-通过SADL进行公开)

该应用程序具有带有父/子实体的BOPF对象的CRUD操作。 BOPF是从我的CDS视图自动创建的。

在App中,我可以创建父对象而没有任何问题:) ...但是,当创建子对象时(父对象已经存在...不是深度创建),我遇到了问题。

似乎对BOPF实体的子对象执行创建POST时,您必须POST到父实体并使用navigation属性创建子代,并使用与创建父结果相同的例程进行创建。 在后端进行转储,并提供"非常有用的" message_type_x!

我正在使用oData模型的create方法

所以我有2个问题;

1 ....您如何以最佳实践方法引用oModel.create? 我设法使用一种相当残酷的方法来使它起作用,即使用如下所示的parentEntity + parentID + navto_childProperty名称建立sPath参数...但是必须有一种更好的方法...如果这样的话?

 sPath ="/img/parentEntityName" +"(" +"'" +(parentID)+"'" +")" +"/img/to_childNavProperty";
 

2 ....如何从绑定到视图的模型中获取数据,而不是手动构建json有效负载? 这是我目前所做的。

 _onButtonPressNew:函数(oEvent){
 var oModel = this.oModel;
 var oItem,oContext;
 oItem = oEvent.getSource();
 oContext = oItem.getBindingContext();
 var parentID = oContext.getProperty(" parentID");
 sPath ="/img/parentEntityName" +"(" +"'" +(parentID)+"'" +")" +"/img/to_childNavProperty";

 var oData = {
 ID:oContext.getProperty('ID'),
                 parentID:oContext.getProperty('parentID'),
 AssignedTo:oContext.getProperty('assignedTo'),
 评论:oContext.getProperty('comments'),
 描述:oContext.getProperty('description'),
 endDate:oContext.getProperty('endDate'),
 状态:oContext.getProperty('status')
 };
 oModel.create(sPath,oData,null);
 }; 
付费偷看设置
发送
2条回答
小c菟菟
1楼-- · 2020-09-10 11:51

我可以尝试回答第二个问题。

要绑定导航属性的属性,可以使用展开选项

要查看使用此方法的示例,可以查看下面的链接

关于该主题的opensap课程非常有用。 您可以查看opensap课程中的先前步骤或练习,以更好地了解它。

亲切的问候,

Vamsi

昵称总是被占用
2楼-- · 2020-09-10 12:02

本课程的第二周完全与绑定有关。 这样也有帮助。

一周热门 更多>