BPC 10的UJQ_RUN_RSDRI_QUERY

2020-09-02 16:05发布

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

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


大家好,

我一直使用UJQ_RUN_RSDRI_QUERY FM在7.5中非常频繁地读取事务数据,但在10中它却不读取任何数据。 调用它的代码没有变化,但是当我调试UJQ_RUN_RSDRI_QUERY时。

但是,当我调试UJQ_RUN_RSDRI_QUERY时,它通常会调用IF_UJQ_SQE〜RUN_RSDRI_QUERY方法。 现在,该方法具有函数do_util-> get_techname,该函数以ls_range-dimension作为输入,并假定返回l_dim_techname,但没有,因此没有返回数据。

任何人都可以告诉我解决方法,或者任何人之前都曾遇到过此问题,或者可能有解决此问题的说明。

我们将非常感谢您的帮助。

谢谢

Diksha。

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

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


大家好,

我一直使用UJQ_RUN_RSDRI_QUERY FM在7.5中非常频繁地读取事务数据,但在10中它却不读取任何数据。 调用它的代码没有变化,但是当我调试UJQ_RUN_RSDRI_QUERY时。

但是,当我调试UJQ_RUN_RSDRI_QUERY时,它通常会调用IF_UJQ_SQE〜RUN_RSDRI_QUERY方法。 现在,该方法具有函数do_util-> get_techname,该函数以ls_range-dimension作为输入,并假定返回l_dim_techname,但没有,因此没有返回数据。

任何人都可以告诉我解决方法,或者任何人之前都曾遇到过此问题,或者可能有解决此问题的说明。

我们将非常感谢您的帮助。

谢谢

Diksha。

付费偷看设置
发送
2条回答
My梦
1楼 · 2020-09-02 17:00.采纳回答

已将UJQ模块替换为UJO模块。 这是一些示例代码,显示了如何在10.0中读取事务数据。

数据:lv_environment_id TYPE uj_appset_id VALUE'TESTENV',

lv_application_id TYPE uj_appl_id VALUE'TESTMODEL',

lt_dim_list类型uja_t_dim_list

lo_appl_mgr类型参考到if_uja_application_manager,

lo_query类型参考到if_ujo_query,

lr_data类型参考到数据,

lt_message类型uj0_t_message,

ls_application类型UJA_S_APPLICATION,

ls_dimensions类型UJA_s_DIMENSION。

FIELD-SYMBOLS:类型标准表。 >

lo_appl_mgr = cl_uja_bpc_admin_factory => get_application_manager(

i_appset_id = lv_environment_id

i_application_id = lv_application_id)。

清除ls_application。

lo_appl_mgr-> GET(

导出

IF_WITH_MEASURES = ABAP_FALSE" BPC:常规指标

IF_SUMMARY = ABAP_FALSE" BPC:常规 dicator

导入

ES_APPLICATION = ls_application)。 " Applications表类型

刷新lt_dim_list。

在ls_application-dimensions循环到ls_dimensions。

将ls_dimensions-dimension附加到lt_dim_list。

结束循环。

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)。

ASSIGN lr_data-> * TO

TRY。

lo_query = cl_ujo_query_factory => get_query_adapter(

i_appset_id = lv_environment_id

i_appl_id = lv_application_id

)。

lo_query-> run_rsdri_query(

导出

it_dim_name = lt_dim_list" BPC:维度列表

* it_range =" BPC :选择条件

if_check_security = ABAP_FALSE" BPC:通用指示器

* i_packagesize =" BPC:返回数据包的大小 ge

* i_call_badi = ABAP_TRUE

* if_db_aggregate = ABAP_TRUE" BPC:通用指标

导入

et_data =

* e_end_of_data =" BPC:最后一个数据包是/否

* e_split_occurred ="结果可能未完全汇总

et_message = lt_message" BPC:消息

* e_stats_guid =" BPC:统计会话

* e_cell_filted =

*更改

* c_first_call =" BPC:首次呼叫是/否

)。

* CATCH cx_ujo_read。 "普通阅读例外

CATCH cx_ujo_read。"普通阅读例外

ENDTRY。

干杯,

Rich Heilman

嗨,

在我的情况下,我正在定义I_package = 50000,以便内部表不应抛出转储。

但是在我的情况下 BPC多维数据集我有超过50000条记录,但是该程序仅考虑前50000条记录,并且未获取其他剩余记录。

请让我知道如何获取其他剩余记录?

一周热门 更多>