Abap 如何提取被调用程序RAZUGA01的输出
我的自定义报表必须调用标准报表Abap 如何提取被调用程序RAZUGA01的输出,abap,sap-erp,Abap,Sap Erp,我的自定义报表必须调用标准报表RAZUGA01,并提取其输出(以获取金额) 以下指令不提取输出: SUBMIT razuga01 WITH SELECTION-TABLE it_selection EXPORTING LIST TO MEMORY AND RETURN. cl\u salv\u bs\u runtime\u info=>set(导出显示=abap\u假元数据=abap\u假数据=abap\u真)。 提交razuga01 使用#这里可以从选择屏幕中选择
RAZUGA01
,并提取其输出(以获取金额)
以下指令不提取输出:
SUBMIT razuga01
WITH SELECTION-TABLE it_selection
EXPORTING LIST TO MEMORY
AND RETURN.
cl\u salv\u bs\u runtime\u info=>set(导出显示=abap\u假元数据=abap\u假数据=abap\u真)。
提交razuga01
使用#这里可以从选择屏幕中选择参数
然后返回。
尝试
“从SALV模型获取数据
cl_salv_bs_runtime_info=>get_data_ref(导入r_data=lo_data)。
将lo_数据->*分配给。
捕获cx\u salv\u bs\u sc\u runtime\u信息。
结束。
cl_salv_bs_runtime_info=>清除所有()。
尝试这段代码,您将能够从标准报告中获取ALV表cl\u salv\u bs\u runtime\u info=>set(导出display=abap\u false metadata=abap\u false data=abap\u true)。
提交razuga01
使用#这里可以从选择屏幕中选择参数
然后返回。
尝试
“从SALV模型获取数据
cl_salv_bs_runtime_info=>get_data_ref(导入r_data=lo_data)。
将lo_数据->*分配给。
捕获cx\u salv\u bs\u sc\u runtime\u信息。
结束。
cl_salv_bs_runtime_info=>清除所有()。
尝试此代码,您将能够从标准报告中获取ALV表。此代码对我有效:
DATA: lt_seltab TYPE TABLE OF rsparams,
ls_seltab LIKE LINE OF lt_seltab,
t_list TYPE TABLE OF abaplist.
DATA: xlist TYPE TABLE OF abaplist.
DATA: xtext TYPE TABLE OF char200.
ls_seltab-kind = 'S'.
ls_seltab-sign = 'I'.
ls_seltab-option = 'EQ'.
ls_seltab-selname = 'BERDATUM'. " Name of parameter on submitted program
ls_seltab-low = '20061231'.
APPEND ls_seltab TO lt_seltab.
ls_seltab-selname = 'BUKRS'.
ls_seltab-low = '0005'.
APPEND ls_seltab TO lt_seltab.
SUBMIT razuga01 WITH SELECTION-TABLE lt_seltab EXPORTING LIST TO MEMORY AND RETURN.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = xlist.
CALL FUNCTION 'LIST_TO_TXT'
EXPORTING
list_index = -1
TABLES
listtxt = xtext
listobject = xlist.
如果它对您不起作用,可能您在seltab中有一些错误的参数
当然,您必须进行一些额外的解析,才能将这些结果转换为人类可读的形式。对于我来说,这段代码可以工作:
DATA: lt_seltab TYPE TABLE OF rsparams,
ls_seltab LIKE LINE OF lt_seltab,
t_list TYPE TABLE OF abaplist.
DATA: xlist TYPE TABLE OF abaplist.
DATA: xtext TYPE TABLE OF char200.
ls_seltab-kind = 'S'.
ls_seltab-sign = 'I'.
ls_seltab-option = 'EQ'.
ls_seltab-selname = 'BERDATUM'. " Name of parameter on submitted program
ls_seltab-low = '20061231'.
APPEND ls_seltab TO lt_seltab.
ls_seltab-selname = 'BUKRS'.
ls_seltab-low = '0005'.
APPEND ls_seltab TO lt_seltab.
SUBMIT razuga01 WITH SELECTION-TABLE lt_seltab EXPORTING LIST TO MEMORY AND RETURN.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = xlist.
CALL FUNCTION 'LIST_TO_TXT'
EXPORTING
list_index = -1
TABLES
listtxt = xtext
listobject = xlist.
如果它对您不起作用,可能您在seltab中有一些错误的参数
当然,您必须进行一些额外的解析,才能将这些结果转换为人类可读的形式。您是否从内存调用函数模块列表来获取输出?你能给我们看看你的代码吗(不仅仅是那一行)?谢谢@Dirik。接下来,我从内存中调用函数“LIST”,但我有异常1。然后,请扩展您的代码示例,并添加异常详细信息(消息id、消息编号、错误文本,如果可用)Exceptions is file not found。标准报告返回数据并写入,submit语句访问数据是否正确?是否从_内存调用函数模块LIST_以获取输出?你能给我们看看你的代码吗(不仅仅是那一行)?谢谢@Dirik。接下来,我从内存中调用函数“LIST”,但我有异常1。然后,请扩展您的代码示例,并添加异常详细信息(消息id、消息编号、错误文本,如果可用)Exceptions is file not found。标准报告返回带有write的数据,submit语句访问数据是否正确?谢谢@fixeln。该报告没有一个salv表。你的解决方案可以应用吗?我试过你的解决方案,但我总是得到一个sy subrc eq 4。我该怎么解决?谢谢,如果razuga01没有返回任何ALV表,您就不能使用我的解决方案。razuga01返回一个表创建和写入指令。你可以帮助我的@fixeln。该报告没有一个salv表。你的解决方案可以应用吗?我试过你的解决方案,但我总是得到一个sy subrc eq 4。我该怎么解决?谢谢,如果razuga01没有返回任何ALV表,您就不能使用我的解决方案。razuga01返回一个表创建和写入指令。你可以帮助我