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返回一个表创建和写入指令。你可以帮助我