如何在SAC Designer中创建级联下拉列表(无层次结构)

2020-08-18 03:17发布

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

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


谁能帮助我在SAC Designer中获得级联下拉过滤器。 我得到了一个视频,但这取决于层次结构,在我的场景中,后端没有任何层次结构。我有简单的"区域"和"国家/地区"维度作为下拉列表和一个表组件。 因此,当选择"地区"时,"国家/地区"下拉列表应显示与所选地区相关的国家/地区。

请发布任何解决方案。

谢谢

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

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


谁能帮助我在SAC Designer中获得级联下拉过滤器。 我得到了一个视频,但这取决于层次结构,在我的场景中,后端没有任何层次结构。我有简单的"区域"和"国家/地区"维度作为下拉列表和一个表组件。 因此,当选择"地区"时,"国家/地区"下拉列表应显示与所选地区相关的国家/地区。

请发布任何解决方案。

谢谢

付费偷看设置
发送
1条回答
haha101010
1楼-- · 2020-08-18 04:02

嗨朋友,

写这个博客是因为很多问题询问下拉列表和级联下拉列表。

第1步,在画布上添加3个下拉列表

在此示例中,我们有3个下拉列表用于级联提示

产品1,产品2和产品3

给出下拉名称

dropdown_prod1

dropdown_prod2

dropdown_prod3

步骤2。在图表/表格中添加所有3个维度。

步骤3。我们必须创建 3个全局变量数组和3个全局变量

,例如下面的3个数组

prod1_drop_dyn_array

prod2_drop_dyn_array

prod3_drop_dyn_array

< p>上面的数组将用于存储下拉LOV,并将进一步在过滤器中使用。

我们必须创建更多3个全局变量

dropdownprod1_Selectedkey

< p> dropdownprod2_Selectedkey

dropdownprod3_Selectedkey

上面的3个全局变量将用于在运行时存储所选的下拉列表。

请注意将以上3个设置为默认 变量"全部"

我们将插入

初始化中的第4步,我们必须编写以下代码

Dropdown_prod1.addItem(" all"," ALL");

Dropdown_prod2.addItem(" all"," ALL");

Dropdown_prod3.addItem(" all"," ALL");

 var res =图表。  getDataSource()。getResultSet();
 console.log(res);
 for(var i = 0; i  

dropdown_prod1.setSelectedKey(" all");

dropdown_prod2.setSelectedKey(" all");

dropdown_prod3.setSelectedKey(" all");

uptill现在我们已经为下拉列表分配了值列表(LOV),现在我们可以看到ALL作为所有列表中的默认选定值 3下拉菜单。

现在下面的步骤用于在应用程序中创建级联下拉菜单。

每个下拉菜单的第5步,我们必须编写以下代码

此代码将更新prod1 onselect脚本下面的代码中的全局变量

dropdownprod1_Selectedkey = Dropdown_prod1.getSelectedKey();

for(var i = 0; i prod1_drop_dyn_array [i] ="";

}

如果(dropdownaltlevel2_Selectedkey ===" =")" {< br> var res = Chart.getDataSource()。getResultSet();

for(i = 0; i prod1_drop_dyn_array [i] = res [i] [ " prod1"]。id;

}}}其他{
prod1_drop_dyn_array [0] = dropdownprod1_Selectedkey;}

ScriptObject_tab1.function_cascaded();

如您所见,我们在选择prod1时正在调用全局脚本对象(函数)

我们必须执行相同的代码 重复prod2和prod3

步骤6

,我们必须为级联创建全局脚本对象(函数)

,下面的代码将更新级联的LOV 根据下拉菜单的选择提示

/////////////////////////////////////////////////////////更新产品1///////////////////////////////////////////////////
Dropdown_prod1.removeAllItems();

var res = Chart.getDataSource()。getResultSet({" prod2":prod2_drop_dyn_array," prod3":prod3_drop_dyn_array});
//console.log(res);
Dropdown_prod1.addItem(" all"," ALL ");

for(var i = 0; i Dropdown_prod1.addItem(res [i] [" prod1"]。id,res [i] [" prod1"]。description);
}

/////////////////////////////////////////////////////////////////更新prod2////////////////////////////////////////////////////////////////////////////< /p>

Dropdown_prod2.removeAllItems();

res = Chart.getDataSource()。getResultSet({" prod1":prod1_drop_dyn_array," prod3":prod3_drop_dyn_array,});
// console.log(res);
Dropdown_prod2.addItem(" all"," ALL");

for(i = 0; i < p> Dropdown_prod2.addItem(res [i] [" prod2"]。id,res [i] [" prod2"]。description);

}

/////////////////////////////////////////////////////////////////////更新prod3//////////////////////////////////////////////////////////////////

Dropdown_prod3.removeAllItems();

res = Chart.getDataSource()。getResultSet({" prod1":prod1_drop_dyn_array," prod2":prod2_drop_dyn_array

}));
//console.log(res);

Dropdown_prod3.addItem(" all"," ALL");

for(i = 0; i

Dropdown_prod3.addItem(res [i] [" prod3"]。id,res [i] [" prod3"]。description);
}

请注意,要将过滤器应用于图表或表格,我们必须使用这3个全局变量。

prod1_drop_dyn_array

prod2_drop_dyn_array

prod3_drop_dyn_array

一周热门 更多>