效果:

DEMO:
*&---------------------------------------------------------------------* *& Report ZTEST_LUOLIN_004 *&---------------------------------------------------------------------* *& *&---------------------------------------------------------------------* REPORT ZTEST_LUOLIN_004. DATA : ps_layout TYPE slis_layout_alv. DATA: fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE, fieldcat_ln LIKE LINE OF fieldcat. DATA: eventcat TYPE slis_t_event, eventcat_ln LIKE LINE OF eventcat. SELECT vbeln, posnr, matnr, matwa, matkl, zmeng, meins FROM vbap INTO TABLE @DATA(lt_vbap) UP TO 10 ROWS. * 设置布局 ps_layout-zebra = 'X'. "设置fildcat DEFINE set_fieldfcat. fieldcat-fieldname = &1. "字段名 fieldcat-seltext_m = &2. "字段描述 fieldcat-edit = &3. fieldcat-outputlen = &4. "列宽 fieldcat-just = &5. "显示位置 IF &1 = 'VBELN'. * fieldcat-edit = 'X'. fieldcat-input = 'X'. ENDIF. APPEND fieldcat. END-OF-DEFINITION. * 设置fieldcat PERFORM set_fildcat. "TOP OF PAGE eventcat_ln-name = slis_ev_top_of_page. eventcat_ln-form = 'TOP_OF_PAGE'. APPEND eventcat_ln TO eventcat. CLEAR eventcat_ln. eventcat_ln-name = slis_ev_top_of_list. eventcat_ln-form = 'TOP_OF_LIST'. APPEND eventcat_ln TO eventcat. CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY' EXPORTING i_callback_program = sy-repid is_layout = ps_layout it_fieldcat = fieldcat[] it_events = eventcat TABLES t_outtab = lt_vbap EXCEPTIONS program_error = 1 OTHERS = 2. * &---------------------------------------------------------------------* * & Form SET_FILDCAT * &---------------------------------------------------------------------* * & text * &---------------------------------------------------------------------* FORM set_fildcat . set_fieldfcat 'VBELN' '订单' '' '10' ''. set_fieldfcat 'POSNR' '行项目' '' '10' ''. set_fieldfcat 'MATNR' '物料' '' '10' ''. set_fieldfcat 'MATWA' '物料码' '' '10' ''. set_fieldfcat 'MATKL' '物料组' '' '10' ''. set_fieldfcat 'ZMENG' '数量' '' '10' ''. set_fieldfcat 'MEINS' '单位' '' '10' ''. ENDFORM. FORM top_of_page. *-To display the headers for main list FORMAT COLOR COL_HEADING. WRITE: / sy-uline(210). WRITE: / sy-vline, (19) '订单' CENTERED, sy-vline, (30) ' 物料' CENTERED , sy-vline, (19) ' 数量' CENTERED, sy-vline. FORMAT COLOR OFF. ENDFORM. "top_of_page *&---------------------------------------------------------------------* *& Form TOP_OF_LIST *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM top_of_list. DATA: l_year_month TYPE string. CONCATENATE sy-datum+0(4) '年' sy-datum+4(2) '月' INTO l_year_month. WRITE: /70(16) '汇总式总账' CENTERED. WRITE: /70(16) l_year_month CENTERED. SKIP. ENDFORM. "TOP_OF_LIST FORM f_set_status USING p_extab TYPE slis_t_extab. SET TITLEBAR 'TITLE' WITH '项目余额结转功能开发'. SET PF-STATUS 'ALV_PF_STATUS' . ENDFORM. FORM f_user_command USING p_ucomm TYPE sy-ucomm p_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->register_edit_event EXPORTING i_event_id = cl_gui_alv_grid=>mc_evt_enter EXCEPTIONS error = 1 OTHERS = 2. CALL METHOD lr_grid->check_changed_data. "REFRESH ALV lr_grid->refresh_table_display( is_stable = VALUE lvc_s_stbl( row = 'X' col = 'X' ) ). ENDFORM.
网友评论