zoukankan      html  css  js  c++  java
  • 抓取报表ALV GRID上的数据

    在项目开发过程中需要从标准报表MB5B中获取数据,以下是本人实例中的相关部分,程序同样适用于获取其他标准报表的数据。

    image

      CL_SALV_BS_RUNTIME_INFO=>SET(
        DISPLAY = ABAP_FALSE
        METADATA = ABAP_FALSE
      DATA = ABAP_TRUE  ).


    SUBMIT RM07MLBD                "Tcode MB5B
      WITH WERKS IN S_WERKS    "填写筛选屏幕字段
      WITH DATUM IN S_BUDAT
      WITH XSUM = ''
      WITH PA_SUMFL = 'X'
      WITH XCHAR = ''
      WITH LGBST = ''
      WITH BWBST = 'X'
      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 '无法获取ALV数据' TYPE 'E'.
    ENDTRY.


    CL_SALV_BS_RUNTIME_INFO=>CLEAR_ALL( ).


    IF <LT_DATA> IS ASSIGNED.
      LOOP AT <LT_DATA> ASSIGNING <L_DATA>.
        MOVE-CORRESPONDING <L_DATA> TO LW_MB5B.
        APPEND LW_MB5B TO LT_MB5B.
        CLEAR LW_MB5B.
      ENDLOOP.
    ENDIF.

    另外,当首次使用的时候,无法确定内表定义字段时,可以在这断点,然后查看<LT_DATA>的字段,以下是我MB5B中出现的字段。

    image

    image

  • 相关阅读:
    gotour源码阅读
    CPU知识
    GCC知识
    go/src/make.bash阅读
    Go的pprof使用
    CGI的一些知识点
    STM32——C语言数据类型
    css 学习资料
    项目管理实践教程
    js 格式验证总结
  • 原文地址:https://www.cnblogs.com/raychenfj/p/3194546.html
Copyright © 2011-2022 走看看