SAP ABAP调用其他程序返回结果保存到内表中

REPORT  ZTEST_865207.
RANGES: R_RQ FOR SY-DATUM.
*DATA: GTD_MX TYPE STANDARD TABLE OF alv_t_t2 WITH HEADER LINE.
"内表定义要与程序中的内表结构一致,便于存储和输出
DATA:  BEGIN OF GTD_MX OCCURS 0.
          INCLUDE STRUCTURE ZDAYMX.

DATA:    ARBPL1 TYPE  ZDAYMX-ARBPL.
DATA:    ZYGG   TYPE MARA-FERTH.
DATA:         GAMNG  TYPE AFKO-GAMNG.
DATA:    BGSM(10)   TYPE  C.
DATA : END OF   GTD_MX.
DATA: LS_DATA TYPE REF TO DATA.
FIELD-SYMBOLS: <LT_DATA> TYPE TABLE,
               <L_DATA>  TYPE DATA.
   CL_SALV_BS_RUNTIME_INFO=>SET(
          DISPLAY  = ''
          METADATA = ''
          DATA     = 'X'
   ).
    R_RQ-SIGN = 'I'.
    R_RQ-OPTION = 'EQ'.
    R_RQ-LOW = '20170415'.
    APPEND R_RQ.
SUBMIT  ProgramName
                                   "使用rep静态地指定一个程序,或者使用name动态地指定
*        USING SELECTION-SCREEN '1000'             "指定要访问的选择屏幕dynnr,如不使用该条目,系统调用标准选择屏幕。
*        VIA SELECTION-SCREEN                      "显示被调用的选择屏幕。如不使用该条目,选择屏幕过程(selection screen processing)将会在后台发生。
*        USING SELECTION-SET '变式'                "选择屏幕使用变式
*        USING SELECTION-SETS OF PROGRAM '程序名'  "指定使用的变式的程序
*        WITH SELECTION-TABLE rspar                "选择屏幕使用内表rspar中的值,内表的行结构为RSPARAMS或者RSPARAMSL_255
        WITH R1 EQ ''                              "选择屏幕参数
        WITH R3 EQ 'X'                             "选择屏幕参数
        WITH WERKS EQ '1120'                       "选择屏幕参数
        WITH RQ IN R_RQ                            "选择屏幕参数
*        WITH FREE SELECTIONS texpr                "通过一个内表texpr向选择屏幕提供基于逻辑数据库的动态选择,内表texpr的类型是RSDS类型组中的RSDS_TEXPR
*        LINE-SIZE width                           "使用width设置程序访问的Basic List的行宽
*        LINE-COUNT page_lines                     "使用设置程序访问的Basic List的页包含的行数
*        EXPORTING LIST TO MEMORY                  "将程序访问的Basic List以行类型为ABAPLIST的内表形式保存到ABAP Memory中
        AND RETURN.

   TRY.
     CL_SALV_BS_RUNTIME_INFO=>GET_DATA_REF(
            IMPORTING
              R_DATA = LS_DATA
     ).
     ASSIGN LS_DATA->* TO <LT_DATA>.
  CATCH CX_SALV_BS_SC_RUNTIME_INFO.
     MESSAGE 'UNABLE TO RETRIEVE ALV DATA' TYPE 'E'.
  ENDTRY.
   CL_SALV_BS_RUNTIME_INFO=>CLEAR_ALL( ).
   LOOP AT <LT_DATA> ASSIGNING <L_DATA>.
    MOVE-CORRESPONDING <L_DATA> TO GTD_MX.
    APPEND GTD_MX.
  ENDLOOP.

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值