Sei sulla pagina 1di 3

Today we will learn how to add header using an ALV grid.

Okay first lets create a new program report using SE38 and named it as Z_GRID_HEADER. The procedure will involving creating an event table and using its top of page attributes. Heres the code. *&---------------------------------------------------------------------* *& Report Z_GRID_HEADER *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT Z_GRID_HEADER. TYPE-POOLS: slis. "Declare the table we want to use in the report tables: kna1. DATA: t_alv_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE, t_alv_event TYPE slis_t_event WITH HEADER LINE, t_events TYPE slis_t_event. "Declare the internal table we want to use in the report data: i_kna1 type TABLE OF kna1, list_top_of_page TYPE slis_t_listheader. DATA: it_fcat TYPE slis_t_fieldcat_alv, is_fcat LIKE LINE OF it_fcat. DATA: it_fieldcat TYPE lvc_t_fcat, is_fieldcat LIKE LINE OF it_fieldcat. DATA: ld_itab LIKE LINE OF i_kna1, t_list_end_of_page TYPE slis_t_listheader. DATA: gt_list_top_of_page TYPE slis_t_listheader. "Declare the parameters for the report SELECT-OPTIONS: kunnr for kna1-kunnr. START-OF-SELECTION. "Select Query to display in the report select kunnr name1 stras into CORRESPONDING FIELDS OF TABLE i_kna1 from kna1 WHERE kunnr in kunnr. PERFORM display_report_grid. FORM top_of_page . CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING i_logo = '' it_list_commentary = gt_list_top_of_page.. endform. FORM comment_build USING lt_top_of_page TYPE slis_t_listheader. DATA: ls_line TYPE slis_listheader.

"Create the header text CLEAR ls_line. ls_line-typ = 'H'. ls_line-info = 'Customer Listing'. APPEND ls_line TO lt_top_of_page. CLEAR ls_line. ls_line-typ = 'S'. ls_line-info = 'Customer Listing'. APPEND ls_line TO lt_top_of_page. ENDFORM. form display_report_grid. DATA : it_fld TYPE slis_t_fieldcat_alv , it_evt TYPE slis_t_event , T_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV, wa_fld TYPE slis_fieldcat_alv , wa_evt TYPE slis_alv_event , wa_lay TYPE slis_layout_alv , FS_FIELDCAT LIKE LINE OF T_FIELDCAT, FS_LAYOUT TYPE SLIS_LAYOUT_ALV , EOF TYPE slis_formname. PERFORM comment_build USING gt_list_top_of_page[]. CLEAR it_evt. CALL FUNCTION 'REUSE_ALV_EVENTS_GET' IMPORTING et_events = it_evt. READ TABLE it_evt INTO wa_evt WITH KEY name = slis_ev_after_line_output . wa_evt-form = slis_ev_after_line_output . MODIFY it_evt FROM wa_evt INDEX sy-tabix . READ TABLE it_evt INTO wa_evt WITH KEY name = slis_ev_top_of_page . wa_evt-form = slis_ev_top_of_page . MODIFY it_evt FROM wa_evt INDEX sy-tabix . PERFORM fm_fieldcatg USING 'I_KNA1' : 'KUNNR' 'KNA1' 'KUNNR' '' '10' 'Cust No' '' '' '' '' '' '' '' '' '' '' , 'NAME1' 'KNA1' 'NAME1' '' '25' 'Customer Name' '' '' '' '' '' '' '' '' '' '' , 'SPRAS' 'KNA1' 'SPRAS' '' '35' 'Address' '' '' '' '' '' '' '' '' '' ''. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING IS_LAYOUT = FS_LAYOUT i_bypassing_buffer = 'X' i_callback_program = sy-repid it_fieldcat = t_alv_fieldcat[] it_events = it_evt i_save = 'A' TABLES

'' '' ''

t_outtab * *

= i_kna1. "internal table

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. FORM fm_fieldcatg USING value(fu_types) "nama internal table value(fu_fname) "nama field value(fu_reftb) "reference table value(fu_refld) "reference field value(fu_noout) "X, hide field value(fu_outln) "Field Length value(fu_fltxt) "header value(fu_dosum) "X, Sum value(fu_hotsp) "X, hyperlink value(fu_dec) "Decimal places value(fu_waers) "currency value(fu_meins) "unit of measure value(fu_waers_f) "field currency value(fu_meins_f) "field unit of measure value(fu_checkbox) "field checkbox value(fu_icon) "field icon value(fu_input) "field will be editable value(fu_key) "field will be blue . DATA: ld_fieldcat CLEAR: ld_fieldcat. ld_fieldcat-tabname = fu_types. ld_fieldcat-fieldname = fu_fname. ld_fieldcat-ref_tabname = fu_reftb. ld_fieldcat-ref_fieldname = fu_refld. ld_fieldcat-no_out = fu_noout. ld_fieldcat-outputlen = fu_outln. ld_fieldcat-seltext_l = fu_fltxt. ld_fieldcat-seltext_m = fu_fltxt. ld_fieldcat-seltext_s = fu_fltxt. ld_fieldcat-reptext_ddic = fu_fltxt. ld_fieldcat-no_out = fu_noout. ld_fieldcat-do_sum = fu_dosum. ld_fieldcat-hotspot = fu_hotsp. ld_fieldcat-decimals_out = fu_dec. ld_fieldcat-currency = fu_waers. ld_fieldcat-quantity = fu_meins. ld_fieldcat-qfieldname = fu_meins_f. ld_fieldcat-cfieldname = fu_waers_f. ld_fieldcat-checkbox = fu_checkbox. ld_fieldcat-icon = fu_icon. ld_fieldcat-input = fu_input. "ld_fieldcat-emphasize = fu_key. ld_fieldcat-no_zero = fu_key. APPEND ld_fieldcat TO t_alv_fieldcat. CLEAR ld_fieldcat. ENDFORM. TYPE slis_fieldcat_alv.

Potrebbero piacerti anche