SAPUI5使用导航属性创建

2020-09-10 11:30发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我已经使用SAP Bui...

         点击此处--->   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);
 };