点击此处---> 群内免费提供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。
谢谢。
可以检查0VERSION的类型和长度(不能在我这一边检查它)吗? 当心转换例程。 您必须使用内部格式。 如果它是CHAR 3,则可以尝试:
不敢相信这是问题所在!
谢谢!!!
您的infocube实时吗?
是的,是
如果要读取当前请求(呈黄色状态),则必须提出要求。
参数I_ROLLUP_ONLY应该设置为false(空白)。
我已经尝试过使用i_rollup_only = false但什么都没有... :(
感谢您的回答。
您的请求处于黄色状态吗? ?如果是,请尝试将其切换为绿色,然后看看会发生什么。
一周热门 更多>