read_mbr_data和选择条件(badi)

2020-09-19 00:26发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好朋友 Env- BPC ...

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

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


你好朋友

Env- BPC 10.1/BW7.4

我需要基于维度属性上设置的标志从维度读取成员数据。 我使用read_mbr_data函数并在lt_sel中填充选择条件。

我使用了sap帮助中的示例代码。 效果很好。

https://blogs.sap.com/2012/06/04/useful-abap-code-in-bpc-7x-nw-version /

现在,我还有一个额外的要求,即基于在多个维度属性上设置的多个标志,从维度中读取数据。 我已经为所有必需条件填充了lt_sel。 但是看来lt_sel中的行像AND条件一样工作。 仅在lt_sel所有行中设置的所有条件都为true时,它才返回数据。

我正在寻找一个OR条件,如果满足任何一个条件,它将向我提供数据。

一个例子-我需要获取所有时间段的数据,其中current_time以及先前时间设置为Y。

ls_sel–dimension ='TIME'。

ls_sel–attribute ='CURRENT_TIME'。

ls_sel–sign ='我'。

ls_sel–option ='EQ'。

ls_sel–low ='Y'。

附加ls_sel至lt_sel。

清除ls_sel。


ls_sel–dimension ='TIME'。

ls_sel–attribute ='PRIOR_TIME'。

ls_sel–sign ='I'。

ls_sel–option ='EQ'。

ls_sel–low =" Y"。

APPEND ls_sel至lt_sel。

清除ls_sel。

我有一个变通办法,为每个条件多次调用read_mbr_data,然后合并内部表。 但这会导致对数据库的多次点击,我想避免。

感谢您的时间。

Ed

2条回答
闻人可可
2020-09-19 00:48 .采纳回答

"我有一种变通方法,即为每个条件多次调用read_mbr_data,然后合并内部表。但这会导致对数据库的多次命中,我想避免这种情况。" -对性能没有影响! 只需几毫秒))

通过这种方式,您可以在badi调用之前为脚本逻辑中的时间成员准备范围,并传递包含所需时间成员的变量作为自定义逻辑badi参数。 将简化badi代码!

一周热门 更多>