存储值以供以后使用SAP MDK

2020-08-15 17:41发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嘿社区, 我面临着巨大的挑战。...

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

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


嘿社区,

我面临着巨大的挑战。 我在后端有一个解析查询,我想比较一些值并用它们计算。 我能够创建一个可以与其他价值进行比较的规则,并且我也能够进行计算。 不幸的是,我的程序真的很慢,因为我在一页上使用了大约4条规则,并且每次有一个后端的odata调用都会花费很多时间(每页10到20秒)。

以下是我想做的简短描述:

获取按产品分类的上个月的KPI(值1)。
获取按去年分组的KPI(值2)。

将值1与值2进行比较,然后返回偏差。

等...

问题是我无法存储值1并以后在其他规则中使用它。 结果是,当有新规则时,我必须从后端再次获取值。 我也不能在一条规则中使用" .read(Services,Entity,QueryOption等)"两次并比较这些值,因为当我尝试使用它们时它们是对象:(

所以,在 最终它可以正常工作,但是真的很慢。我听到了一些关于clientData的信息,但我不确定如何在运行时将值存储在某个地方:(如果您能提供帮助,那将是很好。这是我的规则示例:
< br> export默认函数GetPicturePath(context){/这是第一个值。我使用queryoptions来获取本周的值。稍后,我将其与.read
var binding = context.getBindingObject()。SL;返回context.read('/ServiceLevel/Services/AllSL.service','Z_Q_SL',[],'$ filter = LastMonth eq \''+ 1 +'\'&$ select = ArticleName,SL')。then(函数(结果){如果(result.length> 0){var ServiceLevel = result.getItem(0).SL; return(binding-ServiceLevel).toFixed(2);)else {return 200;}})。catch(function(error){alert(error);});}

4条回答
95年老男孩
2020-08-15 17:44

在客户端数据中设置值

导出默认功能SetClientData(context){
//通过为适当的对象调用getClientData()来检索客户端数据
//在此示例中,下一行将获取应用程序主页的客户端数据
 让clientData = context.evaluateTargetPathForAPI('#Page:Main')。getClientData();
//客户数据是一个javascript对象。 在客户端数据上设置所需的任何属性
 clientData.Message ='我的客户数据值';
 } 

要使用动态目标路径绑定来检索元数据中的值

 {
 " Message":" {{##:Main/#ClientData/#Property:Message}}",
 " OKCaption":"确定",
 " Title":"主页ClientData",
 " _Type":" Action.Type.Message"
 }
 

要检索规则中的值,只需再次获取客户端数据并引用属性

导出默认功能ReadClientData(context){
//通过为适当的对象调用getClientData()来检索客户端数据
//在此示例中,下一行将获取应用程序主页的客户端数据
 让clientData = context.evaluateTargetPathForAPI('#Page:Main')。getClientData();
 console.log(`从客户端数据中获取的值为:$ {clientData.Message}`);
 } 

一周热门 更多>