ALV Header Line

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

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

Similar Messages

  • How to print header lines at the top of every page with Alv list display?

    Dear all,
    I need a requirement with printing issue. A program list should be printed with the function reuse_alv_list_display.
    The list has several pages and then can be printed but the header lines appear only first page when they printed. The other pages don't have header lines, they continue with the next record of the list remaining from previous page. I use the alv parameters as below:
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          i_callback_program       = l_repid
          i_callback_pf_status_set = 'ALV_PF_STATUS'
          is_layout                = ls_layo
          it_fieldcat              = lt_fcat
          i_default                = 'X'
          i_save                   = 'A'
          is_variant               = ls_variant
          it_events                = lt_events
        TABLES
          t_outtab                 = lt_data
        EXCEPTIONS
          program_error            = 1
          OTHERS                   = 2.
    and lt_events as below:
      ls_event-name = 'END_OF_LIST'.
      ls_event-form = 'ALV_END_OF_LIST'.
      APPEND ls_event TO lt_events.
      ls_event-name = 'END_OF_PAGE'.
      ls_event-form = 'ALV_END_OF_PAGE'.
      APPEND ls_event TO lt_events.
      ls_event-name = 'TOP_OF_LIST'.
      ls_event-form = 'ALV_TOP_OF_LIST'.
      APPEND ls_event TO lt_events.
      ls_event-name = 'TOP_OF_PAGE'.
      ls_event-form = 'ALV_TOP_OF_PAGE'.
      APPEND ls_event TO lt_events.
    So, how can I print header lines for every page?
    Best Regards,

    Hello Saba,
    Your point might be very close to solution.
    Because in the selection screen of the program there are two radio buttons, one of them visits 'REUSE_ALV_COMMENTARY_WRITE' function and the other doesn't. The one which visits has a problem with header liens in every page when printing. But I couldn't find out the solution yet.
    reuse_alv_list_display uses 4 event and of course I call subroutine. There are end_of_list, end_of_page, top_of_list and top_of_page. I use in the subroutine for top_of_page:
      CALL FUNCTION 'LVC_TRANSFER_TO_SLIS'
        EXPORTING
          it_fieldcat_lvc         = gt_fcat
        IMPORTING
          et_fieldcat_alv         = lt_fcat
        EXCEPTIONS
          it_data_missing         = 1
          it_fieldcat_lvc_missing = 2
          OTHERS                  = 3.
      CALL FUNCTION 'REUSE_ALV_LIST_WIDTH_GET'
        EXPORTING
          it_fieldcat = lt_fcat
        IMPORTING
          e_width     = l_width.
    WRITE l_reptx TO l_reptx CENTERED.
      NEW-LINE.
      WRITE: AT (l_width) l_reptx CENTERED.
      SUBTRACT 10 FROM l_width.
      WRITE: AT l_width sy-pagno RIGHT-JUSTIFIED.
        CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
          EXPORTING
            it_list_commentary       = lt_header
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
    Do you have other suggestions ?

  • Download alv report output to excel format with out header line

    Hi experts,
    i want to download a alv report output into excel formatt with out the header line but it has to download including field description. as this output will fed into another transaction, the downloaded excel file should be with out header line.
    fro eg:
    Report   : Zabc                      ABAP Development          Page  :     1
    Run Date : 12/14/06                                                     System: UD400 
    Run Time : 08:45:37
    this header details should not be downloaded into the excel file.
    could somebody help me please.
    thanks
    deepu

    hi jayanti,
    thanks for your response.
    i have delclared all the field types as character but still it is not downloading and it 's sy-subrc is 4... the code is as below.
    *field names
      lt_fieldnames-value = 'Material Number'.
      APPEND lt_fieldnames.
      lt_fieldnames-value = 'Plant'.
      APPEND lt_fieldnames.
      lt_fieldnames-value = 'Material Group'.
      APPEND lt_fieldnames.
      lt_fieldnames-value = 'Material Description'.
      APPEND lt_fieldnames.
      lt_fieldnames-value = 'UOM'.
      APPEND lt_fieldnames.
      lt_fieldnames-value = 'Price Unit'.
      APPEND lt_fieldnames.
      lt_fieldnames-value = 'Material Type'.
      APPEND lt_fieldnames.
      lt_fieldnames-value = 'X-Plant Status'.
      APPEND lt_fieldnames.
      lt_fieldnames-value = 'Valuation Class'.
      APPEND lt_fieldnames.
      lt_fieldnames-value = lw_avmng.
      APPEND lt_fieldnames.
      lt_fieldnames-value = lw_avntp.
      APPEND lt_fieldnames.
      lt_fieldnames-value = 'Latest PO Qty'.
      APPEND lt_fieldnames.
      lt_fieldnames-value = 'Latest PO Cost'.
      APPEND lt_fieldnames.
      lt_fieldnames-value = 'PO Creation Date'.
      APPEND lt_fieldnames.
      lt_fieldnames-value = lw_fcaqt.
      APPEND lt_fieldnames.
      lt_fieldnames-value = 'Prev. Yr. Std. Cost'.
      APPEND lt_fieldnames.
      lt_fieldnames-value = lw_stcst.
      APPEND lt_fieldnames.
      CALL FUNCTION 'MS_EXCEL_OLE_STANDARD_DAT'
        EXPORTING
          file_name                       = 'XLSHEET'
        CREATE_PIVOT                    = 0
        DATA_SHEET_NAME                 = ' '
        PIVOT_SHEET_NAME                = ' '
        PASSWORD                        = ' '
        PASSWORD_OPTION                 = 0
        TABLES
        PIVOT_FIELD_TAB                 =
          data_tab                        = t_output1
          fieldnames                      = lt_fieldnames
        EXCEPTIONS
          file_not_exist                  = 1
          filename_expected               = 2
          communication_error             = 3
          ole_object_method_error         = 4
          ole_object_property_error       = 5
          invalid_pivot_fields            = 6
          download_problem                = 7
          OTHERS                          = 8
      IF sy-subrc <> 0.
        MESSAGE e001 WITH 'Data could not be downloaded'.
      ENDIF.
    ENDFORM.                               " z_dwn_xl
    thanks
    deepu

  • OO ALV grid with a header line is this possible?

    Howdy!
    I have a requirement where I need to produce an ALV grid with the following format:
    <b>Text 1     Text 2  Text 3                  Text 4
                              Text 6
    Col_1 Col_2 Col_3 Col_4 Col_5 Col_6 Col_7 Col_8 Col_9 
    Cell conents -
    Cell conents -
    Cell conents -
    Cell conents -
    Cell conents -
    </b>
    Anyone got any idea on how to get the 'TEXT' fields into the ALV grid? These are dynamic texts that would basically display details of data entered in the selection screen.
    The ALV title line is limited to 70 characters and I can't think of another way of doing this.
    The texts need to appear on the ALV grid becasue the user would like to download them to Excel in addition to the ALV cell contents using the standard ALV functionality.
    Any ideas would be appreciated!
    Message was edited by: Robert

    I'm thinking that this may not work because it is not a full screen grid and the grid container does not care about the container on top of it so, it most likely would not print it.   Implement this example program, you can see how this would work for you if you were using the FM.
    report zrich_0001
           no standard page heading.
    * Global ALV Data Declarations
    type-pools slis.
    data: begin of i_alv occurs 0,
          matnr type mara-matnr,
          end of i_alv.
    * Miscellanous Data Declarations
    data: fieldcat type slis_t_fieldcat_alv,
          events   type slis_t_event,
          list_top_of_page type slis_t_listheader,
          top_of_page  type slis_formname value 'TOP_OF_PAGE'.
    start-of-selection.
      perform initialization.
      perform get_data.
      perform call_alv.
    end-of-selection.
    *  Form  Initialization
    form initialization.
      clear i_alv.       refresh i_alv.
      perform eventtab_build using events[].
    endform.
    *  Form  Get_Data
    form  get_data.
      select matnr into table i_alv
                  from mara up to 100 rows.
    endform.
    *  CALL_ALV
    form call_alv.
      data: variant type  disvariant.
      data: repid type sy-repid.
      repid = sy-repid.
      variant-report = sy-repid.
      variant-username = sy-uname.
      perform build_field_catalog.
      perform comment_build using list_top_of_page[].
    * Call ABAP List Viewer (ALV)
      call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                it_fieldcat        = fieldcat
                i_callback_program = repid
                is_variant         = variant
                it_events          = events[]
                i_save             = 'U'
           tables
                t_outtab           = i_alv.
    endform.
    * EVENTTAB_BUILD
    form eventtab_build using events type slis_t_event.
    * Registration of events to happen during list display
      data: tmp_event type slis_alv_event.
      call function 'REUSE_ALV_EVENTS_GET'
           exporting
                i_list_type = 0
           importing
                et_events   = events.
      read table events with key name = slis_ev_top_of_page
                               into tmp_event.
      if sy-subrc = 0.
        move top_of_page to tmp_event-form.
        append tmp_event to events.
      endif.
    endform.
    * BUILD_FIELD_CATALOG
    form build_field_catalog.
      clear: fieldcat. refresh: fieldcat.
      data: tmp_fc type slis_fieldcat_alv.
      tmp_fc-reptext_ddic = 'Material'.
      tmp_fc-fieldname    = 'MATNR'.
      tmp_fc-tabname      = 'I_ALV'.
      tmp_fc-outputlen    = 18.
      append tmp_fc to fieldcat.
    endform.
    * COMMENT_BUILD
    form comment_build using list_top_of_page type
                                            slis_t_listheader.
      data: tmp_line type slis_listheader.
      clear tmp_line.
      tmp_line-typ  = 'H'.
      tmp_line-info = 'Here is a line of text'.
      append tmp_line to list_top_of_page.
      clear tmp_line.
      tmp_line-typ  = 'S'.
      tmp_line-key  = 'Key1'.
      tmp_line-info = 'Here is a value'.
      append tmp_line to list_top_of_page.
      clear tmp_line.
      tmp_line-typ  = 'S'.
      tmp_line-key  = 'Key2'.
      tmp_line-info = 'Here is another value'.
      append tmp_line to list_top_of_page.
    endform.
    * TOP_OF_PAGE
    form top_of_page.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
           exporting
                i_logo             = 'ENJOYSAP_LOGO'
                it_list_commentary = list_top_of_page.
    endform.
    Regards,
    Rich Heilman

  • Multiple Header Line In HIERSEQ ALV

    Hi Experts,
    Please guide me how to get miltile Header lines in the HIERSEQ Alv , My requirment it develop a genledger for customers in which the Address of customer should be in 3 or four lines then followed by its balances. Please suggest me ...
    Regards,
    Prakash

    Hi,
    You need to pass the Row number to the filed catlog in order to display multiple header lines.
    For example,
       wl_fieldcat-row_pos = 1.  " This field will be displayed in first row
      wl_fieldcat-col_pos     = 1.
      wl_fieldcat-fieldname   = 'VBELN'.
      wl_fieldcat-tabname     = 'T_VBAK'.
      wl_fieldcat-outputlen   = 20.
      Append wl_fieldcat to t_fieldcat.
      wl_fieldcat-row_pos = 2.    " This field will be displayed in Second row
      wl_fieldcat-col_pos     = 1.
      wl_fieldcat-fieldname   = 'VBELN'.
      wl_fieldcat-tabname     = 'T_VBAK'.
      wl_fieldcat-outputlen   = 20.
      Append wl_fieldcat to t_fieldcat.
    Regards,
    Rajneesh

  • Displaying blank line in ALV header

    How do I display a blank line in ALV header
    For eg i want if i want the ALV header to display as follows
    Document Datewise Report  as of 31/10/2009 
                                                     <-- BLANK LINE
    Run On : 01/12/2009

    Hi,
      Are you using 'REUSE_ALV_COMMENTARY_WRITE' for displaying the header?
    If yes, then I think it is not possible. Instead, use the events table to achieve it.
    Use the 'REUSE_ALV_EVENTS_GET' FM to get all possible events and then modify
    the events internal table to specify the form name to handle top-of-page event.
    eg.
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
         I_LIST_TYPE           = 0
       IMPORTING
         ET_EVENTS             = V_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 V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.
      IF SY-SUBRC EQ 0.
        WA_EVENT-FORM = 'TOP_OF_PAGE'.
        MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
    WA_EVENT-FORM.
      ENDIF.
    FORM TOP_OF_PAGE.
    * Use write statements to display the header data.
    ENDFORM.
    In write statement use '/' to go to new line. So to insert an empty line you can use something like
    write : 'some text' / / 'some text' .
    Hope this helps.
    Regards,
    Bhavesh.

  • Two header line in ALV display

    Hi ,
    I want two header lines in ALV report using reuse_alv_grid_display .
    Like
    Factory-Sales
    Qty   Value
    10     1000
    How to do that please help

    Hi,
       I am giving the example code for 3 header line display. This may help you.
    First declare Form, 
    FORM TOP-OF-PAGE .
    FREE TTOP .
    FREE HTOP .
    CLEAR TTOP .
    HTOP-TYP = 'H' .
    HTOP-INFO = 'LLYODS STEEL INDUSTRIES LIMITED, WARDHA' .
    APPEND HTOP TO TTOP .
    CLEAR HTOP .
    HTOP-TYP = 'S' .
    HTOP-INFO = MAT .
    APPEND HTOP TO TTOP .
    CLEAR HTOP .
    HTOP-TYP = 'S' .
    HTOP-INFO = PONO .
    APPEND HTOP TO TTOP .
    CLEAR HTOP .
    HTOP-TYP = 'S' .
    HTOP-INFO = item .
    APPEND HTOP TO TTOP .
    CLEAR HTOP .
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
      EXPORTING
        IT_LIST_COMMENTARY       = TTOP
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
      I_ALV_FORM               =
    ENDFORM.
    After that declare this form in your Grid or List like below.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
       I_CALLBACK_PROGRAM                = SY-REPID
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
       I_CALLBACK_TOP_OF_PAGE            = 'TOP-OF-PAGE'
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
       IT_FIELDCAT                       = BTAB
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
       I_SAVE                            = 'X'
      IS_VARIANT                        =
      IT_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
      I_HTML_HEIGHT_TOP                 = 0
      I_HTML_HEIGHT_END                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
      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.
    Regards,
    Himanshu

  • 2 header lines in ALV report

    Hello All,
                Does any one have any idea how to create 2 Header lines in an ALv report
    as in 1 cummulative header and under that 2nd detailed header.
    Please help me out.
    Cheers,
    Deepthee Kasal

    Hi,
    It is not possible to have 2 detailed headers in ALV reports.
    Regards,
    Satish

  • ALV list with 2 header lines

    Dear gurus,
    Need help in displaying ALV list report. the below report is an example of AR aging report. The report output is as below:
    DEC
    NOV
    OCT
    SEP
    0-30
    31-60
    61-90
    90+
    xx
    xx
    xx
    xx
    SUBTOTAL
    The first 2 lines are the list header. While the 'x' is the amount.
    How can i display the above output with 2 header lines? I was thinking of using the  REUSE_ALV_FIELDCATALOG_MERGE function. But it will have 2 lines of body row too. In fact, i only one one row in the body. But if i define the header lines manually, i would not able to do the subtotal at the end of the alv list. I need to have the subtotal too.
    Thanks in advance!

    Hi,
    For this requirement you need to populate the fld catalog using row_pos and col_pos fields specifing proper position.
    See this code snippet ..... this is only possible for ALV list.
    TYPE-POOLS: slis.
    DATA: ld_fieldcat    TYPE slis_fieldcat_alv.
    DATA: t_alv_fieldcat TYPE STANDARD TABLE OF slis_fieldcat_alv.
    DATA : it_fld TYPE slis_t_fieldcat_alv,
           wa_fld TYPE slis_fieldcat_alv.
    data: BEGIN OF itab OCCURS 0,
            carrid    like sflight-carrid,
            connid    like sflight-connid,
            planetype like sflight-planetype,
            seatsmax  like sflight-seatsmax,
          END OF itab.
    START-OF-SELECTION.
    SELECT carrid connid planetype seatsmax
           FROM sflight
           INTO TABLE itab.
      CLEAR: ld_fieldcat.
      ld_fieldcat-row_pos       = '1'.
      ld_fieldcat-col_pos       = '1'.
      ld_fieldcat-tabname       = 'ITAB'.
      ld_fieldcat-fieldname     = 'CARRID'.
      ld_fieldcat-ref_tabname   = 'SFLIGHT'.
      ld_fieldcat-outputlen     = '10'.
      APPEND ld_fieldcat TO t_alv_fieldcat.
      CLEAR ld_fieldcat.
      CLEAR: ld_fieldcat.
      ld_fieldcat-row_pos       = '1'.
      ld_fieldcat-col_pos       = '2'.
      ld_fieldcat-tabname       = 'ITAB'.
      ld_fieldcat-fieldname     = 'CONNID'.
      ld_fieldcat-ref_tabname   = 'SFLIGHT'.
      ld_fieldcat-outputlen     = '10'.
      APPEND ld_fieldcat TO t_alv_fieldcat.
      CLEAR ld_fieldcat.
      CLEAR: ld_fieldcat.
      ld_fieldcat-row_pos       = '2'.
      ld_fieldcat-col_pos       = '1'.
      ld_fieldcat-tabname       = 'ITAB'.
      ld_fieldcat-fieldname     = 'PLANETYPE'.
      ld_fieldcat-ref_tabname   = 'SFLIGHT'.
      ld_fieldcat-outputlen     = '10'.
      APPEND ld_fieldcat TO t_alv_fieldcat.
      CLEAR ld_fieldcat.
      CLEAR: ld_fieldcat.
      ld_fieldcat-row_pos       = '2'.
      ld_fieldcat-col_pos       = '2'.
      ld_fieldcat-tabname       = 'ITAB'.
      ld_fieldcat-fieldname     = 'SEATSMAX'.
      ld_fieldcat-ref_tabname   = 'SFLIGHT'.
      ld_fieldcat-outputlen     = '10'.
      APPEND ld_fieldcat TO t_alv_fieldcat.
      CLEAR ld_fieldcat.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          it_fieldcat        = t_alv_fieldcat[]
        TABLES
          t_outtab           = ITAB. "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.
    Regards,
    Amitava

  • How to get multiple header lines dynamically and also data hierarchically using ALV

    Hi experts,
    My requirement is shown below.. I neet to compare prices of service RFQs. So i design as below..
    I want to get RFQ number ,Vendor code and vendor name in ALV header and also other headings which static. I think dynamic table is the best way to load RFQ numbers to header.. But problem is i'm unable to load two lines dynamically using ALV.
    CALL METHOD cl_alv_table_create=>create_dynamic_table
         EXPORTING
           i_style_table             = 'X'
           it_fieldcatalog           = gt_dyn_fcat
         IMPORTING
           ep_table                  = gt_dyn_table
         EXCEPTIONS
           generate_subpool_dir_full = 1
           OTHERS                    = 2.
    I use this function and pass RFQ no and vendor code in two rows but it output gt_dyn_table in same row.. How to print them as given image???
    Then in data I want to get service items and according to the external service number divide them to groups and get sub totals and also finally total of all sub categories to compare each RFQs price to  compare.. There i think ALV hierarch can use. but not sure I can use with dynamic table(in header use it).
    What is thee best way to get the output in my image..??
    Thanks..
    Pavi

    Hi experts,
    My requirement is shown below.. I neet to compare prices of service RFQs. So i design as below..
    I want to get RFQ number ,Vendor code and vendor name in ALV header and also other headings which static. I think dynamic table is the best way to load RFQ numbers to header.. But problem is i'm unable to load two lines dynamically using ALV.
    CALL METHOD cl_alv_table_create=>create_dynamic_table
         EXPORTING
           i_style_table             = 'X'
           it_fieldcatalog           = gt_dyn_fcat
         IMPORTING
           ep_table                  = gt_dyn_table
         EXCEPTIONS
           generate_subpool_dir_full = 1
           OTHERS                    = 2.
    I use this function and pass RFQ no and vendor code in two rows but it output gt_dyn_table in same row.. How to print them as given image???
    Then in data I want to get service items and according to the external service number divide them to groups and get sub totals and also finally total of all sub categories to compare each RFQs price to  compare.. There i think ALV hierarch can use. but not sure I can use with dynamic table(in header use it).
    What is thee best way to get the output in my image..??
    Thanks..
    Pavi

  • Alv  grid : is it possible to create 2 header lines  ?

    alv  grid : is it possible to create 2 header lines  ?
    for example  :
    open year            close year
    from 2006            until   2008
    data
    data
    data
    data
    i know that i can do so in alv list  , but is it possible in alv
    grid ( with screen )   ?

    No, this is not supported by the ALV Grid control.
    Regards,
    Rich Heilman

  • Alv - how to create a broader header line?

    I'm using the 'TOP_OF_PAGE' parameter within 'AVL_GRID_DISPLAY' FM in connection with 'REUSE_ALV_COMMENTARY_WRITE' to create a Header Line for the List-display.
    My Problem is, that I really need to get a broader header with approx. 120 characters but the only structure, 'REUSE_ALV_COMMENTARY_WRITE' seems to allow is 'slis_listheader' which is only three fields broad with 80 characters.
    I need a line with 6 fields and 120 to 150 characters - how can i possibly submit that to the function module, or somehow different to 'TOP_OF_PAGE'...?
    Thanks, Clemens

    Clemens
    I think you will have to format the header yourself.
    The problem is that you need to have a pointer to the document (cl_dd_document class) so you can modify it as you want. The only way I found is to use I_CALLBACK_HTML_TOP_OF_PAGE parameter when you call REUSE_ALV_GRID_DISPLAY.
    Unortunately, the form specified in I_CALLBACK_TOP_OF_PAGE parameter for REUSE_ALV_GRID_DISPLAY FM is not being called with any parameters. Therefore can't be used to create your heading.
    Now, you need to call your FM like this:
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
                I_CALLBACK_HTML_TOP_OF_PAGE = 'TOP_OF_PAGE1'
    ...other parameters....
    then you will need to create that FORM:
    FORM TOP_OF_PAGE1 USING p_doc type ref to cl_dd_document.
    DATA: mytoptext(255) TYPE C.
    CONCATENATE 'This is my very long text. Probably about 140 chars long'
      'or more just to check if it all appears as is. Hopefully with a bit'
      'of luck we might have some success here.'
      into mytoptext separated by space.
    CALL METHOD p_doc->new_line.
    CALL METHOD p_doc->add_text
        EXPORTING text  = mytoptext.
    ENDFORM.
    I advise that you have a look on the original SAP FM (REUSE_ALV_GRID_COMMENTARY_SET), which is used to format your commentary (through memorised parameter DYNDOS_FOR_ALV) and based on that you can make your heading.
    If you can't use I_CALLBACK_HTML_TOP_OF_PAGE parameter then probably defining your own grid is a solution (a bit longer to implement, though).
    Hope this helps.
    Wojtek

  • Space in Top of page on alv header

    Hi Experts,
    I do have a query on ALV , Can you please help me in solving my problem.
    Here goes my query...
    I have to develop a ALV where on the top of page i have to display two fields as shown in below which was highlighted in the screen
    http://img410.imageshack.us/my.php?image=op2sn9.jpg
    But i'm getting output as shown below screen
    http://img410.imageshack.us/my.php?image=op1ut4.jpg
    I have tried with space and all other alternatives but i'm unable to get the desired output.
    Can i have any sample code for the same
    Regards
    Nanda

    Hi,
    TABLES:     ekko.
    type-pools: slis.                                 "ALV Declarations
    *Data Declaration
    TYPES: BEGIN OF t_ekko,
    ebeln TYPE ekpo-ebeln,
      ebelp TYPE ekpo-ebelp,
      statu TYPE ekpo-statu,
      aedat TYPE ekpo-aedat,
      matnr TYPE ekpo-matnr,
      menge TYPE ekpo-menge,
      meins TYPE ekpo-meins,
      netpr TYPE ekpo-netpr,
      peinh TYPE ekpo-peinh,
    END OF t_ekko.
    DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
          wa_ekko TYPE t_ekko.
    *ALV data declarations
    data: fieldcatalog type slis_t_fieldcat_alv with header line,
          gd_tab_group type slis_t_sp_group_alv,
          gd_layout    type slis_layout_alv,
          gd_repid     like sy-repid,
          gt_events     type slis_t_event,
          gd_prntparams type slis_print_alv.
    *Start-of-selection.
    START-OF-SELECTION.
    perform data_retrieval.
    perform build_fieldcatalog.
    perform build_layout.
    perform build_events.
    perform build_print_params.
    perform display_alv_report.
    *&      Form  BUILD_FIELDCATALOG
    *       Build Fieldcatalog for ALV Report
    form build_fieldcatalog.
    * There are a number of ways to create a fieldcat.
    * For the purpose of this example i will build the fieldcatalog manualy
    * by populating the internal table fields individually and then
    * appending the rows. This method can be the most time consuming but can
    * also allow you  more control of the final product.
    * Beware though, you need to ensure that all fields required are
    * populated. When using some of functionality available via ALV, such as
    * total. You may need to provide more information than if you were
    * simply displaying the result
    *               I.e. Field type may be required in-order for
    *                    the 'TOTAL' function to work.
      fieldcatalog-fieldname   = 'EBELN'.
      fieldcatalog-seltext_m   = 'Purchase Order'.
      fieldcatalog-col_pos     = 0.
      fieldcatalog-outputlen   = 10.
      fieldcatalog-emphasize   = 'X'.
      fieldcatalog-key         = 'X'.
    *  fieldcatalog-do_sum      = 'X'.
    *  fieldcatalog-no_zero     = 'X'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'EBELP'.
      fieldcatalog-seltext_m   = 'PO Item'.
      fieldcatalog-col_pos     = 1.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'STATU'.
      fieldcatalog-seltext_m   = 'Status'.
      fieldcatalog-col_pos     = 2.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'AEDAT'.
      fieldcatalog-seltext_m   = 'Item change date'.
      fieldcatalog-col_pos     = 3.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MATNR'.
      fieldcatalog-seltext_m   = 'Material No'.
      fieldcatalog-col_pos     = 4.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MENGE'.
      fieldcatalog-seltext_m   = 'PO quantity'.
      fieldcatalog-col_pos     = 5.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MEINS'.
      fieldcatalog-seltext_m   = 'Order Unit'.
      fieldcatalog-col_pos     = 6.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'NETPR'.
      fieldcatalog-seltext_m   = 'Net Price'.
      fieldcatalog-col_pos     = 7.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-datatype     = 'CURR'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'PEINH'.
      fieldcatalog-seltext_m   = 'Price Unit'.
      fieldcatalog-col_pos     = 8.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    endform.                    " BUILD_FIELDCATALOG
    *&      Form  BUILD_LAYOUT
    *       Build layout for ALV grid report
    form build_layout.
      gd_layout-no_input          = 'X'.
      gd_layout-colwidth_optimize = 'X'.
      gd_layout-totals_text       = 'Totals'(201).
    *  gd_layout-totals_only        = 'X'.
    *  gd_layout-f2code            = 'DISP'.  "Sets fcode for when double
    *                                         "click(press f2)
    *  gd_layout-zebra             = 'X'.
    *  gd_layout-group_change_edit = 'X'.
    *  gd_layout-header_text       = 'helllllo'.
    endform.                    " BUILD_LAYOUT
    *&      Form  DISPLAY_ALV_REPORT
    *       Display report using ALV grid
    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'  "see FORM
                i_callback_user_command = 'USER_COMMAND'
    *            i_grid_title           = outtext
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
    *            it_special_groups       = gd_tabgroup
                it_events               = gt_events
                is_print                = gd_prntparams
                i_save                  = 'X'
    *            is_variant              = z_template
           tables
                t_outtab                = it_ekko
           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
    *&      Form  DATA_RETRIEVAL
    *       Retrieve data form EKPO table and populate itab it_ekko
    form data_retrieval.
    select ebeln ebelp statu aedat matnr menge meins netpr peinh
    * up to 10 rows
      from ekpo
      into table it_ekko.
    endform.                    " DATA_RETRIEVAL
    * Form  TOP-OF-PAGE                                                 *
    * ALV Report Header                                                 *
    Form top-of-page.
    *ALV Header declarations
    data: t_header type slis_t_listheader,
          wa_header type slis_listheader,
          t_line like wa_header-info,
          ld_lines type i,
          ld_linesc(10) type c.
    * Title
      wa_header-typ  = 'H'.
      wa_header-info = 'EKKO Table Report'.
      append wa_header to t_header.
      clear wa_header.
    * Date
      wa_header-typ  = 'S'.
      wa_header-key = 'Date: '.
      CONCATENATE  sy-datum+6(2) '.'
                   sy-datum+4(2) '.'
                   sy-datum(4) INTO wa_header-info.   "todays date
      append wa_header to t_header.
      clear: wa_header.
    * Total No. of Records Selected
      describe table it_ekko lines ld_lines.
      ld_linesc = ld_lines.
    concatenate 'Total No. of Records Selected:' ld_linesc
                        into t_line separated by space.
      wa_header-typ  = 'A'.
      wa_header-info = t_line.
      append wa_header to t_header.
      clear: wa_header, t_line.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
           exporting
                it_list_commentary = t_header.
    *            i_logo             = 'Z_LOGO'.
    endform.
    *       FORM USER_COMMAND                                          *
    *       --> R_UCOMM                                                *
    *       --> RS_SELFIELD                                            *
    FORM user_command USING r_ucomm LIKE sy-ucomm
                      rs_selfield TYPE slis_selfield.
    * Check function code
      CASE r_ucomm.
        WHEN '&IC1'.
    *   Check field clicked on within ALVgrid report
        IF rs_selfield-fieldname = 'EBELN'.
    *     Read data table, using index of row user clicked on
          READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
    *     Set parameter ID for transaction screen field
          SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
    *     Sxecute transaction ME23N, and skip initial data entry screen
          CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
        ENDIF.
      ENDCASE.
    ENDFORM.
    *&      Form  BUILD_EVENTS
    *       Build events table
    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_end_of_page
                               into ls_event.
      if sy-subrc = 0.
        move 'END_OF_PAGE' to ls_event-form.
        append ls_event to gt_events.
      endif.
        read table gt_events with key name =  slis_ev_end_of_list
                               into ls_event.
      if sy-subrc = 0.
        move 'END_OF_LIST' to ls_event-form.
        append ls_event to gt_events.
      endif.
    endform.                    " BUILD_EVENTS
    *&      Form  BUILD_PRINT_PARAMS
    *       Setup print parameters
    form build_print_params.
      gd_prntparams-reserve_lines = '3'.   "Lines reserved for footer
      gd_prntparams-no_coverpage = 'X'.
    endform.                    " BUILD_PRINT_PARAMS
    *&      Form  END_OF_PAGE
    form END_OF_PAGE.
      data: listwidth type i,
            ld_pagepos(10) type c,
            ld_page(10)    type c.
      write: sy-uline(50).
      skip.
      write:/40 'Page:', sy-pagno .
    endform.
    *&      Form  END_OF_LIST
    form END_OF_LIST.
      data: listwidth type i,
            ld_pagepos(10) type c,
            ld_page(10)    type c.
      skip.
      write:/40 'Page:', sy-pagno .
    endform.
    Try with this sample
    Regards
    Krishna

  • ALV Heading Problem

    Hi Friends,
    In ALV GRID i need to display the output header like below.
    SHIP
    SOLD
    |----
    NUM
    NAME
    NUM
    NAME
    It's not dots and pipes. But like the box with above design.
    Can any one please give me your valuable inputs regarding this.
    I want to use it in ALV GRID . i.e: By using ALV FM or OOPS also.
    Thanks
    Srinivas.

    Hi
    REPORT znnr_nnr LINE-SIZE 125.
    TABLES: ekko.
    type-pools: slis. "ALV Declarations
    *Data Declaration
    TYPES: BEGIN OF t_ekko,
    ebeln TYPE ekpo-ebeln,
    ebelp TYPE ekpo-ebelp,
    statu TYPE ekpo-statu,
    aedat TYPE ekpo-aedat,
    matnr TYPE ekpo-matnr,
    menge TYPE ekpo-menge,
    meins TYPE ekpo-meins,
    netpr TYPE ekpo-netpr,
    peinh TYPE ekpo-peinh,
    END OF t_ekko.
    DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
    wa_ekko TYPE t_ekko.
    *ALV data declarations
    data: fieldcatalog type slis_t_fieldcat_alv with header line,
    gd_tab_group type slis_t_sp_group_alv,
    gd_layout type slis_layout_alv,
    gd_repid like sy-repid,
    gt_events type slis_t_event,
    gd_prntparams type slis_print_alv.
    *Start-of-selection.
    START-OF-SELECTION.
    perform data_retrieval.
    perform build_fieldcatalog.
    perform build_layout.
    perform build_events.
    perform build_print_params.
    perform display_alv_report.
    *& Form BUILD_FIELDCATALOG
    Build Fieldcatalog for ALV Report
    form build_fieldcatalog.
    There are a number of ways to create a fieldcat.
    For the purpose of this example i will build the fieldcatalog manualy
    by populating the internal table fields individually and then
    appending the rows. This method can be the most time consuming but can
    also allow you more control of the final product.
    Beware though, you need to ensure that all fields required are
    populated. When using some of functionality available via ALV, such as
    total. You may need to provide more information than if you were
    simply displaying the result
    I.e. Field type may be required in-order for
    the 'TOTAL' function to work.
    fieldcatalog-fieldname = 'EBELN'.
    fieldcatalog-seltext_m = 'Purchase Order'.
    fieldcatalog-col_pos = 0.
    fieldcatalog-outputlen = 10.
    fieldcatalog-emphasize = 'X'.
    fieldcatalog-key = 'X'.
    fieldcatalog-do_sum = 'X'.
    fieldcatalog-no_zero = 'X'.
    append fieldcatalog to fieldcatalog.
    clear fieldcatalog.
    fieldcatalog-fieldname = 'EBELP'.
    fieldcatalog-seltext_m = 'PO Item'.
    fieldcatalog-col_pos = 1.
    append fieldcatalog to fieldcatalog.
    clear fieldcatalog.
    fieldcatalog-fieldname = 'STATU'.
    fieldcatalog-seltext_m = 'Status'.
    fieldcatalog-col_pos = 2.
    append fieldcatalog to fieldcatalog.
    clear fieldcatalog.
    fieldcatalog-fieldname = 'AEDAT'.
    fieldcatalog-seltext_m = 'Item change date'.
    fieldcatalog-col_pos = 3.
    append fieldcatalog to fieldcatalog.
    clear fieldcatalog.
    fieldcatalog-fieldname = 'MATNR'.
    fieldcatalog-seltext_m = 'Material Number'.
    fieldcatalog-col_pos = 4.
    append fieldcatalog to fieldcatalog.
    clear fieldcatalog.
    fieldcatalog-fieldname = 'MENGE'.
    fieldcatalog-seltext_m = 'PO quantity'.
    fieldcatalog-col_pos = 5.
    append fieldcatalog to fieldcatalog.
    clear fieldcatalog.
    fieldcatalog-fieldname = 'MEINS'.
    fieldcatalog-seltext_m = 'Order Unit'.
    fieldcatalog-col_pos = 6.
    append fieldcatalog to fieldcatalog.
    clear fieldcatalog.
    fieldcatalog-fieldname = 'NETPR'.
    fieldcatalog-seltext_m = 'Net Price'.
    fieldcatalog-col_pos = 7.
    fieldcatalog-outputlen = 15.
    fieldcatalog-datatype = 'CURR'.
    append fieldcatalog to fieldcatalog.
    clear fieldcatalog.
    fieldcatalog-fieldname = 'PEINH'.
    fieldcatalog-seltext_m = 'Price Unit'.
    fieldcatalog-col_pos = 8.
    append fieldcatalog to fieldcatalog.
    clear fieldcatalog.
    endform. " BUILD_FIELDCATALOG
    *& Form BUILD_LAYOUT
    Build layout for ALV grid report
    form build_layout.
    gd_layout-no_input = 'X'.
    gd_layout-colwidth_optimize = 'X'.
    gd_layout-totals_text = 'Totals'(201).
    gd_layout-totals_only = 'X'.
    gd_layout-f2code = 'DISP'. "Sets fcode for when double
    "click(press f2)
    gd_layout-zebra = 'X'.
    gd_layout-group_change_edit = 'X'.
    gd_layout-header_text = 'helllllo'.
    endform. " BUILD_LAYOUT
    *& Form DISPLAY_ALV_REPORT
    Display report using ALV grid
    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' "see FORM
    i_callback_user_command = 'USER_COMMAND'
    i_grid_title = outtext
    is_layout = gd_layout
    it_fieldcat = fieldcatalog[]
    it_special_groups = gd_tabgroup
    it_events = gt_events
    is_print = gd_prntparams
    i_save = 'X'
    is_variant = z_template
    tables
    t_outtab = it_ekko
    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
    *& Form DATA_RETRIEVAL
    Retrieve data form EKPO table and populate itab it_ekko
    form data_retrieval.
    select ebeln ebelp statu aedat matnr menge meins netpr peinh
    up to 10 rows
    from ekpo
    into table it_ekko.
    endform. " DATA_RETRIEVAL
    Form TOP-OF-PAGE *
    ALV Report Header *
    Form top-of-page.
    *ALV Header declarations
    data: t_header type slis_t_listheader,
    wa_header type slis_listheader,
    t_line like wa_header-info,
    ld_lines type i,
    ld_linesc(10) type c.
    Title
    wa_header-typ = 'H'.
    wa_header-info = 'EKKO Table Report'.
    append wa_header to t_header.
    clear wa_header.
    Date
    wa_header-typ = 'S'.
    wa_header-key = 'Date: '.
    CONCATENATE sy-datum+6(2) '.'
    sy-datum+4(2) '.'
    sy-datum(4) INTO wa_header-info. "todays date
    append wa_header to t_header.
    clear: wa_header.
    Total No. of Records Selected
    describe table it_ekko lines ld_lines.
    ld_linesc = ld_lines.
    concatenate 'Total No. of Records Selected: ' ld_linesc
    into t_line separated by space.
    wa_header-typ = 'A'.
    wa_header-info = t_line.
    append wa_header to t_header.
    clear: wa_header, t_line.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = t_header.
    i_logo = 'Z_LOGO'.
    endform.
    FORM USER_COMMAND *
    --> R_UCOMM *
    --> RS_SELFIELD *
    FORM user_command USING r_ucomm LIKE sy-ucomm
    rs_selfield TYPE slis_selfield.
    Check function code
    CASE r_ucomm.
    WHEN '&IC1'.
    Check field clicked on within ALVgrid report
    IF rs_selfield-fieldname = 'EBELN'.
    Read data table, using index of row user clicked on
    READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
    Set parameter ID for transaction screen field
    SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
    Sxecute transaction ME23N, and skip initial data entry screen
    CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
    ENDIF.
    ENDCASE.
    ENDFORM.
    *& Form BUILD_EVENTS
    Build events table
    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_end_of_page
    into ls_event.
    if sy-subrc = 0.
    move 'END_OF_PAGE' to ls_event-form.
    append ls_event to gt_events.
    endif.
    read table gt_events with key name = slis_ev_end_of_list
    into ls_event.
    if sy-subrc = 0.
    move 'END_OF_LIST' to ls_event-form.
    append ls_event to gt_events.
    endif.
    endform. " BUILD_EVENTS
    *& Form BUILD_PRINT_PARAMS
    Setup print parameters
    form build_print_params.
    gd_prntparams-reserve_lines = '3'. "Lines reserved for footer
    gd_prntparams-no_coverpage = 'X'.
    endform. " BUILD_PRINT_PARAMS
    *& Form END_OF_PAGE
    form END_OF_PAGE.
    data: listwidth type i,
    ld_pagepos(10) type c,
    ld_page(10) type c.
    write: sy-uline(50).
    skip.
    write:/40 'Page:', sy-pagno .
    endform.
    *& Form END_OF_LIST
    form END_OF_LIST.
    data: listwidth type i,
    ld_pagepos(10) type c,
    ld_page(10) type c.
    endform.

  • Help on - ALV Heading

    Hi friends,
    I want the heading of an ALV report in the format given as below ..... Is that possible ???
    In the 1st line :-
    123 ( Left corner ) ..... ABC (Center).... date (right corner)
    In the second line also :- something like the first line .....
    Is that possible ???
    If yes ... How can i do this ???
    Expecting your answers
    thanks in advance
    Cheers
    R.Kripa

    refer the links:
    http://www.sap-img.com/abap/test-alv-display-with-header-footer.htm
    or
    http://www.sap-img.com/abap/sample-alv-heading-in-alv.htm
    or
    ALV LIST Header
    how to display header in alv list
    The last two would address your question more precisely.
    Regards,
    Ravi

Maybe you are looking for

  • Bw report to show all error message from an infopackage

    Dears Experts, I am looking for a way to analyze within a BW reports (a specific one or already existing in a BI content) all errors messages generated by an infopackage and stored within the status field of a PSA. Does someone have any feedbacks or

  • Scheduling agreement to Delivery Document

    Dear All Gurus, I am facing an issue, please advise it is the standard system functionality, if yes tell me the work around. I have a schedulin gagreement with two schedule lines for say 23.03.2010 Qty 5, and 24.03.2010 Qty 5. As per my business scen

  • Webservice to Proxy scenario..

    Hi, My scenario is EP -- XI -- Proxy scenario in which i have an wsdl at the EP side and what else configuration to be done for creating the proxy at the target side.. Do we need to create the inbound proxy w.r.t to the interface and request you to p

  • Referencing Loader after created in loop

    I am creating a loop which loadsimages to newly created loaders.   After each loader completes, I'd like to pass it through another  function Here's my loop of loaders where loader_names is an array of my loader names and overlay_files is an array of

  • Default File Server in ODI

    Hi All, I am currently working on ODI tutorials . By mistake I have deleted the default FILE_GENERIC file data server in the Physical archicture Of the topology nav studio. how can I add back this default server for FILEs? I have ODI11g on my laptop.