Skip to Content
author's profile photo Former Member
Former Member

alv

hi

Can anyone tell me ?

How to get the Header at ALV GRID DISPLAY at the center or at the left??

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

3 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Dec 03, 2007 at 04:47 AM
    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 03, 2007 at 04:50 AM

    Hi

    see this report , you can understand very easily

    REPORT  ztest_alv_logo.
    
    TYPE-POOLS : slis.
    
    *ALV Formatting tables /structures
    DATA: gt_fieldcat TYPE slis_t_fieldcat_alv.
    DATA: gt_events   TYPE slis_t_event.
    DATA: gs_layout   TYPE slis_layout_alv.
    DATA: gt_page     TYPE slis_t_listheader.
    DATA: gs_page     TYPE slis_listheader.
    DATA: v_repid     LIKE sy-repid.
    
    *ALV Formatting work area
    DATA: w_fieldcat TYPE slis_fieldcat_alv.
    DATA: w_events   TYPE slis_alv_event.
    
    DATA: gt_bsid TYPE TABLE OF bsid WITH HEADER LINE.
    
    INITIALIZATION.
    
      PERFORM build_events.
      PERFORM build_page_header.
    
    START-OF-SELECTION.
    *perform build_comment.     "top_of_page - in initialization at present
    
      SELECT * FROM bsid INTO TABLE gt_bsid UP TO 10 ROWS.
    
    *perform populate_for_fm using '1' '3' 'BUKRS' '8' 'GT_BSID' 'Whee'.
    *USING = Row, Column, Field name, display length, table name, heading
    
    *OR
      PERFORM build_fieldcat.
      gs_layout-zebra = 'X'.
    
    
    *top of page event does not work without I_callback_program
      v_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program                = v_repid
          i_structure_name                  = 'BSID'
    *    i_background_id                   = 'ALV_BACKGROUND'
          i_grid_title                      = 'This is the grid title'
    *   I_GRID_SETTINGS                   =
          is_layout                         = gs_layout
          it_fieldcat                       = gt_fieldcat[]
          it_events                         = gt_events[]
        TABLES
          t_outtab                          = gt_bsid.
    
    ************************************************************************
    
    * Form..............:  populate_for_fm
    * Description.......:  Populates fields for function module used in ALV
    ************************************************************************
    
    FORM populate_for_fm USING p_row
                               p_col
                               p_fieldname
                               p_len
                               p_table
                               p_desc.
    
      w_fieldcat-row_pos      = p_row.          "Row Position
      w_fieldcat-col_pos      = p_col.          "Column Position
      w_fieldcat-fieldname    = p_fieldname.    "Field name
      w_fieldcat-outputlen    = p_len.          "Column Lenth
      w_fieldcat-tabname      = p_table.        "Table name
      w_fieldcat-reptext_ddic = p_desc.         "Field Description
      w_fieldcat-input        = '1'.
      APPEND w_fieldcat TO gt_fieldcat.
      CLEAR w_fieldcat.
    
    ENDFORM.                    " populate_for_fm
    *&---------------------------------------------------------------------*
    
    *&      Form  build_events
    *&---------------------------------------------------------------------*
    
    FORM build_events.
      DATA: ls_event TYPE slis_alv_event.
    
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type = 0
        IMPORTING
          et_events   = gt_events.
    
      READ TABLE gt_events
                 WITH KEY name =  slis_ev_user_command
                 INTO ls_event.
      IF sy-subrc = 0.
        MOVE slis_ev_user_command TO ls_event-form.
        APPEND ls_event TO gt_events.
      ENDIF.
      READ TABLE gt_events
                 WITH KEY name =  slis_ev_top_of_page
                 INTO ls_event.
      IF sy-subrc = 0.
        MOVE slis_ev_top_of_page TO ls_event-form.
        APPEND ls_event TO gt_events.
      ENDIF.
    
    ENDFORM.                    " build_events
    *&---------------------------------------------------------------------*
    
    *&      Form  USER_COMMAND
    *&---------------------------------------------------------------------*
    
    * When user command is called it uses 2 parameters. The itab
    * passed to the ALV is in whatever order it currently is on screen.
    * Therefore, you can read table itab index rs_selfield-tabindex to get
    * all data from the table. You can also check r_ucomm and code
    * accordingly.
    *&---------------------------------------------------------------------*
    
    FORM user_command USING  r_ucomm     LIKE sy-ucomm
                             rs_selfield TYPE slis_selfield.
    
      READ TABLE gt_bsid INDEX rs_selfield-tabindex.
    * error checking etc.
      SET PARAMETER ID 'KUN' FIELD gt_bsid-kunnr.
      CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
    ENDFORM.                    "user_command
    *&---------------------------------------------------------------------*
    
    *&      Form  top_of_page
    *&---------------------------------------------------------------------*
    
    * Your own company logo can go here if it has been saved (OAOR)
    * If the logo is larger than the size of the headings in gt_page,
    * the window will not show full logo and will have a scroll bar. Thus,
    * it is a good idea to have a standard ALV header if you are going to
    * use logos in your top of page.
    *&---------------------------------------------------------------------*
    
    FORM top_of_page.
    
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = gt_page
          i_logo             = 'ENJOYSAP_LOGO'.
    ENDFORM.                    "top_of_page
    *&---------------------------------------------------------------------*
    
    *&      Form  build_fieldcat
    *&---------------------------------------------------------------------*
    
    *Many and varied fields are available here. Have a look at documentation
    
    *for FM REUSE_ALV_LIST_DISPLAY and REUSE_ALV_FIELDCATALOG_MERGE
    *----------------------------------------------------------------------*
    
    FORM build_fieldcat.
      w_fieldcat-fieldname  = 'BUDAT'.
      w_fieldcat-seltext_m  = 'Dte pst'.
      w_fieldcat-ddictxt(1) = 'M'.
      w_fieldcat-edit = 'x'.
    * Can change the position of fields if you do not want them in order
    * of the DDIC or itab
    
    *  w_fieldcat-row_pos = '1'.
    *  w_fieldcat-col_pos = '10'.
      APPEND w_fieldcat TO gt_fieldcat.
      CLEAR w_fieldcat.
    
    ENDFORM.                    " build_fieldcat
    *&---------------------------------------------------------------------*
    
    *&      Form  build_page_header
    *&---------------------------------------------------------------------*
    
    *       gt_page is used in top of page (ALV subroutine - NOT event)
    *       *H = Header, S = Selection, A = Action
    *----------------------------------------------------------------------*
    
    FORM build_page_header.
    * For Headers, Key is not printed and is irrelevant. Will not cause
    * a syntax error, but is not used.
      gs_page-typ  = 'H'.
      gs_page-info = 'Header 1'.
      APPEND gs_page TO gt_page.
    
      gs_page-typ  = 'H'.
      gs_page-info = 'Header 2'.
      APPEND gs_page TO gt_page.
    
    * For Selections, the Key is printed (bold). It can be anything up to 20
    
    * bytes. It gets printed in order of code here, not by key value.
      gs_page-typ  = 'S'.
      gs_page-key  = 'And the winner is:'.
      gs_page-info = 'Selection 1'.
      APPEND gs_page TO gt_page.
    
      gs_page-typ  = 'S'.
      gs_page-key  = 'Runner up:'.
      gs_page-info = 'Selection 2'.
      APPEND gs_page TO gt_page.
    
    * For Action, Key is also irrelevant.
      gs_page-typ  = 'A'.
      gs_page-info = 'Action goes here'.
      APPEND gs_page TO gt_page.
    
    ENDFORM.                    " build_page_header

    <b>Rewar difu sefull</b>

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 03, 2007 at 04:54 AM

    Dear Sam the following program lines can serve u as they r related to top-of-page for alv_grid_display.

    *For ALV top of page

    DATA : IT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.

    *For ALV Events

    DATA : IT_EVENT1 TYPE SLIS_T_EVENT.

    *For ALV Events

    DATA : IT_EVENT TYPE SLIS_ALV_EVENT.

    *For top of page heading

    DATA: IT_LINE TYPE SLIS_LISTHEADER.

    ----


    FORM BUILD_EVENTS .

    IT_EVENT-NAME = 'TOP_OF_PAGE'.

    IT_EVENT-FORM = 'TOP_OF_PAGE'.

    APPEND IT_EVENT TO IT_EVENT1.

    • CLEAR IT_EVENT.

    ENDFORM. " BUILD_EVENTS

    FORM TOP_OF_PAGE. "#EC CALLED

    REFRESH : IT_LIST_TOP_OF_PAGE.

    CLEAR : IT_LINE.

    IT_LINE-TYP = 'H'.

    IT_LINE-INFO = TEXT-001.

    APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.

    CLEAR IT_LINE.

    IF RADIO EQ 'X'.

    IT_LINE-TYP = 'S'.

    IT_LINE-INFO = TEXT-101.

    IF NOT FIPEX-LOW IS INITIAL.

    CONCATENATE TEXT-101 '-' FIPEX-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.

    IF NOT FIPEX-HIGH IS INITIAL.

    CONCATENATE TEXT-101 '-' FIPEX-LOW 'to' FIPEX-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.

    ENDIF.

    ENDIF.

    APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.

    CLEAR IT_LINE-INFO.

    IT_LINE-INFO = TEXT-102.

    IF NOT RFISTL-LOW IS INITIAL.

    CONCATENATE TEXT-102 '-' RFISTL-LOW INTO IT_LINE-INFO SEPARATED BY SPACE.

    IF NOT RFISTL-HIGH IS INITIAL.

    CONCATENATE TEXT-102 '-' RFISTL-LOW 'to' RFISTL-HIGH INTO IT_LINE-INFO SEPARATED BY SPACE.

    ENDIF.

    ENDIF.

    APPEND IT_LINE TO IT_LIST_TOP_OF_PAGE.

    ENDIF.

    FORM DISPLAY_ALV_REPORT .

    GD_REPID = SY-REPID.

    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

    I_CALLBACK_PROGRAM = GD_REPID

    I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'

    IS_LAYOUT = GD_LAYOUT

    IT_EVENTS = IT_EVENT1[]

    IT_FIELDCAT = FIELDCATALOG[]

    IT_SORT = GD_SORT[]

    TABLES

    T_OUTTAB = IT_FINAL

    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.

    ENDFORM. "DISPLAY_ALV_REPORT

    Rewards if useful.

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.