Skip to Content
avatar image
Former Member

ALV LIST Header

How to display a standard header of the displayed table in ALV list ?

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

5 Answers

  • Apr 20, 2006 at 09:33 AM

    hi,

    REPORT  Z_TEST_ALV_EVENTS                       .
    
    type-pools: slis.
    data: x_fieldcat type slis_fieldcat_Alv,
          it_fieldcat type slis_t_fieldcat_alv,
          x_events type slis_alv_event,
          it_events type SLIS_T_EVENT.
    data: v_lines type i.
    data: begin of itab occurs 0,
           vbeln like vbak-vbeln,
           posnr like vbap-posnr,
          end of itab.
    
    select vbeln
           posnr
           from vbap
           up to 100 rows
           into table itab.
    
     x_events-name =  'TOP_OF_PAGE'.
     x_events-form =  'TOP_OF_PAGE'.
     append x_events to it_events.
     clear x_events.
    
    
    * call function 'REUSE_ALV_EVENTS_GET'
    *  EXPORTING
    *    I_LIST_TYPE           = 0
    *  IMPORTING
    *    ET_EVENTS             = IT_EVENTS
    *  EXCEPTIONS
    *    LIST_TYPE_WRONG       = 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.
    *
    * read table it_events into x_events with key name = 'TOP_OF_PAGE'.
    *      if sy-subrc = 0.
    *      x_events-form = 'TOP_OF_PAGE'.
    *      modify it_events from x_events index sy-tabix transporting form .
    *      endif.
    *
    
    call function 'REUSE_ALV_FIELDCATALOG_MERGE'
     EXPORTING
       I_PROGRAM_NAME               = sy-repid
       I_INTERNAL_TABNAME           = 'ITAB'
       I_INCLNAME                   = sy-repid
      changing
        ct_fieldcat                  = IT_FIELDCAT
     EXCEPTIONS
       INCONSISTENT_INTERFACE       = 1
       PROGRAM_ERROR                = 2
       OTHERS                       = 3
              .
    if sy-subrc <> 0.
     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    
    describe table itab lines v_lines.
     call function 'REUSE_ALV_LIST_DISPLAY'
      EXPORTING
        I_CALLBACK_PROGRAM                = sy-repid
        I_CALLBACK_PF_STATUS_SET          = 'STATUS'
        I_CALLBACK_USER_COMMAND           = 'USER_COMMAND'
        IT_FIELDCAT                       = IT_FIELDCAT
        IT_EVENTS                         = IT_EVENTS
        tables
         t_outtab                         = ITAB[]
      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 TOP_OF_PAGE.
     "show your standard header using write statements.
    
    *
     ENDFORM.

    Regards

    vijay

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Apr 20, 2006 at 09:29 AM

    hi,

    From FM REUSE_ALV_FIELD_CATALOG_MERGE, we get the field catalog table populated. when we pass this to fm REUSE_ALV_LIST_DISPLAY, it displays the data with the column headings.

    If you want to display similar to TOP-of-page, then we have to populate events table by fm REUSE_ALV_EVENTS_GET.

    Regards,

    Sailaja.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Apr 20, 2006 at 09:29 AM

    HI Banerjee,

    hope you want to display the top of page ..

    if it is so you can do like this..

     FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
    DATA: L_I_EVENT TYPE SLIS_ALV_EVENT.
    
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
           EXPORTING
               I_LIST_TYPE = 0
           IMPORTING
                ET_EVENTS   = I_EVENTS.
      READ TABLE I_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
                               INTO L_I_EVENT.
      IF SY-SUBRC = 0.
        MOVE FORMNAME_TOP_OF_PAGE TO L_I_EVENT-FORM.
        APPEND L_I_EVENT TO I_EVENTS.
      ENDIF.
      pass this I_EVENTS to the ALV_*_DISPLAY function module..
     now use
     
     FORM TOP_OF_PAGE.
     .....
     * here you can write the required data..
     ENDFORM.

    regards

    satesh

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Apr 20, 2006 at 09:34 AM

    HI Sab..,

    You have to use form perform for this like normal ALV

    and give your standard header to alv list which u want.

    FORM TOP-OF-PAGE.

    CLEAR header_alv.

    header_alv_wa-info = <b>'Service Tax Report'</b>.

    header_alv_wa-typ = 'H'.

    APPEND header_alv_wa TO header_alv.

    Regards,

    Dhananjay

    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

    EXPORTING

    it_list_commentary = header_alv.

    ENDFORM. "top_of_page

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Apr 28, 2006 at 07:00 AM

    Hi,

    The following code demonstrate the same.

    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.

    PERFORM f4000_events_init CHANGING i_events.

    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

    • I_INTERFACE_CHECK = ' '

    • I_BYPASSING_BUFFER =

    • I_BUFFER_ACTIVE = ' '

    i_callback_program = report_id

    • I_CALLBACK_PF_STATUS_SET = ' '

    • I_CALLBACK_USER_COMMAND = ' '

    • I_CALLBACK_TOP_OF_PAGE = ' '

    • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

    • I_CALLBACK_HTML_END_OF_LIST = ' '

    • i_structure_name = ' '

    • I_BACKGROUND_ID = ' '

    i_grid_title = ws_title

    • I_GRID_SETTINGS =

    is_layout = i_layout

    it_fieldcat = i_fieldcat

    • IT_EXCLUDING =

    • IT_SPECIAL_GROUPS =

    • IT_SORT =

    • IT_FILTER =

    • IS_SEL_HIDE =

    • I_DEFAULT = 'X'

    i_save = 'A'

    • IS_VARIANT =

    it_events = i_events

    • IT_EVENT_EXIT =

    • IS_PRINT =

    • IS_REPREP_ID =

    • I_SCREEN_START_COLUMN = 0

    • I_SCREEN_START_LINE = 0

    • I_SCREEN_END_COLUMN = 0

    • I_SCREEN_END_LINE = 0

    • IT_ALV_GRAPHICS =

    • IT_ADD_FIELDCAT =

    • IT_HYPERLINK =

    • IMPORTING

    • E_EXIT_CAUSED_BY_CALLER =

    • ES_EXIT_CAUSED_BY_USER =

    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

    &----


    *& Form f4000_events_init

    &----


    FORM f4000_events_init CHANGING i_events TYPE slis_t_event.

    DATA: line_event TYPE slis_alv_event.

    CLEAR line_event.

    line_event-name = 'TOP_OF_PAGE'.

    line_event-form = 'F4100_TOP_OF_PAGE'.

    APPEND line_event TO i_events.

    ENDFORM. " f3000_events_init

    ----


    • FORM F4100_TOP_OF_PAGE *

    ----


    FORM f4100_top_of_page.

    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

    EXPORTING

    it_list_commentary = i_header.

    ENDFORM.

    Please reward for the same.

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Hi Group,

      Can any body suggest me how to show common Header and footer for all the report output.Here on the top I attahced code