点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 道歉,但对我来说,这...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 道歉,但对我来说,这...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
道歉,但对我来说,这个话题始终是利益冲突/看法冲突。因此,我想提供更多细节。
我的问题更多地是基于数据建模方法,而不是技术瓶颈。
我们的系统在SAP上:7.50版本
我们正在使用SAPUI5作为前端(而不是Fiori)的自定义应用程序,并以OData服务作为数据源。 与其他许多活动一样,我们有一个独立的UI团队和SAP后端团队。
为说明我的问题,让我提供一个假设的销售订单业务实体的示例用例:
对象模型如下所示:
基于SAP准则,我使用 CDS-BOPF-SEGW(参考数据源)来实现OData定义,以处理所有CRUD操作。
我坚信 OData服务应完全与业务定义保持一致。 其关联和层次结构应完全独立于消费层。
现在,假设要求是按照下面的模型构建UI。
SAPUI5小组从他们的角度说,他们将无法引用多个服务(例如,状态的主服务,主服务和订单服务),并且无法处理各自的JSON输出以合并并获得所需的输出。 他们将需要直接数据绑定方法来进行轻量级的客户端编程。 相反,期望是将OData服务更改为以下模型,以便使用扩展调用可以一次性获得所需的结果。
(注意:我们看不到OData服务的其他使用者)
这将要求我:
(我不喜欢以上两个选项)。
只想从SAPUI5和SAP OData专家那里获得想法。
再次为冗长的内容表示歉意。
此致
参孙。
(105.2 kB)
嗨, Samson Moses
嗯,现在我知道问题出在 计数数据为0
1。我建议您将国家/地区作为标题(至少是对价值的帮助),然后将其作为一个实体公开,作为同一odata服务的一部分(如果不是)。 他们可以引用该实体集来获取所有国家/地区(一个调用是获取汇总数据,另一种是获取所有国家/地区的数据,然后将它们合并在一起) 对于0值)–>如果他们想生成UI5智能模板或控件,因为智能控件不支持手动合并和在UI中显示数据,这可能无法顺利进行。
理解这应该只是出于分析目的,而不应该成为事务视图的一部分。 再次根据我的理解,应该如何操作,方法是创建两个消费视图,一个用于分析目的的消费视图,另一个用于交易目的的消费视图,这两个消费视图具有跨应用程序导航功能。
2。但是,显示所有具有0值的国家还是没有意义的,因为有超过100个国家:D(除非您要显示一些预先配置的国家)。
2。 对于达美航空,我不确定您的要求。 但是在任何普通的应用程序中,这都不是简单的删除,而是将更新一些标头数据,删除一些项目和内容。 然后,所有这些更新应捆绑在单个请求中,并应在单个LUW中更新。 理想情况下,我们将调用BAPI,或者如果是基于自定义的,则将调用一些更新功能模块或直接进行数据库更新。 因此,假设是bapi场景,我们需要所有数据一起调用BAPI,对吗? 还是我在这里遗漏了什么?
这就是我说的原因,让它们将Delete标志传递为" X"并通过delete标志过滤UI中的表,这样它们就不会在其中显示 在用户界面和提交状态下,让他们传递数据,您就可以找出新插入和删除的内容。
注意:确定项目或数据是更新还是删除,这是一项艰巨的任务。 不是,所以最好让他们传递它,按照我的说法,将相同的数据更新到DB不会有什么问题。)
(如果是基于草稿的,他们可以简单地发送一个正常的删除调用, update调用,它将更新草稿,并且在提交时,您会将所有数据一起以草稿的形式复制到活动方法中,但是我也不认为有什么优雅的方法可以找到已删除的记录,我已经 看到SAP还通过与DB中的实际数据进行比较来找出它们,并查看删除了:D:D,如果我没记错的话。)
谢谢,
Mahesh
一周热门 更多>