如何将外部键值从BEX查询传递到Universe?

2020-09-22 18:32发布

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

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


我有一个DROPDOWNBOX,其中包含来自数据源的项目(BEX查询)。 假设其中包含城市名称。 我需要将所选城市的外键传递给具有相同城市和关联键的数据源(Universe),以填充一些列表框。 当我尝试执行此操作时,会收到警告"维度City的所有选择均无效且已被丢弃"。 我该如何解决?

代码:

//在Universe上设置过滤器
 DS_1.setFilterExt(" _ RogQIRwAEeiofrGGUX0vqg",DROPDOWN_1.getSelectedValue());
 var Members = DS_1.getMembers(" _ RozLEBwAEeiofrGGUX0vqg",400);
 LISTBOX_1.removeAllItems();
 Members.forEach(function(m,mi){
    LISTBOX_1.addItem(m.externalKey,m.text;
 });
 LISTBOX_1.sort();
 LISTBOX_1.addItem("","所有城市",0);
 LISTBOX_1.setSelectedValue(""); 

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

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


我有一个DROPDOWNBOX,其中包含来自数据源的项目(BEX查询)。 假设其中包含城市名称。 我需要将所选城市的外键传递给具有相同城市和关联键的数据源(Universe),以填充一些列表框。 当我尝试执行此操作时,会收到警告"维度City的所有选择均无效且已被丢弃"。 我该如何解决?

代码:

//在Universe上设置过滤器
 DS_1.setFilterExt(" _ RogQIRwAEeiofrGGUX0vqg",DROPDOWN_1.getSelectedValue());
 var Members = DS_1.getMembers(" _ RozLEBwAEeiofrGGUX0vqg",400);
 LISTBOX_1.removeAllItems();
 Members.forEach(function(m,mi){
    LISTBOX_1.addItem(m.externalKey,m.text;
 });
 LISTBOX_1.sort();
 LISTBOX_1.addItem("","所有城市",0);
 LISTBOX_1.setSelectedValue(""); 
付费偷看设置
发送
5条回答
一只江湖小虾
1楼-- · 2020-09-22 19:11

Eric,你好

您可以提供以下屏幕截图吗?:

1)您用于填充下拉列表的BEx查询数据源的初始视图,其中显示了用于过滤的维成员的键和文本值;

2)Universe数据源的初始视图,显示了维度" _RogQIRwAEeiofrGGUX0vqg"的键和文本值。

您需要确保BEx查询中键值的格式与相应的Universe维值的格式匹配。

此外,您如何填充下拉框?

此致

穆斯塔法。

追夢秋陽
2楼-- · 2020-09-22 19:26

感谢您的跟进,尽管我很惊讶需要BA_Key提示,因为我以为您使用的是setFilter()而不是setVariableValue()?

宇峰
3楼-- · 2020-09-22 19:30

Eric,你好

我建议您按以下方式更改代码:

//在Universe上设置过滤器
 DS_1.setFilterExt(,DROPDOWN_1.getSelectedValue());
 

此致

必备项。

Baoming ROSE
4楼-- · 2020-09-22 19:23

在数据源DS_1的初始视图编辑器中,您是否将维度BA_Key的要过滤的成员选项设置为"仅过帐值"?

软件心理学工程师
5楼-- · 2020-09-22 19:28

BEX查询初始视图

Universe初始视图

BEX查询中的业务区域(城市)对应于Universe中的BA_Key(城市)。

在应用程序的"启动时"事件期间,通过以下代码加载了DROPDOWN_1项目。

 DS2.loadDataSource();
 DS2.setVariableValueExt(" ZA_BUSAR",exclusion);
 DS2.setVariableValueExt(" ZFYR_MULTI_REQ"," 2016; 2017; 2018");
 DROPDOWN_1.setItems(DS2.getMemberList(" 0BUS_AREA",MemberPresentation.EXTERNAL_KEY,MemberDisplay.KEY_TEXT,1000));
 DROPDOWN_1.sort();
 

一周热门 更多>