技术文章
SAP ABAP RAP & Fiori Elements刷新计算字段,无需手动刷新(第2部分)
构建事务应用程序的最常见特性是根据依赖字段的输入计算/确定字段。
在实际业务场景中,这些字段可以来自相同的实体,也可以来自不同的实体。
在本例中,为计算字段总价格是来自父实体(例如旅行)而依赖字段为预订费来自同一实体航班的价格从子实体(前预订).用户期望看到计算结果总价格在输入/更新预订费不刷新页面。
在大多数教程中,我们获得了关于使用ABAP RAP构建应用程序的信息。
在第一部分当它们都在同一个实体中时,就会描述实现。
在这篇博客文章中,当它们都在不同的实体中时,将描述实现。
先决条件:
- 知识Restful应用程序编程g建立基本的列表转发应用程序
- 知识实体操作语言(EML)在应用层建立计算/确定逻辑
- 有OpenSAP课程的实践经验使用ABAP RESTful应用程序编程模型构建应用程序
- 创建Fiori应用第1部分博客
实现:
- 打开中创建的项目以前的博客在业务应用程序工作室。
- 在路径webapp/annotations/annotation.xml中导航到本地注释xml
- 为Booking实体添加以下注释,并将其放置在Travel实体之后。
<目标= " cds_zui_rap_travel_789注释。BookingType" > <注释项="普通。副作用s" >
FlightPrice to_Travel - 完整的文件如下所示。
- 解释:
- 注释术语= "常见的。副作用s”
- PropertyValue属性= "SourceProperties”
- 这些是触发确定计算属性的属性集合。在本例中,它是来自Booking实体的Flight price
- PropertyValue属性= "TargetEntities”
- 这些是需要根据依赖属性的输入刷新的实体的集合。在本例中,Travel实体。
- 保存注释文件并预览应用程序。
- 现在实现已经准备就绪,并检查Total price的行为
- 在旅行页面的预订表中更改航班价格
- 在订位页面更改机票价格
- 在这里观看演示。[由于尺寸限制,视频被压缩]
现在您了解了如何自动刷新实体间的相关属性。下一个挑战是实现两个这样的行为。
好,谢谢!
这对我不起作用,你能分享一下你的判定代码吗?对于副作用,应该启用汇票。
你好马赫,
请看第13点步骤3。为Travel实体实现行为池获取源代码。
提示结论是否有问题的检测或副作用
如果没有正确填写,那么问题就在确定中。
如果正确填写,那么如果浏览器的开发人员工具中的控制台有任何错误。
最好的祝愿,
Ramjee Korada
谢谢你的回复,我按照你分享的链接添加了注释代码作为你的博客part 1。但保存后按下刷新,是否可以在保存前输入后更新值?到目前为止,我还没有激活选秀权。
嗨马赫,
根据以下文件,
支持非草案应用程序的副作用。一旦用户保存实体并且保存操作成功,就会触发副作用。
https://help.sap.com/docs/ABAP_PLATFORM/468a97775123488ab3345a0c48cadd8f/18b17bdd49d1436fa9172cbb01e26544.html
最好的祝愿,
Ramjee Korada
嗨Ramjee Korada,
这对我没用。
注意:草案是启用的,我正在使用odata v2和项目在sap web ide。
你能告诉我是什么问题吗?