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条回答
Nan4612
1楼-- · 2020-08-26 21:28

嗨,

在摘要中,您总是可以得到一周,但因为我现在不在工作室,所以从未尝试过。

下面的代码可能对您有所帮助。 p>

var date1 = this。<< DATE >>。GetWeek(); (您的字段1)

var date2 = this。<< DATE >>。GetWeek(); (您的字段2或上下文systemdate)

从这两个结果中获取并进行处理。

欢呼声

Dhruvin

悠然的二货
2楼-- · 2020-08-26 21:48

Dhruvin,

感谢您的回复,但我的查询仍然无法解决。 我认为GetWeek()函数会返回日历中的该星期数(可能在1到52之间),但是在这里,我首先计算两个日期(即用户输入的日期和当前系统日期)之间的差,然后除以 与7的差并将该值存储在必填字段中。

现在我担心的是,该系统日期更改了我为最终结果分配的该值时,该值应每天更新。请让我知道是否可以实现此目标?

一如既往的感谢!

Rahul。

闻人可可
3楼-- · 2020-08-26 21:34

嗨,Rahul,

在这种情况下,您可以创建MDR并每天安排它。

Br

< p> dhruvin

Bunny_CDM
4楼-- · 2020-08-26 21:47

嗨Dhruvin,

感谢您的答复,但有趣的是,我们也尝试创建MDR作业,但是由于这些字段是在SERVICEREQUEST Business对象的XBO下定义的,因此我们无法创建MDR。

是否可以通过SDK或云解决方案以任何方式为xbo创建MDR,以便实现功能?

请让我知道您的见解。

等待您的回复

此致

Rahul

黑丝骑士
5楼-- · 2020-08-26 21:46

不,您不能从xBO创建MDR,但是您当然可以根据自定义BO的逻辑更改BO-xBO的值。

能不能别闹
6楼-- · 2020-08-26 21:37

拉胡尔,

为自定义BO创建查询后,便可以在该自定义BO上创建MDR。 然后,您可以设置该MDR来触发一项操作,该操作将更新"此周以来..."字段的所有实例。 请记住,根据实例数量的不同,它可能会超时。

刘易斯

一周热门 更多>