SAP Cloud App Studio for C4C-在系统日期更改时更新永久扩展字段

2020-08-26 21:20发布

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

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


专家您好,

我有一项业务需求,其中我必须根据用户输入的日期和系统的当前日期来计算周数。

为此,我扩展了BO并创建了2个字段-一个用于获取用户输入,另一个用于根据当前系统日期填充星期。 该代码写在AfterModify.absl文件中,该文件可以正常工作,因为当用户输入要计算的星期数时。

当系统日期更改为第二天,并且计算的字段没有得到相应更新时,会出现问题。 详细说明如果用户输入04/09/2019作为输入日期为11/09/2019(系统日期),则计算的字段将显示1周,并且实例将使用这些值进行保存。 但是,如果在2019年12月9日观察到计算所得的字段,则仍仅显示1周而不是1.14(1周1天)。

输入字段的数据类型(例如StartDate)-DateTime

计算字段的数据类型(例如,周数)-DecimalValue。

有人可以在这个问题上为我提供帮助吗,因为我应该如何编写代码,或者随着系统日期的更改如何更新此计算得出的持久字段?

任何帮助将不胜感激!

此致

拉胡尔。

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

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


专家您好,

我有一项业务需求,其中我必须根据用户输入的日期和系统的当前日期来计算周数。

为此,我扩展了BO并创建了2个字段-一个用于获取用户输入,另一个用于根据当前系统日期填充星期。 该代码写在AfterModify.absl文件中,该文件可以正常工作,因为当用户输入要计算的星期数时。

当系统日期更改为第二天,并且计算的字段没有得到相应更新时,会出现问题。 详细说明如果用户输入04/09/2019作为输入日期为11/09/2019(系统日期),则计算的字段将显示1周,并且实例将使用这些值进行保存。 但是,如果在2019年12月9日观察到计算所得的字段,则仍仅显示1周而不是1.14(1周1天)。

输入字段的数据类型(例如StartDate)-DateTime

计算字段的数据类型(例如,周数)-DecimalValue。

有人可以在这个问题上为我提供帮助吗,因为我应该如何编写代码,或者随着系统日期的更改如何更新此计算得出的持久字段?

任何帮助将不胜感激!

此致

拉胡尔。

付费偷看设置
发送
8条回答
槿木_熙
1楼-- · 2020-08-26 21:49

嗨拉胡尔,

以您的示例

""如果用户输入04/09/2019作为输入日期(系统日期)为11/09/2019(系统日期),则计算字段显示1周,并且实例将使用这些值保存。但是,当观察到计算字段时, 在12/09/2019时仍只显示1周,而不是1.14(1周1天)"

-首先,第二天打开实例时将需要执行一些操作来更新此计算字段,这不会自动更新。 AfterModify将不适用于此处。 也许是载入后?

此外,您的请求将确定从数据源获取时C4C是否具有捕获报表中计算字段的最新值的能力-这将无法实现,因为这是从报表中获取的,因此没有适合捕获的BO 这个。 该报告是一个生成的屏幕,因此无法获取或捕获该数据。

Adrian

hongfeng1314
2楼-- · 2020-08-26 21:42

你好Adrian,

谢谢你的建议。

我了解您触发操作的概念,因此也建议您使用AfterLoading。 但是,对于使用AfterLoading事件,我们需要创建一个Transient字段(扩展名),在其中保存计算出的值,然后无论何时打开实例,都将对其进行更新。 通过使用此功能,我们将能够更新该字段,但是此字段不会被添加到报表中,也不会添加到Adobe表单,这是我们主要关注的问题,因为这将是Transient字段。

您能否提出一种解决方法,如果该字段由AfterLoading进行"瞬态"更新和更新,还可以添加到票证数据源中以生成报告以及Adobe表单?

等待您的答复。

拉胡尔。

一周热门 更多>