通过GUI抑制在ABAP中调用现有SAP报告

use*_*652 6 sap abap bapi

我想将SAP程序(事务)的功能公开为BAPI.我需要调用报告并提供范围过滤器,以便绕过GUI.

有没有人有SUBMIT ... WITH ... ABAP构造的工作示例,或者有关如何完成我需要做的事情的其他建议?

Est*_*sti 3

这是一个工作示例:

SUBMIT SAPF140 
    TO SAP-SPOOL                         "optional"
    SPOOL PARAMETERS print_parameters    "optional"
    WITHOUT SPOOL DYNPRO                 "optional (hides the spool pop-up)"
    VIA JOB jobname NUMBER l_number      "optional"
    AND RETURN                           "optional - returns to the calling prog"
    WITH EVENT   =  REVENT
    WITH BUKRS   IN RBUKRS
    WITH BELNR   IN lRBELNR
    WITH GJAHR   IN RGJAHR
    WITH USNAM   =  SY-UNAME
    WITH DATUM   =  SAVE_DATUM
    WITH UZEIT   =  SAVE_UZEIT
    WITH DELDAYS =  RDELDAYS
    WITH KAUTO   =  'X'
    WITH RPDEST  =  SAVE_PDEST
    WITH TITLE   =  TITLE.
Run Code Online (Sandbox Code Playgroud)

所有“WITH”语句都与被调用程序上的选择字段相关,其中我使用=它是一个PARAMETER语句(单个字段),我使用IN它是一个SELECT_OPTIONS语句(范围)

以下是如何填充范围的简单示例:

REFRESH lrbelnr.
lrbelnr-sign = 'I'.
lrbelnr-option = 'EQ'.
lrbelnr-low = HBKORM-belnr.
CLEAR lrbelnr-high.
append lrbelnr.
Run Code Online (Sandbox Code Playgroud)