ABAP报表程序通用模板
主程序INCLUDE zmm001_top. 全局数据声明与常量 INCLUDE zmm001_sel. 选择屏幕定义 INCLUDE zmm001_f01. 子例程与业务逻辑 INITIALIZATION. PERFORM frm_init_data. 初始化默认值 START-OF-SELECTION. PERFORM frm_get_data. 数据抽取 PERFORM frm_process_data. 数据处理 PERFORM frm_display_alv. ALV展示F01部分 *---------------------------------------------------------------------* * Form frm_init_data *---------------------------------------------------------------------* FORM frm_init_data . ENDFORM. *---------------------------------------------------------------------* * Form frm_get_data *---------------------------------------------------------------------* FORM frm_get_data . ENDFORM. *---------------------------------------------------------------------* * Form frm_process_data *---------------------------------------------------------------------* FORM frm_process_data . ENDFORM. *---------------------------------------------------------------------* * Form frm_display_alv *---------------------------------------------------------------------* FORM frm_display_alv . PERFORM frm_build_layout. PERFORM frm_build_fieldcat. CALL FUNCTION REUSE_ALV_GRID_DISPLAY_LVC EXPORTING i_callback_program sy-repid i_callback_pf_status_set zcl_common_constantscns_alv_evt_pf_status i_callback_user_command zcl_common_constantscns_alv_evt_user_command is_layout_lvc gs_layout it_fieldcat_lvc gt_fcat TABLES t_outtab gt_output EXCEPTIONS program_error 1 OTHERS 2. ENDFORM. *---------------------------------------------------------------------* * Form frm_build_layout *---------------------------------------------------------------------* FORM frm_build_layout . CLEAR gs_layout. gs_layout-zebra zcl_common_constantscns_x. gs_layout-cwidth_opt zcl_common_constantscns_x. ENDFORM. *---------------------------------------------------------------------* * Form frm_build_fieldcat *---------------------------------------------------------------------* FORM frm_build_fieldcat . CLEAR gt_fcat. PERFORM frm_append_fcat USING cns_mblnr TEXT-t03. PERFORM frm_append_fcat USING cns_zeile TEXT-t04. PERFORM frm_append_fcat USING cns_mjahr TEXT-t05. PERFORM frm_append_fcat USING cns_werks TEXT-t06. ENDFORM. *---------------------------------------------------------------------* * Form frm_append_fcat *---------------------------------------------------------------------* FORM frm_append_fcat USING u_fieldname TYPE lvc_fname u_coltext TYPE any. CLEAR gs_fcat. gs_fcat-fieldname u_fieldname. gs_fcat-coltext u_coltext. gs_fcat-scrtext_l u_coltext. gs_fcat-scrtext_m u_coltext. gs_fcat-scrtext_s u_coltext. APPEND gs_fcat TO gt_fcat. ENDFORM. *---------------------------------------------------------------------* * Form frm_set_pf_status *---------------------------------------------------------------------* FORM frm_set_pf_status USING u_extab TYPE slis_t_extab. SET PF-STATUS zcl_common_constantscns_alv_pf_status EXCLUDING u_extab. ENDFORM. *---------------------------------------------------------------------* * Form frm_user_command *---------------------------------------------------------------------* FORM frm_user_command USING u_ucomm LIKE sy-ucomm u_selfield TYPE slis_selfield. CASE u_ucomm. WHEN cns_ucomm_prt. u_selfield-refresh zcl_common_constantscns_x. ENDCASE. ENDFORM.