码迷,mamicode.com
首页 > 其他好文 > 详细

ABAP 取标准报表测试程序

时间:2019-12-31 18:35:09      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:field   call   mes   pes   获取   cal   imp   code   epo   

*&---------------------------------------------------------------------*

*& Report  ZMB5B_TEST

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

 

REPORT  ZMB5B_TEST.

TABLES:

  MKPF,

  MSEG.

TYPES:

  BEGIN OF TYP_MB5B,

    MATNR TYPE MSEG-MATNR,

    WERKS TYPE MSEG-WERKS,

    NAME1 TYPE T001W-NAME1,

    START_DATE TYPE SY-DATUM, "开始日期

    END_DATE TYPE SY-DATUM,   "结束日期

    ANFMENGE TYPE MSEG-MENGE, "期初库存

    ENDMENGE TYPE MSEG-MENGE, "期末库存

  END OF TYP_MB5B.

 

DATA:

  LTH_MB5B TYPE TYP_MB5B,

  TD_MB5B TYPE TABLE OF TYP_MB5B,

  LS_DATA TYPE REF TO DATA.

  field-symbols:

    <lt_data> type standard table,

    <L_DATA>  TYPE ANY.

 

SELECT-OPTIONS:

  S_WERKS FOR MSEG-WERKS,

  S_MATNR FOR MSEG-MATNR,

  S_BUDAT FOR MKPF-BUDAT.

 

START-OF-SELECTION.

 

CALL METHOD CL_SALV_BS_RUNTIME_INFO=>SET

  EXPORTING

    DISPLAY        = ABAP_FALSE

    METADATA       = ABAP_FALSE

    DATA           = ABAP_TRUE.

 

SUBMIT RM07MLBD               "Tcode MB5B

    WITH MATNR IN S_MATNR

    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.

  CALL METHOD 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.

         MOVE-CORRESPONDING <L_DATA> TO LTH_MB5B.

         APPEND LTH_MB5B TO TD_MB5B.

         CLEAR LTH_MB5B.

   ENDLOOP.

ENDIF.

 

 LOOP AT TD_MB5B INTO LTH_MB5B.

 

  WRITE: / LTH_MB5B-MATNR, ‘||‘,

           LTH_MB5B-WERKS, ‘||‘,

           LTH_MB5B-START_DATE, ‘||‘,

           LTH_MB5B-END_DATE, ‘||‘,

           LTH_MB5B-ANFMENGE, ‘||‘,

           LTH_MB5B-ENDMENGE.

  CLEAR LTH_MB5B.

*

ENDLOOP.

ABAP 取标准报表测试程序

标签:field   call   mes   pes   获取   cal   imp   code   epo   

原文地址:https://www.cnblogs.com/jimi520/p/12125590.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!