从BPC Live Connection SAC获取参数变量的成员

2020-08-19 10:36发布

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

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


设置:使用BPC实时数据连接在2020.2.1版SAP Analytics Cloud上创建分析应用程序

我们试图更改数据模型参数变量的值,而不必打开典型的对话框。

在App Builder视图中更改实时数据连接的变量是通过"数据">"编辑提示"进行的:

我们设法使用Table_2.getDataSource()。openPromptDialog()在"当前视图"(运行分析应用程序)中创建了相同视图。 但是,理想情况下,我们希望在脚本中设置变量值,而不是使用对话框。 一种选择是创建一个包含变量成员的下拉过滤器,实质上是创建我们自己的提示对话框。 为此,我们需要访问变量的成员。 到目前为止,我们仅发现不能满足我们需求的getVariables()和setVariableValue()API(getVariables可以正确获取变量,但不能获取变量成员)。 有什么方法可以扩展这些API来访问不同变量的成员?

除此之外,我们还尝试通过使用变量ID和成员ID对输入进行硬编码来尝试setVariableValue(),但出现以下错误:

将感谢有关访问参数变量成员的所有提示,以及为什么setVariableValue()似乎对我们不起作用!

(38.8 kB)

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

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


设置:使用BPC实时数据连接在2020.2.1版SAP Analytics Cloud上创建分析应用程序

我们试图更改数据模型参数变量的值,而不必打开典型的对话框。

在App Builder视图中更改实时数据连接的变量是通过"数据">"编辑提示"进行的:

我们设法使用Table_2.getDataSource()。openPromptDialog()在"当前视图"(运行分析应用程序)中创建了相同视图。 但是,理想情况下,我们希望在脚本中设置变量值,而不是使用对话框。 一种选择是创建一个包含变量成员的下拉过滤器,实质上是创建我们自己的提示对话框。 为此,我们需要访问变量的成员。 到目前为止,我们仅发现不能满足我们需求的getVariables()和setVariableValue()API(getVariables可以正确获取变量,但不能获取变量成员)。 有什么方法可以扩展这些API来访问不同变量的成员?

除此之外,我们还尝试通过使用变量ID和成员ID对输入进行硬编码来尝试setVariableValue(),但出现以下错误:

将感谢有关访问参数变量成员的所有提示,以及为什么setVariableValue()似乎对我们不起作用!

(38.8 kB)
付费偷看设置
发送
3条回答
hengyuye
1楼-- · 2020-08-19 10:49

嗨,

我们有相同的要求,如果您已经对此有解决方案,请更新相同的内容。

谢谢

Bhargava。

哎,真难
2楼-- · 2020-08-19 11:07

大家好!

这里有同样的问题。 如果发现有任何解决方法,请告诉我们。

亲切的问候,
Kostia

小熊yu生菜
3楼-- · 2020-08-19 10:44

SAC版本2020.2.10

在我的项目中,我没有使用SetVariableValue(),而是使用SetUserInput()来完成我的工作。
不确定是否有多少对您有帮助,..但是要使我的脚本正常工作,我必须 将表设置为
-使用计划
-使用平面层次结构
-显示未预订的数据(我要更改的字段必须在表本身中可编辑)

我的尺寸和度量来自其他"查找表"。在这里,我选择了1个字段以查看其返回值,然后在使用SetUserInput之前更改其日期尺寸。 下一步将由我自己创建" mySelection"作为字符串。

 
var mySelection = tblMain.getSelections()[0]; console.log(["编辑前",mySelection]); mySelection [" Version"] =" public.TEMPLATE-0"; //设置另一个版本 mySelection [" Date"] =" [日期]。[FYP]。&[201802]"; //设置另一个日期 console.log(["编辑后",mySelection]); tblMain.getPlanning()。setUserInput(mySelection," 0"); tblMain.getPlanning()。submitData();

为了获得我的措施清单,我找到了这段代码

 var selectionsArray = tblLookup01.getDataSource()。getDataSelections();
 console.log(selectionsArray);
 for(var key = 0; key                                                                     

一周热门 更多>