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