如何将成员集规则(BAS,DEP等)传递给调用方法lo_sqe-> run_axis_query_symm

2020-09-09 22:00发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)尊敬的专家, 根据发布的操作指南...

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

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


尊敬的专家,

根据发布的操作指南,我正在尝试在SAP BPC 10.1 NW经典环境中使用基本的BPC数据读取方法(如何将BPC 7.x BADI迁移到BPC 10 )。
我需要从父成员中读取数据,因此我使用轴查询(调用方法) lo_sqe-> run_axis_query_symm)。

调用方法lo_sqe-> run_axis_query_symm
   出口
     it_axis = lt_axis
     it_slicer = lt_slicer
   输入
     et_data = 

有人知道如何将成员集规则(BAS,DEP等)传递给此类查询吗?
根据附录BI,看到" ls_member"变量具有" MEMBERSET_FORMULA"参数,但我不知道如何使用它。/p>

 ls_member-dimension ='ACCOUNT'。
 ls_member-member ='PL110'。  " <---这里需要BAS(PL_TOTAL)之类的东西
 将ls_member插入表ls_axis中。
 将ls_axis插入表lt_axis。
 清除ls_axis。  

请分享您的想法。

此致

Oleg。

7条回答
Bunny_CDM
2020-09-09 22:10

我的代码示例 使用脚本中定义的范围来查询badi内部的数据:

数据:ls_axis类型ujo_t_members,
           lt_axis类型ujo_t_query_dim,
           lt_dim_list类型uja_t_dim_list,
           ls_member类型ujo_s_member,
           l_dimname TYPE uj_dim_name,
           l_TYPE成员UJ_DIM_MEMBER。
           lr_data类型引用数据,
           lo_sqe输入ref到if_ujo_query,
           lr_rec TYPE REF TO数据,
           lo_appl_mgr输入ref到if_uja_application_manager。

 FIELD-SYMBOLS: TYPE ANY,
                 TYPE UJK_S_CV。
                类型标准表。

     循环至it_cv分配。
       l_dimname =  -DIMENSION。
       将l_dimname附加到lt_dim_list。
       将-成员放入l_member中。
         ls_member-DIMENSION = l_dimname。
         ls_member-MEMBER = l_member。
         将ls_member插入表ls_axis中。
       结局。
       将ls_axis插入表lt_axis。
       清除ls_axis。
     结局。

     尝试。
     调用方法cl_uja_bpc_admin_factory => get_application_manager
     出口
     i_appset_id = i_appset_id
     i_application_id = i_appl_id
     接收
     ro_return = lo_appl_mgr。

     调用方法lo_appl_mgr-> create_data_ref
     出口
     i_data_type ='T'
     it_dim_name = lt_dim_list
     if_tech_name = abap_false
     if_signeddata = abap_true
     输入
     er_data = lr_data。
     将lr_data-> *分配给。

     调用方法cl_ujo_query_factory => get_query_adapter
     出口
     i_appset_id = i_appset_id
     i_appl_id = i_appl_id
     接收
     适配器= lo_sqe。

     调用方法lo_sqe-> run_axis_query_symm
     出口
     it_axis = lt_axis
     it_slicer = lt_slicer
     输入
     et_data = 。

     抓住
        cx_ujo_read
        cx_uj_static_check INTO lx_static。
     ENDTRY。

     创建数据的lr_rec类似行。
     ASSIGN lr_rec-> *至。

     "遍历传入数据并创建结果集
     循环分配。
     "您的代码在这里!
     结局。
 

P.S。 如果要在APAP中选择成员,请查看:

 cl_ujk_model => get_children 

i_parent_mbr-父成员

i_type导出参数可以是:

" ALL"(所有级别的子级成员)," DEP"(比父级低一级的子级成员)," BAS"(仅基本成员)

一周热门 更多>