【SAP】ABAP——ALV输出报表

论坛 期权论坛 脚本     
匿名技术用户   2021-1-4 16:12   29   0
DATA:wa_layout TYPE slis_layout_alv,
     wa_fieldcat TYPE slis_fieldcat_alv,
     t_fieldcat TYPE slis_t_fieldcat_alv.

START-OF-SELECTION.
  PERFORM get_data.

END-OF-SELECTION.
  PERFORM field_layout.
  PERFORM display_data.

FORM field_layout.

  CLEAR:t_fieldcat.
  wa_layout-zebra = 'X'.
  wa_layout-colwidth_optimize = 'X'.

  DEFINE macro_layout.
    clear:wa_fieldcat.
    wa_fieldcat-fieldname = &1.
    wa_fieldcat-seltext_l = &2.
    wa_fieldcat-no_zero   = &3.
    wa_fieldcat-no_out    = &4.
    wa_fieldcat-emphasize = &5.
    wa_fieldcat-key       = &6.
    append wa_fieldcat to t_fieldcat.
  END-OF-DEFINITION.

  macro_layout 'MATNR' '物料' '' '' '' 'X'.
  macro_layout 'MAKTX' '物料描述' '' '' '' ''.
  macro_layout 'QCMNG' '期初数量' '' '' '' ''.
  macro_layout 'CSALK' '期初金额' '' '' '' ''.
  macro_layout 'QMMNG' '期末数量' '' '' '' ''.
  macro_layout 'MSALK' '期末金额' '' '' '' ''.
  macro_layout 'ERFMG' '期间耗用数量' '' '' '' ''.
  macro_layout 'DMBTR' '期间耗用金额' '' '' '' ''.
  macro_layout 'PJMNG' '平均日耗用量' '' '' '' ''.
  macro_layout 'PJBTR' '平均日耗用额' '' '' '' ''.
  macro_layout 'JSZZT' '周转天' '' '' '' ''.
  macro_layout 'WKDAY' '实际上班天数' '' '' '' ''.
  macro_layout 'WERKS' '工厂' '' '' '' ''.

ENDFORM.                    "field_layout


FORM display_data.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program       = sy-repid
      is_layout                = wa_layout
      it_fieldcat              = t_fieldcat
      i_callback_pf_status_set = 'MENU_SET'
      I_callback_user_command  = 'USER_COMMAND'
      i_save                   = 'X'
    TABLES
      t_outtab                 = gt_out
    EXCEPTIONS
      program_error            = 1    "此处的exceptions必须要写,要不然sy-subrc = 0.
      OTHERS                   = 2.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

ENDFORM.                    "display_data

FORM menu_set USING rt_extab TYPE slis_t_extab.
  SET PF-STATUS 'STANDARD_FULLSCREEN'.
ENDFORM.                    " MENU_SET

FORM user_command USING ucomm     LIKE sy-ucomm
                        selfield  TYPE slis_selfield.

  DATA: lr_grid TYPE REF TO cl_gui_alv_grid.

  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid = lr_grid.

  CALL METHOD lr_grid->check_changed_data.
  selfield-refresh = 'X'.
*********************
***写ALV展示后的内容***
*********************
ENDFORM.

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP