Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

ALV Header Line

Former Member
0 Kudos

can i add 2 header lines in ALV Reporting, if so then how give example.

abhishek suppal

4 REPLIES 4

Former Member
0 Kudos

Hi,

This one already discussed

check these links

http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_endlist.htm

Former Member
0 Kudos

Hi,

Search for this topic in Forum,

http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_enhanced.htm

Best Regards,

Anjali

Former Member
0 Kudos

Hi,

Copy the following code and execute, it will work fine.


TYPE-POOLS: slis.

DATA: BEGIN OF i_data OCCURS 0,
        qmnum      LIKE qmel-qmnum,
        qmart      LIKE qmel-qmart,
        qmtxt      LIKE qmel-qmtxt,
        ws_row     TYPE i,
        ws_char(5) TYPE c,
        chk,
      END OF i_data.

DATA: report_id  LIKE sy-repid.
DATA: ws_title   TYPE lvc_title VALUE 'An ALV Report'.
DATA: i_layout   TYPE slis_layout_alv.
DATA: i_fieldcat TYPE slis_t_fieldcat_alv.
DATA: i_events   TYPE slis_t_event.
DATA: i_header   TYPE slis_t_listheader.

SELECT qmnum
       qmart
       qmtxt
       INTO TABLE i_data
       FROM qmel
       WHERE qmnum <= '00030000010'.


LOOP AT i_data.
  i_data-ws_row = sy-tabix.
  i_data-ws_char = 'AAAAA'.
  MODIFY i_data.
ENDLOOP.

report_id = sy-repid.
PERFORM f1000_layout_init CHANGING i_layout.
PERFORM f2000_fieldcat_init CHANGING i_fieldcat.
PERFORM f3000_build_header CHANGING i_header.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
 EXPORTING
   i_callback_program                = report_id
   i_grid_title                      = ws_title
   is_layout                         = i_layout
   it_fieldcat                       = i_fieldcat
   i_save                            = 'A'
  TABLES
    t_outtab                          = i_data
 EXCEPTIONS
   program_error                     = 1
   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.

*&---------------------------------------------------------------------*
*&      Form  F1000_Layout_Init
*&---------------------------------------------------------------------*

FORM f1000_layout_init USING i_layout TYPE slis_layout_alv.

  CLEAR i_layout.
  i_layout-colwidth_optimize = 'X'.
  i_layout-edit = 'X'.

ENDFORM.                    " F1000_Layout_Init
*&---------------------------------------------------------------------*
*&      Form  f2000_fieldcat_init
*&---------------------------------------------------------------------*
FORM f2000_fieldcat_init CHANGING i_fieldcat TYPE slis_t_fieldcat_alv.

  DATA: line_fieldcat TYPE slis_fieldcat_alv.

  CLEAR line_fieldcat.
  line_fieldcat-fieldname = 'QMNUM'.     " The field name and the table
  line_fieldcat-tabname   = 'I_DATA'.    " name are the two minimum req.
  line_fieldcat-key       = 'X'.  " Specifies the column as a key (Blue)
  line_fieldcat-seltext_m = 'Notification No.'. " Column Header
  APPEND line_fieldcat TO i_fieldcat.

  CLEAR line_fieldcat.
  line_fieldcat-fieldname = 'QMART'.
  line_fieldcat-ref_tabname = 'I_DATA'.
  line_fieldcat-hotspot = 'X'.           " Shows the field as a hotspot.
  line_fieldcat-seltext_m = 'Notif Type'.
  APPEND line_fieldcat TO i_fieldcat.

  CLEAR line_fieldcat.
  line_fieldcat-fieldname = 'QMTXT'.
  line_fieldcat-tabname   = 'I_DATA'.
  line_fieldcat-seltext_m = 'Description'.
  APPEND line_fieldcat TO i_fieldcat.

  CLEAR line_fieldcat.
  line_fieldcat-fieldname = 'WS_ROW'.
  line_fieldcat-tabname   = 'I_DATA'.
  line_fieldcat-seltext_m = 'Row Number'.
  APPEND line_fieldcat TO i_fieldcat.

  CLEAR line_fieldcat.
  line_fieldcat-fieldname = 'WS_CHAR'.
  line_fieldcat-tabname   = 'I_DATA'.
  line_fieldcat-seltext_l = 'Test Character Field'.
  line_fieldcat-datatype  = 'CHAR'.
  line_fieldcat-outputlen = '15'.     " You can specify the width of a
  APPEND line_fieldcat TO i_fieldcat. " column.

  CLEAR line_fieldcat.
  line_fieldcat-fieldname = 'CHK'.
  line_fieldcat-tabname   = 'I_DATA'.
  line_fieldcat-seltext_l = 'Checkbox'.
  line_fieldcat-checkbox  = 'X'.      " Display this field as a checkbox
  line_fieldcat-edit      = 'X'.      " This option ensures that you can
  " edit the checkbox. Else it will
  " be protected.
  APPEND line_fieldcat TO i_fieldcat.

ENDFORM.                    " f2000_fieldcat_init

*&---------------------------------------------------------------------*
*&      Form  f3000_build_header
*&---------------------------------------------------------------------*

FORM f3000_build_header USING i_header TYPE slis_t_listheader.

  DATA: gs_line TYPE slis_listheader.

  CLEAR gs_line.
  gs_line-typ  = 'H'.
  gs_line-info = 'This is line of type HEADER'.
  APPEND gs_line TO i_header.

  CLEAR gs_line.
  gs_line-typ  = 'S'.
  gs_line-key  = 'STATUS 1'.
  gs_line-info = 'This is line of type STATUS'.
  APPEND gs_line TO i_header.

  gs_line-key  = 'STATUS 2'.
  gs_line-info = 'This is also line of type STATUS'.
  APPEND gs_line TO i_header.

  CLEAR gs_line.
  gs_line-typ  = 'A'.
  gs_line-info = 'This is line of type ACTION'.
  APPEND gs_line TO i_header.

ENDFORM.                    " f3000_build_header

Cheers,

Venkat