RSDRI_INFOPROV_READ不返回任何内容

2020-08-21 05:58发布

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

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


你好

我第一次使用FM RSDRI_INFOPROV_READ。
我复制了报告RSDRI_INFOPROV_READ_DEMO,并更改了一些内容以读取我们的信息立方体。

FM不会触发任何异常,但是不会返回任何内容。
在具有相同选择的事务LISTCUBE中,将返回数据。

你知道我在做什么错吗?

这是代码:

 
*&------------------------------------------ --------------------------- *
*&报告RSDRI_INFOPROV_READ_DEMO *
*&*
*&- -------------------------------------------------- ---------------- *
报告zrsdri_infoprov_read_demo。
类型库:rs,rsdrc。
类型:
tys_importes的开始,
0fiscyear TYPE/bic/vzcbwippt2-0fiscyear,
0fiscper3 TYPE/bic/vzcbwippt2-0fiscper3,
0costelmnt TYPE/bic/vzcbwippt2-0costelmnt,
0costcenter TYPE/bic/vzcbwippt2-0costmount,
bic/vzcbwippt2-0数量,
tys_importes的结尾,
tyt_importes tys_importes的标准类型表。
数据:
lv_amount TYPE/bi0/oiamount,
lv_first_call TYPE rs_bool,
rs_bool,
ls_th_sfc类型rsdri_s_sfc,
lt_th_sfc类型rsdri_th_sfc,
ls_th_sfk类型rsdri_s_sfk,
lt_th_sfk类型rsdri_th,<_>范围,<_> ,
lt_importes_aux TYPE tyt_importes。
定义fill_range。
如果&2不是初始值。
ls_range-chanm =&1。
ls_range-sign ='I'。
ls_range-compop ='EQ'。
ls_range-low = &2。
将ls_range附加到lt_range。 清除ls_range。
结束符。
END-OF-DEFINITION。
*对于以下特征/导航属性值,应返回
*:
ls_th_sfc-chanm ='0FISCYEAR'。
插入ls_th_sfc插入表lt_th_sfc。 ls_th_sfc-chanm ='0COSTCENTER'。
插入ls_th_sfc插入表lt_th_sfc。
*对于以下关键数字,应返回:
ls_th_sfk-kyfnm ='0AMOUNT'。
ls_th_sfk-aggr = '。
INSERT ls_th_sfk插入表lt_th_sfk。
*这些是限制:
fill_range'0VERSION''0'。
fill_range'0COSTCENTER''1130025010'。
fill_range'0COSTELMNT'' 0061103001'。
fill_range'0FISCYEAR''2019'。
*出于说明目的,读取模块被称为:
*,结果将在大小为10的包
*中检索。
DATA :g_end_of_data TYPE rs_bool,
g_first_call TYPE rs_bool。
*- -当读取最后一个数据
*包时,此变量将设置为TRUE
g_end_of_data = rs_c_false。
* ---此变量指示这是否是对读取模块的初始
*调用 或后续调用(
*只是检索已选择的数据)
g_first_call = rs_c_true。

g_end_of_data = rs_c_false。
调用功能'RSDRI_INFOPROV_READ'
导出
> i_infoprov ='ZCBWIPPT'
i_th_sfc = lt_th_sfc
i_th_sfk = lt_th_sfk
i_t_range = lt_range
i_reference_date = sy-datum
i_save_in_table = rs_c_false =
i_authority_check = rsdrc_c_authchk-read
导入
e_t_data = lt_importes_aux" g_t_data
e_end_of_data = g_end_of_data
CHANGING
c_first_call = g_first_call =错误的
<1> = 2
非法输入sfk = 3
非法输入范围= 4
非法输入表= 5
否授权= 6
非法下载= 8 i llegal_tablename = 9
其他=11。
如果sy-subrc <>0。
BREAK-POINT。 " #EC NOBREAK
退出。
ENDIF。
将lt_importes_aux的行插入表lt_importes。
ENDWHILE。

谢谢。

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

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


你好

我第一次使用FM RSDRI_INFOPROV_READ。
我复制了报告RSDRI_INFOPROV_READ_DEMO,并更改了一些内容以读取我们的信息立方体。

FM不会触发任何异常,但是不会返回任何内容。
在具有相同选择的事务LISTCUBE中,将返回数据。

你知道我在做什么错吗?

这是代码:

 
*&------------------------------------------ --------------------------- *
*&报告RSDRI_INFOPROV_READ_DEMO *
*&*
*&- -------------------------------------------------- ---------------- *
报告zrsdri_infoprov_read_demo。
类型库:rs,rsdrc。
类型:
tys_importes的开始,
0fiscyear TYPE/bic/vzcbwippt2-0fiscyear,
0fiscper3 TYPE/bic/vzcbwippt2-0fiscper3,
0costelmnt TYPE/bic/vzcbwippt2-0costelmnt,
0costcenter TYPE/bic/vzcbwippt2-0costmount,
bic/vzcbwippt2-0数量,
tys_importes的结尾,
tyt_importes tys_importes的标准类型表。
数据:
lv_amount TYPE/bi0/oiamount,
lv_first_call TYPE rs_bool,
rs_bool,
ls_th_sfc类型rsdri_s_sfc,
lt_th_sfc类型rsdri_th_sfc,
ls_th_sfk类型rsdri_s_sfk,
lt_th_sfk类型rsdri_th,<_>范围,<_> ,
lt_importes_aux TYPE tyt_importes。
定义fill_range。
如果&2不是初始值。
ls_range-chanm =&1。
ls_range-sign ='I'。
ls_range-compop ='EQ'。
ls_range-low = &2。
将ls_range附加到lt_range。 清除ls_range。
结束符。
END-OF-DEFINITION。
*对于以下特征/导航属性值,应返回
*:
ls_th_sfc-chanm ='0FISCYEAR'。
插入ls_th_sfc插入表lt_th_sfc。 ls_th_sfc-chanm ='0COSTCENTER'。
插入ls_th_sfc插入表lt_th_sfc。
*对于以下关键数字,应返回:
ls_th_sfk-kyfnm ='0AMOUNT'。
ls_th_sfk-aggr = '。
INSERT ls_th_sfk插入表lt_th_sfk。
*这些是限制:
fill_range'0VERSION''0'。
fill_range'0COSTCENTER''1130025010'。
fill_range'0COSTELMNT'' 0061103001'。
fill_range'0FISCYEAR''2019'。
*出于说明目的,读取模块被称为:
*,结果将在大小为10的包
*中检索。
DATA :g_end_of_data TYPE rs_bool,
g_first_call TYPE rs_bool。
*- -当读取最后一个数据
*包时,此变量将设置为TRUE
g_end_of_data = rs_c_false。
* ---此变量指示这是否是对读取模块的初始
*调用 或后续调用(
*只是检索已选择的数据)
g_first_call = rs_c_true。

g_end_of_data = rs_c_false。
调用功能'RSDRI_INFOPROV_READ'
导出
> i_infoprov ='ZCBWIPPT'
i_th_sfc = lt_th_sfc
i_th_sfk = lt_th_sfk
i_t_range = lt_range
i_reference_date = sy-datum
i_save_in_table = rs_c_false =
i_authority_check = rsdrc_c_authchk-read
导入
e_t_data = lt_importes_aux" g_t_data
e_end_of_data = g_end_of_data
CHANGING
c_first_call = g_first_call =错误的
<1> = 2
非法输入sfk = 3
非法输入范围= 4
非法输入表= 5
否授权= 6
非法下载= 8 i llegal_tablename = 9
其他=11。
如果sy-subrc <>0。
BREAK-POINT。 " #EC NOBREAK
退出。
ENDIF。
将lt_importes_aux的行插入表lt_importes。
ENDWHILE。

谢谢。

付费偷看设置
发送
8条回答
lukcy2020
1楼 · 2020-08-21 06:21.采纳回答

可以检查0VERSION的类型和长度(不能在我这一边检查它)吗? 当心转换例程。 您必须使用内部格式。 如果它是CHAR 3,则可以尝试:

 fill_range'0VERSION'000'。
Cikesha
2楼-- · 2020-08-21 06:07

不敢相信这是问题所在!

谢谢!!!

Haoba3210
3楼-- · 2020-08-21 06:10

您的infocube实时吗?

一只江湖小虾
4楼-- · 2020-08-21 06:15

是的,是

bbpeas
5楼-- · 2020-08-21 06:18

如果要读取当前请求(呈黄色状态),则必须提出要求。

参数I_ROLLUP_ONLY应该设置为false(空白)。

太Q了
6楼-- · 2020-08-21 06:17

我已经尝试过使用i_rollup_only = false但什么都没有... :(
感谢您的回答。

Bunny_CDM
7楼-- · 2020-08-21 06:09

您的请求处于黄色状态吗? ?如果是,请尝试将其切换为绿色,然后看看会发生什么。

一周热门 更多>