点击此处---> 群内免费提供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 ,
另一个有趣的问题 :)
据我了解,如果您在CDS视图中提供了聚合批注,则SADL层将根据您发送的选择字段自动将数据分组。 由于您只有一个标头cds视图(实体),并且具有国家和状态(总和)所需的批注,因此UI团队很容易两次调用同一服务,一次用于国家,一次用于状态,这将给您 它们是汇总的总数据。 我觉得这里没有任何困难,事实上,我最近为执行此方案的前端人员提供了一项OData服务,但不提供状态和国家/地区,而是提供我的用户和所有团队数据。
我不 认为上述方法将在UI中很繁琐,并且应谨慎使用expand一次性获取输出,因为在UI中获取所有销售订单和抬头数据将是一项繁重的任务,尤其是在数据更多的情况下。 因此最好使用$ top和$ skip按需获取数据。
因此,您的数据模型看起来很完美(如果它也允许它们获取聚合的数据)。
根据您在另一个答案中的评论进行更新:
同意在UI中计算增量将是一项繁琐的工作,但肯定不会提高性能, 他们可以存储初始数据并在推送到后端之前进行比较。 但是我认为没有必要,让他们传递数据,我也不认为将该项目传递给BAPI会引起任何问题(根据我的经验)。
此外,对于删除,请提供 一个额外的字段,因此它们会将值传递为" X"以进行删除,因此您可以在后端进行处理。UI小组应在UI5表中放置一个过滤器,并且不应在Delete field标志显示为" X",这是基础知识,我已经在许多应用程序中实现了它。
让我知道是否需要更多信息。
谢谢
Mahesh p>
一周热门 更多>