Use of reuse_alv_commentary_write

hi
what is the use of reuse_alv_commentary_write.
how can we create layout in system . what is the navigation?

Hi,
It is use full for writing events like top of page,end of page like that .
go through the folllowing code once.
REPORT  YH649_ALV_TEST_LOGO.
TYPE-POOLS SLIS.
data T_LIST_COMMENTARY TYPE SLIS_T_LISTHEADER.
DATA FS_LIST_COMMENTARY LIKE LINE OF T_LIST_COMMENTARY.
FS_LIST_COMMENTARY-TYP = 'S'.
FS_LIST_COMMENTARY-KEY = 'ANANTH'.
FS_LIST_COMMENTARY-INFO = 'ANANTH KUMAR SUDANI'.
APPEND FS_LIST_COMMENTARY TO T_LIST_COMMENTARY.
DATA:
  T_FLIGHT  LIKE TABLE OF SFLIGHT,
  T_EVENT    TYPE SLIS_T_EVENT ,
  FS_EVENT   TYPE LINE OF SLIS_T_EVENT.
FS_EVENT-NAME = 'TOP_OF_PAGE'.
FS_EVENT-FORM = 'TOP'.
APPEND FS_EVENT TO T_EVENT.
CLEAR FS_EVENT.
SELECT *
  FROM SFLIGHT
  INTO TABLE T_FLIGHT UP TO 100 ROWS.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
   I_STRUCTURE_NAME               = 'SFLIGHT'
   I_CALLBACK_PROGRAM             = 'YH649_ALV_TEST_LOGO'
  IS_LAYOUT                      = IS_LAYOUT
     IT_EVENTS                      = T_EVENT
  IT_SORT                        = T_SORTCAT
  IT_EVENT_EXIT                  = IT_EVENT_EXIT
  TABLES
    T_OUTTAB                      = T_FLIGHT
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.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
  EXPORTING
    IT_LIST_COMMENTARY       = T_LIST_COMMENTARY
     I_LOGO                   =  'ENJOYSAP_LOGO'
     I_END_OF_LIST_GRID       = t_flight
  I_ALV_FORM               =

Similar Messages

  • Print ALV Heading using FM REUSE_ALV_COMMENTARY_WRITE

    Hi,
      How to print the heading using FM REUSE_ALV_COMMENTARY_WRITE?
    I need heading format as
    Name1  :                    Date1        :
    Name2  :                    Date2        :
    like this. How can I print this?Please provide some example code.
    Regards,
    Anu.

    *& Report  Y_TOP_PAGE                                                  *
    REPORT  y_top_page                              .
    TABLES : mara.
    TYPE-POOLS: slis.
    DATA : w_repid LIKE sy-repid.
      w_repid = sy-repid.
    DATA : BEGIN OF it_mara OCCURS 0,
           matnr LIKE mara-matnr,
           END OF it_mara.
    *layout
    DATA: wa_layout           TYPE SLIS_LAYOUT_ALV.
    *field catalog
    DATA: it_fieldcat_wrt_off TYPE slis_t_fieldcat_alv,
          wa_fieldcat_wrt_off TYPE slis_fieldcat_alv.
    START-OF-SELECTION.
      SELECT matnr FROM mara INTO CORRESPONDING FIELDS OF TABLE it_mara.
    END-OF-SELECTION.
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
         i_program_name               = w_repid
       I_INTERNAL_TABNAME           = 'IT_MARA'
    *     i_structure_name             = 'IT_MARA'
    *   I_CLIENT_NEVER_DISPLAY       = 'X'
       I_INCLNAME                   = w_repid
    *   I_BYPASSING_BUFFER           =
    *   I_BUFFER_ACTIVE              =
        CHANGING
          ct_fieldcat                  = it_fieldcat_wrt_off[]
       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.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program     = w_repid
          i_callback_top_of_page = 'TOP-OF-PAGE'
          is_layout              = wa_layout
          it_fieldcat            = it_fieldcat_wrt_off
        TABLES
          t_outtab               = it_mara
        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                                                 *
    * 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 = 'CHANDU 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.                    "top-of-page

  • Using FM REUSE_ALV_COMMENTARY_WRITE

    Hi,
    can we use the function module 'REUSE_ALV_COMMENTARY_WRITE' in normal classical reports to include logo.

    Hi,
    In normal report we cannot do it..It is possible only for ALV'S.
    regards,
    nagaraj

  • Req:Download of purchase order item details using ALV

    Hi all,
    In my requirement i have to display the output like this by using fm reuse_alv_commentary_write.But i need space in between them like this.please help me in doing this.
    From:  Belverin B.V.                    Order nr. : PO-B013554        
    To:      GRAF.  BV
    Date:  28-JUL-2005 14:02            Doc. Currency: EUR

    Hi,
    To add more gap you can try html_top_of_page in place of commentry write ....
    FORM html_top_of_page USING top TYPE REF TO cl_dd_document.
      DATA: l_text(255) TYPE c.
      DATA: text1(255)  TYPE c.
      DATA: t_header TYPE REF TO cl_dd_table_element ,
            wa_header TYPE REF TO cl_dd_table_area.
      CALL METHOD top->add_gap "to add gap as you like....
        EXPORTING
          width = 10.
        CALL METHOD top->add_text
          EXPORTING
            text          = <your text>
    *    fix_lines     =
            sap_style     = 'HEADING'
            sap_color     = cl_dd_document=>list_heading_int
            sap_fontsize  = 'MEDIUM'
            sap_fontstyle = 'ARIAL'
            sap_emphasis  = cl_dd_document=>strong.
    *    style_class   =
    *  CHANGING
    *    document      =

  • Logo using  List ALV list dispaly

    Hi,
    I am using FM:REUSE_ALV_COMMENTARY_WRITE to print logo in ALv header with list display using REUSE_ALV_LIST_DISPLAY.
    Header is being displayed except logo.Below is the code.
    Please let me know if anything to be done additionally to get the logo ,if naybody has displayed logo using list display i mean above FMs.
    FORM TOP_OF_PAGE.
    Report title
      clear t_heading[].
      clear x_heading.
      x_heading-typ = 'H'.
      x_heading-info = ''.
      append x_heading to t_heading.
    Program name
      clear x_heading.
      x_heading-typ = 'S'.
      x_heading-key = 'Program: '.
      x_heading-info = sy-repid.
      append x_heading to t_heading.
    User who is running the report
      clear x_heading.
      x_heading-typ = 'S'.
      x_heading-key = 'User: '.
      x_heading-info = sy-uname.
      append x_heading to t_heading.
    Date of execution
      clear x_heading.
      x_heading-typ = 'S'.
      x_heading-key = 'Date: '.
      write sy-datum to x_heading-info.
      append x_heading to t_heading.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
      EXPORTING
           I_LOGO                   = 'ENJOYSAP_LOGO'
           IT_LIST_COMMENTARY       = t_heading
      I_END_OF_LIST_GRID       =
       I_ALV_FORM               = 'X'.
    ENDFORM.

    Hi,
    Kindly go through this below sample program:
    *+
    REPORT  YKC_ALV_OOPS_LOGO_DISPALY.
    tables: MARA.
    TYPE-POOLS cndp.
    data: begin of it_tab occurs 0,
          matnr like mara-matnr,
          ersda like mara-ersda,  "creation date
          ernam like mara-ernam,  "person created
          pstat like mara-pstat,  "maint stat
          lvorm like mara-lvorm,  "flg for deletion
          mtart like mara-mtart,  "mat type
          meins like mara-meins,  "uom
          end of it_tab.
    data: wa_it_tab like line of it_tab.  "making work area
    data: i_modified TYPE STANDARD TABLE OF mara,"For getting modified rows
          w_modified TYPE mara.
    CLASS lcl_events_d0100 DEFINITION DEFERRED.
    DATA: event_receiver1  TYPE REF TO lcl_events_d0100,
          i_selected_rows TYPE lvc_t_row,                "Selected Rows
          w_selected_rows TYPE lvc_s_row.
    *----declaration for logo display custom container
    DATA  url(132).
    custom container
    DATA pic_container TYPE REF TO cl_gui_custom_container.
    picture Control.
    DATA picture TYPE REF TO cl_gui_picture.
    Definition of Control Framework
    CLASS cl_gui_cfw DEFINITION LOAD.
          CLASS lcl_events_d0100 DEFINITION
    CLASS lcl_events_d0100 DEFINITION.
      PUBLIC SECTION.
       METHODS:
    *double_click FOR EVENT double_click
                            OF cl_gui_alv_grid
                            IMPORTING e_row
                                      e_column.
        METHODS
            handle_hotspot_click
            FOR EVENT hotspot_click OF cl_gui_alv_grid
            IMPORTING
                 e_row_id
                 e_column_id
                 es_row_no
                 sender.
    *---code addition for ALV pushbuttons
    *--for placing buttons
        METHODS handle_toolbar_set
            FOR EVENT toolbar OF cl_gui_alv_grid
            IMPORTING
                  e_object
                  e_interactive.
    *---user command on clicking a button
        METHODS handle_user_command
            FOR EVENT user_command OF cl_gui_alv_grid
            IMPORTING
                 e_ucomm.
    ENDCLASS.                    "lcl_events_d0100 DEFINITION
                        LOCAL VARIABLE
    DATA ok_code TYPE sy-ucomm.
                          FOR VARIANT
    DATA st_var TYPE disvariant .
    DATA save TYPE c.
    st_var-report = 'YKC_ALV_OOPS_LOGO_DISPALY'.
    save = 'A'.
            FOR LAYOUT
    DATA loyo TYPE lvc_s_layo.
    loyo-zebra = 'X'.
    loyo-detailinit = 'X'.
    loyo-info_fname = 'RED'.
              FOR FIELD CATALOG
    DATA fcat TYPE lvc_t_fcat.
    DATA wa_fcat LIKE LINE OF fcat.
    *--Declaration for toolbar buttons
    DATA : ty_toolbar      TYPE stb_button.
    DATA : e_object        TYPE REF TO cl_alv_event_toolbar_set,
           io_alv_toolbar  TYPE REF TO cl_alv_event_toolbar_set.
    *---custom container
    DATA container TYPE REF TO cl_gui_custom_container.
    DATA ref_grid TYPE REF TO cl_gui_alv_grid.
    CREATE OBJECT container
      EXPORTING
        container_name = 'CONTAINER'."name of container in module pool
    CREATE OBJECT ref_grid
      EXPORTING
        i_parent = container.
          CLASS lcl_events_d0100 IMPLEMENTATION
    CLASS lcl_events_d0100 IMPLEMENTATION.
    *---method for hotspot
      METHOD handle_hotspot_click.
        DATA:ls_col_id   TYPE lvc_s_col.
        READ TABLE it_tab INTO wa_it_tab
                                 INDEX e_row_id-index.
        IF sy-subrc = 0.
          CHECK ( wa_it_tab-matnr IS NOT INITIAL ).
          CASE e_column_id-fieldname.
            WHEN 'MATNR'.
              leave program.
            WHEN OTHERS.
          do nothing
          ENDCASE.
          CALL METHOD ref_grid->set_current_cell_via_id
            EXPORTING
              is_row_id    = e_row_id
              is_column_id = ls_col_id.
        ENDIF.
      ENDMETHOD.                    "handle_hotspot_click
    **---method for handling toolbar
      METHOD handle_toolbar_set.
        CLEAR ty_toolbar.
        ty_toolbar-function = 'EDIT'. "name of btn to  catch click
        ty_toolbar-butn_type = 0.
        ty_toolbar-text = 'EDIT'.
        APPEND ty_toolbar    TO e_object->mt_toolbar.
      ENDMETHOD.                    "handle_toolbar_set
      METHOD handle_user_command.
        DATA: wr_data_changed TYPE REF TO cl_alv_changed_data_protocol.
        DATA: lt_rows TYPE lvc_t_row,
              lt_index TYPE  lvc_s_row-index.
        CASE e_ucomm.
          WHEN 'EDIT'.
          perform save_database.
          CALL METHOD ref_GRID->REFRESH_TABLE_DISPLAY.
        ENDCASE.
      ENDMETHOD.                    "handle_user_command
    *---End of page
    ENDCLASS.                    "lcl_events_d0100 IMPLEMENTATION
    START-OF-SELECTION.
      PERFORM get_data.
      PERFORM field_catalog.
    *&      Form  get_data
          text : getting data into internal table
    -->  p1        text
    <--  p2        text
    form get_data .
      select matnr ersda ernam pstat lvorm mtart meins
             into table it_tab
             from mara
             where matnr GE '000000000000000001'.
    endform.                    " get_data
    *&      Form  field_catalog
          text
    -->  p1        text
    <--  p2        text
    form field_catalog .
      REFRESH fcat.
      DATA: lv_pos TYPE i.
      lv_pos = lv_pos + 1.
      wa_fcat-fieldname = 'MATNR'.
      wa_fcat-coltext = 'Material No'.
      wa_fcat-col_pos = lv_pos.
      wa_fcat-hotspot = 'X'.
      wa_fcat-outputlen = 18.
      APPEND wa_fcat TO fcat.
      CLEAR wa_fcat.
      lv_pos = lv_pos + 1.
      wa_fcat-fieldname = 'ERSDA'.
      wa_fcat-coltext = 'Creation Date'.
      wa_fcat-col_pos = lv_pos.
      wa_fcat-edit = 'X'.
      wa_fcat-outputlen = 18.
      APPEND wa_fcat TO fcat.
      CLEAR wa_fcat.
      lv_pos = lv_pos + 1.
      wa_fcat-fieldname = 'ERNAM'.
      wa_fcat-coltext = 'Person Created'.
      wa_fcat-col_pos = lv_pos.
      wa_fcat-outputlen = 18.
      APPEND wa_fcat TO fcat.
      CLEAR wa_fcat.
      lv_pos = lv_pos + 1.
      wa_fcat-fieldname = 'PSTAT'.
      wa_fcat-coltext = 'Maint Stat'.
      wa_fcat-col_pos = lv_pos.
      wa_fcat-outputlen = 18.
      APPEND wa_fcat TO fcat.
      CLEAR wa_fcat.
      lv_pos = lv_pos + 1.
      wa_fcat-fieldname = 'LVORM'.
      wa_fcat-coltext = 'Flag For Deletion'.
      wa_fcat-col_pos = lv_pos.
      wa_fcat-outputlen = 18.
      APPEND wa_fcat TO fcat.
      CLEAR wa_fcat.
      lv_pos = lv_pos + 1.
      wa_fcat-fieldname = 'MTART'.
      wa_fcat-coltext = 'Material Type'.
      wa_fcat-col_pos = lv_pos.
      wa_fcat-outputlen = 18.
      APPEND wa_fcat TO fcat.
      CLEAR wa_fcat.
      lv_pos = lv_pos + 1.
      wa_fcat-fieldname = 'MEINS'.
      wa_fcat-coltext = 'UOM'.
      wa_fcat-col_pos = lv_pos.
      wa_fcat-outputlen = 18.
      APPEND wa_fcat TO fcat.
      CLEAR wa_fcat.
      CREATE OBJECT event_receiver1.
    *---setting event handlers
    SET HANDLER event_receiver1->double_click         FOR ref_grid.
      SET HANDLER event_receiver1->handle_toolbar_set   FOR ref_grid.
      SET HANDLER event_receiver1->handle_user_command  FOR ref_grid.
      SET HANDLER event_receiver1->handle_hotspot_click FOR ref_grid.
              ALV GRID DISPLAY
      CALL METHOD ref_grid->set_table_for_first_display
        EXPORTING
          is_variant      = st_var
          i_save          = save
          is_layout       = loyo
        CHANGING
          it_outtab       = it_tab[]
          it_fieldcatalog = fcat.
      CALL SCREEN 100.
    endform.                    " field_catalog
    *&      Module  STATUS_0100  OUTPUT
          text
    module STATUS_0100 output.
    create the custom container
        CREATE OBJECT pic_container
                      EXPORTING container_name = 'CUSTOM'.
    create the picture control
    create the picture control
        CREATE OBJECT picture
                      EXPORTING parent = pic_container.
    Request an URL from the data provider by exporting the pic_data.
        CLEAR url.
        PERFORM load_pic_from_db CHANGING url.
    load picture
        CALL METHOD picture->load_picture_from_url
          EXPORTING
            url = url.
       init = 'X'.
        CALL METHOD cl_gui_cfw=>flush
          EXCEPTIONS
            cntl_system_error = 1
            cntl_error        = 2.
        IF sy-subrc <> 0.
    error handling
        ENDIF.
    *---for editing
      CALL METHOD ref_grid->register_edit_event
      EXPORTING i_event_id = cl_gui_alv_grid=>mc_evt_modified.
      SET PF-STATUS 'S100'.
      SET TITLEBAR 'XXX'.
    endmodule.                 " STATUS_0100  OUTPUT
    *&      Module  exit  INPUT
          text
    module exit input.
      CASE ok_code.
        WHEN 'EXIT' .
          CLEAR ok_code.
          LEAVE PROGRAM.
      ENDCASE.
    endmodule.                 " exit  INPUT
    *&      Form  SAVE_DATABASE
          text : saving into DDIC from internal table
    -->  p1        text
    <--  p2        text
    FORM SAVE_DATABASE .
    Getting the selected rows index
        CALL METHOD ref_grid->get_selected_rows
                    IMPORTING  et_index_rows = i_selected_rows.
    Through the index capturing the values of selected rows
        LOOP AT i_selected_rows INTO w_selected_rows.
        READ TABLE it_tab INTO wa_it_tab INDEX w_selected_rows-index.
        IF sy-subrc EQ 0.
          MOVE-CORRESPONDING wa_it_tab TO w_modified.
          APPEND w_modified TO i_modified.
        ENDIF.
      ENDLOOP.
      MODIFY mara FROM TABLE i_modified.
    ENDFORM.                    " SAVE_DATABASE
    *&      Form  LOAD_PIC_FROM_DB
          text : loading logo
         -->P_URL      text
    FORM load_pic_from_db  CHANGING p_url.
      DATA query_table LIKE w3query OCCURS 1 WITH HEADER LINE.
      DATA html_table LIKE w3html OCCURS 1.
      DATA return_code LIKE  w3param-ret_code.
      DATA content_type LIKE  w3param-cont_type.
      DATA content_length LIKE  w3param-cont_len.
      DATA pic_data LIKE w3mime OCCURS 0.
      DATA pic_size TYPE i.
      REFRESH query_table.
      query_table-name = '_OBJECT_ID'.
      query_table-value = 'ENJOYSAP_LOGO'.u201Dname of logo
      APPEND query_table.
      CALL FUNCTION 'WWW_GET_MIME_OBJECT'
        TABLES
          query_string        = query_table
          html                = html_table
          mime                = pic_data
        CHANGING
          return_code         = return_code
          content_type        = content_type
          content_length      = content_length
        EXCEPTIONS
          object_not_found    = 1
          parameter_not_found = 2
          OTHERS              = 3.
      IF sy-subrc = 0.
        pic_size = content_length.
      ENDIF.
      CALL FUNCTION 'DP_CREATE_URL'
        EXPORTING
          type     = 'image'
          subtype  = cndp_sap_tab_unknown
          size     = pic_size
          lifetime = cndp_lifetime_transaction
        TABLES
          data     = pic_data
        CHANGING
          url      = url
        EXCEPTIONS
          OTHERS   = 1. *+
    Hope it helps you
    Regrds
    Mansi

  • Calling logo in se38 using alv (reuse_alv_commentry_write)

    hi
    expets,
    i want to display logo in se38 i am using  fm REUSE_ALV_COMMENTARY_WRITE'
    but when i execute the program logo is not display.
    logo name = databas logo name.
    thanks& regards
    ajay.

    Use FM - 'REUSE_ALV_COMMENTARY_WRITE'.
    If you are using Function modules to display (You can also use Class), you will have to use GRID display for displaying the logo. Its not possible in List display.
    Use the Function module REUSE_ALV_GRID_DISPLAY and pass the parameter   "I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE' ".
    This TOP_OF_PAGE is the subroutine (FORM - ENDFORM) in which the actual top of page code will be written (for showing the logo).
    The picture must be uploaded into  transaction  OAOR  with
      classname 'PICTURES' AND
      TYPE 'OT' to work with ALV GRID Functions.
    FORM TOP_OF_PAGE.
    DATA: WA_HEADER TYPE SLIS_LISTHEADER. REFRESH: GT_LIST_TOP_OF_PAGE.
    H = HEADER LARGE FONT, S = STANDARD FONT, A = ITALICS
    WA_HEADER-TYP = 'H'. WA_HEADER-INFO = 'TEST REPORT'. APPEND WA_HEADER TO GT_LIST_TOP_OF_PAGE.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING I_LOGO = 'LOGO' IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
    ENDFORM. " TOP_OF_PAGE

  • Regarding logo in alv

    Hi Everyone,
    I want to print a logo in the alv grid display.
    I have used the "reuse_alv_commentary_write" fm.
    The logo is also displaying at the right top corner.
    But I want to get it printed at the left top corner.
    please give me a solution. this is urgent
    With Thanks and Best Regards
    V.Ravishankar

    Hi Ravi,
           You can do that. Try like this,
       Concatenate the Logo name with ASCII values of the Spaces following it(LOGO NAME) and put it in an Field which you are going to pass to that function Module <b>reuse_alv_commentary_write[\b]. ASCII Value for Space can be entered as ALT+255. place around five to 10 spaces and then try it must work i hope.
    Thanks and Regards,
    Prashanth

  • What is the transaction code for this Report

    Is there a report in SAP that shows unrealized foreign exchange cash receipts and payments posted to a G/L. if yes, what is that report. Please provide transaction code.
    If not, do we need to create ABAP query. How do we create that Query in this regard. What information are we required to give the Abap person or do we create an Query ourself. How do we create it. please explain with steps.
    It is little urgent. Please reply soon.
    Thanks
    Lakshmi

    Hi
    hi Refer
    <b>http://sapfans.com/forums/viewtopic.php?t=35498&highlight=logo+report&sid=427c40184627df2072190b9d75d87117</b>
    Use FM 'REUSE_ALV_COMMENTARY_WRITE'
    Regards,
    Sree

  • Doubts alv reports

    hi abapers please guide me.
    1. diffrence between list display and grid display?
    2. where we can call top-of-page event?
    3. where we can do sub total and grandtotal in alvs?
    4. how we can call logo in alvs?
    5. how to crete check boxes in alv's?
    thanks in addvance

    1 diffrence between list display and grid display
    Grid contains tabular column and list does not contain Tabular column
    By using grid and you can write Object oriented code .
    if you want to show logo ,then you need to use Grid and list will not support
    how we can call logo in alvs?
    use FM : reuse_alv_commentary_write Function module ,use OAER Transaction to upload logo
    where we can call top-of-page event?
    this one dynamically we call subroutine and pass the routine to FM - Reuse_alv_grid_display.
    Totals - by using field catlog
    Sub totals - In sorting
    how to crete check boxes in alv's
    Use Field catlog.
    See the example program :
    BCALV* or Se38 ->f4 and enter Development class/Package - SLIS
    Simple example -
    REPORT ZFD_TRUCK_EDIT no standard page heading
                              message-id zwave.
    ======================================================================
    Program Name : ZWM_TRUCK_EDIT                                        *
    Description  : This program displays data from ZTRUCK Table and also *
                    displays Location details.                           *
    Author       : Seshu                                                 *
    Date         : 05/22/2007                                            *
    MODIFICATION HISTORY                                                 *
    DATE    | AUTHOR   | CHANGE #   | DESCRIPTION OF MODIFICATION        *
    --|||--
    05/22/07| Seshu    | DEVK922184 | Initial                            *
    type-pools : slis.
    tables : zsdcarton,
             ztruck,
             zwm_trk_loc,
             zwm_trk_text.
    Internal table for ZTRUCK and ZSDCARTON
    data : begin of int_ztruck occurs 0 ,
           vdatu like ztruck-vdatu,
           ZZTRKNO like ztruck-ZZTRKNO,
          zzrun like   ztruck-zzrun,
           ZZPHYTRK like ztruck-ZZPHYTRK,
           zzdestime like ztruck-zzdestime,
           zzrun like ztruck-zzrun,
           ZZSWAVENO like zsdcarton-ZZSWAVENO,
           end of int_ztruck.
    Internal table for ZSDCARTON
    data : begin of i_zsdcarton occurs 0,
           werks like zsdcarton-werks,
           VDATU like zsdcarton-vdatu,
           ZZRUN like zsdcarton-zzrun,
           ZZSWAVENO like zsdcarton-ZZSWAVENO,
           ZZTRKNO like zsdcarton-ZZTRKNO,
           VBELN like zsdcarton-vbeln,
           ZZCARTON like zsdcarton-zzcarton,
           end of i_zsdcarton.
      Final Internal Table
    data : begin of i_final occurs 0,
           sel_recs(1) type c,
           ZZTRKNO like ZWMTRK_ALV-ZZTRKNO,
           ZZPHYTRK like ztruck-ZZPHYTRK,
           ZZSWAVENO like zsdcarton-ZZSWAVENO,
           tord(5) type c,
           tcart(5) type c,
           zzdestime like ztruck-zzdestime,
           ZZPLOC like zwm_trk_text-zztext,
           ZZRLOC like zwm_trk_text-ZZtext,
           zzrun like ztruck-zzrun,
           name like zwm_trk_loc-name,
           end of i_final.
    Work Area for Truck Location table
    data: w_trk_loc like zwm_trk_loc,
          wm_text like zwm_trk_text.
    Variables
    data : v_lines type i,
           v_lines1 type i,
           v_repid like sy-repid.
      ALV Function Module Variables
    DATA: g_repid like sy-repid,
          gs_layout type slis_layout_alv,
          g_exit_caused_by_caller,
          gs_exit_caused_by_user type slis_exit_by_user.
    DATA: gt_fieldcat    type slis_t_fieldcat_alv,
          gs_print       type slis_print_alv,
          gt_events      type slis_t_event,
          gt_list_top_of_page type slis_t_listheader,
          g_status_set   type slis_formname value 'STANDARD_02',
          g_user_command type slis_formname value 'USER_COMMAND',
          g_top_of_page  type slis_formname value 'TOP_OF_PAGE',
          g_top_of_list  type slis_formname value 'TOP_OF_LIST',
          g_end_of_list  type slis_formname value 'END_OF_LIST',
          g_variant LIKE disvariant,
          g_save(1) TYPE c,
          g_tabname_header TYPE slis_tabname,
          g_tabname_item   TYPE slis_tabname,
          g_exit(1) TYPE c,
          gx_variant LIKE disvariant.
    S E L E C T I O N - S C R E E N  *********************
    selection-screen : begin of block blk with frame title text-001.
    parameters : p_werks like ztruck-werks obligatory default '1000'.
    parameters : p_vdatu like zsdcarton-vdatu obligatory ."default sy-datum.
    select-options : s_run for ztruck-ZZRUN,
                     s_wave for ZSDCARTON-ZZSWAVENO ,
                     s_trkno for ZSDCARTON-ZZTRKNO.
    selection-screen : end of block blk.
    Fill the default values
    initialization.
      v_repid = sy-repid.
      PERFORM LAYOUT_INIT USING GS_LAYOUT.
      PERFORM EVENTTAB_BUILD USING GT_EVENTS[].
    S T A R T  -  O F  -  S E L E C T I O N ***************
    start-of-selection.
    Refresh and Clear all Variables and Internal Tables
      perform clear_initial_values.
    Get the data from ZTRUCK,ZSDCARTON,ZWVBAK and ZWVBAP
      perform get_data_tables.
    E N D  -  O F  -  S E L E C T I O N *****************
    end-of-selection.
      if not i_final[] is initial.
    ALV Function Module
        perform print_alv.
      endif.
    *&      Form  clear_initial_values
    FORM clear_initial_values.
      clear : i_zsdcarton,
              int_ztruck,
              v_lines,
              v_lines1.
      refresh : i_zsdcarton,
                int_ztruck.
    ENDFORM.                    " clear_initial_values
    *&      Form  get_data_tables
          Get the data from tables
    FORM get_data_tables.
      select a~vdatu a~ZZTRKNO a~ZZPHYTRK a~zzdestime
             a~zzrun b~ZZSWAVENO
             into table int_ztruck
             from ztruck as a inner join zsdcarton as b
             on a~zztrkno = b~zztrkno
             where a~vdatu = p_vdatu
             and   a~zztrkno in s_trkno
             and   b~ZZSWAVENO in s_wave
             and   b~zzrun in s_run
             and   a~werks = p_werks
             and   b~werks = p_werks
             and   b~vdatu = p_vdatu.
      if sy-subrc ne 0.
        message e004.
      endif.
      break sreddy.
      sort int_ztruck by vdatu zztrkno zzrun   zzswaveno ZZPHYTRK .
      DELETE ADJACENT DUPLICATES FROM int_ztruck
          comparing vdatu zzrun zztrkno zzswaveno ZZPHYTRK.
      loop at int_ztruck.
      Get the data from ZSDCARTON
        clear : i_zsdcarton,
                v_lines,
                v_lines1,
                w_trk_loc,
                wm_text.
        refresh : i_zsdcarton.
        select werks
               vdatu
               zzrun
               ZZSWAVENO
               ZZTRKNO
               vbeln
               ZZCARTON from zsdcarton into table i_zsdcarton
               where werks = p_werks
                 and vdatu = int_ztruck-vdatu
                 and  zzrun = int_ztruck-zzrun
                 and  zztrkno = int_ztruck-zztrkno
                 and  ZZSWAVENO = int_ztruck-ZZSWAVENO.
        if sy-subrc eq 0.
    Total Cartons
          describe table i_zsdcarton lines v_lines.
          i_final-tcart = v_lines.
          DELETE ADJACENT DUPLICATES FROM i_zsdcarton
          comparing werks vdatu zzrun zzswaveno vbeln.
       Total Orders
          describe table i_zsdcarton lines v_lines1.
          i_final-tord = v_lines1.
        endif.
    Get the Parked Location and Returned Location.
        select single * from zwm_trk_loc into w_trk_loc
                        where  ZZPHYTRK = int_ztruck-ZZPHYTRK.
    Get the Location Text from ZWM_TRK_TEXT Table
        if sy-subrc eq 0.
          select single * from zwm_trk_text into wm_text
                          where zzploc = w_trk_loc-zzploc.
          if sy-subrc eq 0.
            i_final-ZZPLOC = wm_text-zztext.
          endif.
          clear wm_text.
          select single * from zwm_trk_text into wm_text
                          where zzploc = w_trk_loc-zzrloc.
          if sy-subrc eq 0.
            i_final-ZZrLOC = wm_text-zztext..
          endif.
          i_final-name   = w_trk_loc-name.
        endif.
        i_final-zztrkno = int_ztruck-zztrkno.
        i_final-ZZPHYTRK = int_ztruck-ZZPHYTRK.
        i_final-ZZSWAVENO = int_ztruck-ZZSWAVENO.
        i_final-zzdestime = int_ztruck-zzdestime.
        i_final-zzrun = int_ztruck-zzrun.
        append i_final.
        clear : i_final,
                int_ztruck.
      endloop.
    ENDFORM.                    " get_data_tables
          FORM LAYOUT_INIT                                              *
    -->  RS_LAYOUT                                                     *
    FORM LAYOUT_INIT USING RS_LAYOUT TYPE SLIS_LAYOUT_ALV.
    **"Build layout for list display
      RS_LAYOUT-DETAIL_POPUP      = 'X'.
    lslayout-f2code            = p_f2code.
    rs_layout-zebra             = 'X'.
    rs_layout-colwidth_optimize = 'X'.
    ENDFORM.
          FORM EVENTTAB_BUILD                                           *
    -->  RT_EVENTS                                                     *
    FORM EVENTTAB_BUILD USING RT_EVENTS TYPE SLIS_T_EVENT.
    *"Registration of events to happen during list display
      DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                I_LIST_TYPE = 0
           IMPORTING
                ET_EVENTS   = RT_EVENTS.
      READ TABLE RT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
                               INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE G_TOP_OF_PAGE TO LS_EVENT-FORM.
        APPEND LS_EVENT TO RT_EVENTS.
      ENDIF.
    ENDFORM.
    *&      Form  print_alv
          text
    FORM print_alv.
      PERFORM COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].
      break sreddy.
    Populate field catalog
      PERFORM fieldcat_init  using gt_fieldcat[].
    sort i_final
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
       I_INTERFACE_CHECK                 = ' '
       I_BYPASSING_BUFFER                =
       I_BUFFER_ACTIVE                   = ' '
        I_CALLBACK_PROGRAM                = v_repid
        I_CALLBACK_PF_STATUS_SET          = 'STANDARD_02'
         I_CALLBACK_USER_COMMAND           = g_user_command
       I_CALLBACK_TOP_OF_PAGE            =  g_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                         = gs_layout
         IT_FIELDCAT                       = gt_fieldcat[]
       IT_EXCLUDING                      =
       IT_SPECIAL_GROUPS                 =
       IT_SORT                           =
       IT_FILTER                         =
       IS_SEL_HIDE                       =
       I_DEFAULT                         = 'X'
        I_SAVE                            = 'A'
        IS_VARIANT                        =
        IT_EVENTS                         = GT_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                      =
       I_HTML_HEIGHT_TOP                 =
       I_HTML_HEIGHT_END                 =
       IT_EXCEPT_QINFO                   =
    IMPORTING
       E_EXIT_CAUSED_BY_CALLER           =
       ES_EXIT_CAUSED_BY_USER            =
       TABLES
         T_OUTTAB                          = i_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.                    " print_alv
          FORM COMMENT_BUILD                                            *
    -->  LT_TOP_OF_PAGE                                                *
    FORM COMMENT_BUILD USING LT_TOP_OF_PAGE TYPE
                                            SLIS_T_LISTHEADER.
      DATA: LS_LINE TYPE SLIS_LISTHEADER.
    Variables for Date
      data : lv_year(4) type c,
             lv_mon(2) type c,
             lv_day(2) type c,
             lv_date1(10) type c,
             lv_date2(10) type c,
             lv_time(8) type c,
             lv_hour(2) type c,
             lv_min(2) type c,
             lv_sec(2) type c.
    LIST HEADING LINE: TYPE H
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'H'.
      LS_LINE-INFO = sy-title.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
    Plant
    STATUS LINE: TYPE S
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = TEXT-c02.
      LS_LINE-INFO = P_WERKS.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
      clear : lv_time,
             lv_hour,
             lv_min,
             lv_sec.
      lv_hour = sy-uzeit+0(2).
      lv_min = sy-uzeit+2(2).
      lv_sec = sy-uzeit+4(2).
      concatenate lv_hour ':' lv_min ':' lv_sec into lv_time.
    Current time
    STATUS LINE: TYPE S
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = TEXT-c03.
      LS_LINE-INFO = lv_time.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
      clear : lv_year,
              lv_day,
              lv_mon,
              lv_date1.
      lv_year = p_vdatu+0(4).
      lv_mon = p_vdatu+4(2).
      lv_day = p_vdatu+6(2).
      concatenate lv_mon '/' lv_day '/' lv_year into lv_date1.
    STATUS LINE: TYPE S
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = TEXT-c01.
      LS_LINE-INFO = lv_date1.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
    STATUS LINE: TYPE S
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = ''.
      LS_LINE-INFO = ''.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
    STATUS LINE: TYPE S
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = ''.
      LS_LINE-INFO = ''.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
    STATUS LINE: TYPE S
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = ''.
      LS_LINE-INFO = ''.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
    STATUS LINE: TYPE S
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = ''.
      LS_LINE-INFO = ''.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
    STATUS LINE: TYPE S
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = ''.
      LS_LINE-INFO = ''.
      APPEND LS_LINE TO LT_TOP_OF_PAGE.
    ENDFORM.
    Fieldcatlog
    FORM fieldcat_init USING  e01_lt_fieldcat type slis_t_fieldcat_alv.
      DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
      CLEAR gs_layout.
      gs_layout-f2code = ' '.
    g_layout-flexible_key = 'X'.
    g_layout-colwidth_optimize = 'X'.
      gs_layout-detail_initial_lines = 'X'.
      gs_layout-box_fieldname = 'SEL_RECS'.
      gs_layout-box_tabname = 'ITAB_REPORT'.
    Route Number
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'ZZTRKNO'.
      LS_FIELDCAT-ref_fieldname = 'ZZTRKNO'.
      LS_FIELDCAT-ref_tabname = 'ZTRUCK'.
      LS_FIELDCAT-TABNAME    = 'I_FINAL'.
    ls_fieldcat-edit = 'X'.
    LS_FIELDCAT-OUTPUTLEN = 25.
      ls_fieldcat-seltext_L = 'Route Number'.
    ls_fieldcat-seltext_M = 'Route Number'.
    ls_fieldcat-seltext_S = 'Route Number'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Physical Truck
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'ZZPHYTRK'.
    LS_FIELDCAT-ref_fieldname = 'ZZPHYTRK'.
    LS_FIELDCAT-ref_tabname = 'ZTRUCK'.
      LS_FIELDCAT-TABNAME    = 'I_FINAL'.
      ls_fieldcat-edit = 'X'.
      LS_FIELDCAT-OUTPUTLEN = 35.
      ls_fieldcat-seltext_L = 'Physical Truck'.
    ls_fieldcat-seltext_M = 'Physical Truck'.
    ls_fieldcat-seltext_S = 'Physical Truck'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Wave
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'ZZSWAVENO'.
    LS_FIELDCAT-ref_fieldname = 'ZZSWAVENO'.
    LS_FIELDCAT-ref_tabname = 'ZSDCARTON'.
      LS_FIELDCAT-TABNAME    = 'I_FINAL'.
      LS_FIELDCAT-OUTPUTLEN = 10.
      ls_fieldcat-seltext_L = 'Wave'.
    ls_fieldcat-seltext_M = 'Wave'.
    ls_fieldcat-seltext_S = 'Wave'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Total Orders
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'TORD'.
      LS_FIELDCAT-TABNAME    = 'I_FINAL'.
      LS_FIELDCAT-OUTPUTLEN = 15.
      ls_fieldcat-seltext_L = 'Total Orders'.
    ls_fieldcat-seltext_M = 'Total Orders'.
    ls_fieldcat-seltext_S = 'Total Orders'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Cartons Packed
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'TCART'.
      LS_FIELDCAT-TABNAME    = 'I_FINAL'.
      LS_FIELDCAT-OUTPUTLEN = 15.
      ls_fieldcat-seltext_L = 'Cartons Packed'.
    ls_fieldcat-seltext_M = 'Cartons Packed'.
    ls_fieldcat-seltext_S = 'Cartons Packed'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    First DI Time
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'ZZDESTIME'.
      LS_FIELDCAT-TABNAME    = 'I_FINAL'.
      LS_FIELDCAT-OUTPUTLEN = 15.
      ls_fieldcat-seltext_L = 'First DI Time'.
    ls_fieldcat-seltext_M = 'First DI Time'.
    ls_fieldcat-seltext_S = 'First DI Time'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Parked Location
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'ZZPLOC'.
      LS_FIELDCAT-TABNAME    = 'I_FINAL'.
      LS_FIELDCAT-OUTPUTLEN = 25.
      ls_fieldcat-seltext_L = 'Parked Location'.
      ls_fieldcat-edit = 'X'.
    ls_fieldcat-seltext_M = 'Parked Location'.
    ls_fieldcat-seltext_S = 'Parked Location'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Returned Location
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'ZZRLOC'.
      LS_FIELDCAT-TABNAME    = 'I_FINAL'.
      LS_FIELDCAT-OUTPUTLEN = 25.
      ls_fieldcat-seltext_L = 'Returned Location'.
      ls_fieldcat-edit = 'X'.
    ls_fieldcat-seltext_M = 'Returned Location'.
    ls_fieldcat-seltext_S = 'Returned Location'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Wave Run
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'ZZRUN'.
      LS_FIELDCAT-TABNAME    = 'I_FINAL'.
      LS_FIELDCAT-OUTPUTLEN = 25.
      LS_FIELDCAT-NO_OUT = 'X'.
      ls_fieldcat-seltext_L = 'Wave Run'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Wave Run
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'NAME'.
      LS_FIELDCAT-TABNAME    = 'I_FINAL'.
      LS_FIELDCAT-OUTPUTLEN = 25.
      ls_fieldcat-seltext_L = 'Name'.
      ls_fieldcat-edit = 'X'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    ENDFORM.                    " get_fieldcatlog
          FORM TOP_OF_PAGE                                              *
    FORM TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
           EXPORTING
                I_LOGO             = 'FDTRAN1'
                IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
    ENDFORM.
          FORM standard_02                                              *
    -->  EXTAB                                                         *
    FORM standard_02 USING extab TYPE slis_t_extab.
      SET PF-STATUS 'STANDARD1'." EXCLUDING extab.
    ENDFORM. "STANDARD_02
          FORM USER_COMMAND                                             *
    FORM user_command USING r_ucomm LIKE sy-ucomm
                rs_selfield TYPE slis_selfield.                 "#EC CALLED
    Local Variables
      data : li_ztruck like ztruck occurs 0 with header line,
             lv_zzphytrk like ZPHYSICAL_TRUCK-zzphytrk,
             li_ZWM_TRK_LOC like ZWM_TRK_LOC occurs 0 with header line.
      data : wa_loc like zwm_trk_loc,
             wa_text like zwm_trk_text.
      clear : li_ztruck,
              lv_zzphytrk,
              li_ZWM_TRK_LOC.
      refresh :  li_ztruck,
                 li_ZWM_TRK_LOC.
      CASE R_UCOMM.
        WHEN 'DISP'.
          call transaction 'ZWM_TRK_LOC'.
        when '&DATA_SAVE'.
          loop at i_final.
         Validate the Physical Truck #
            select single zzphytrk from ZPHYSICAL_TRUCK into lv_zzphytrk
                                   where zzphytrk = i_final-zzphytrk
                                   and   werks = p_werks
                                   and   lgnum = '100'.
            if sy-subrc ne 0.
              MESSAGE E090 WITH i_final-zzphytrk.
            else.
              li_ztruck-werks = p_werks.
              li_ztruck-vdatu = p_vdatu.
              li_ztruck-zztrkno = i_final-zztrkno.
              li_ztruck-ZZPHYTRK = i_final-ZZPHYTRK.
              LI_ZTRUCK-ZZRUN = I_FINAL-ZZRUN.
              append li_ztruck.
              CLEAR LI_ZTRUCK.
            endif.
        TRUCK LOCATION DETAILS
            li_ZWM_TRK_LOC-zzphytrk = i_final-zzphytrk.
          Location Validation
          Parking Location Validation
            clear: wa_loc,
                   wa_text.
    Validation on Parked location
            clear: wa_loc,
                   wa_text.
            break sreddy.
            select single * from zwm_trk_text into wa_text
                                 where  zzploc = i_final-zzploc.
            if sy-subrc ne 0.
              select single * from zwm_trk_text into wa_text
                                   where zztext = i_final-zzploc.
            else.
              move wa_text-zztext to i_final-zzploc.
            endif.
            modify i_final.
    Validation on Returned Location
           select single * from zwm_trk_text into wa_text
                                where  zzploc = i_final-zzploc.
           if sy-subrc ne 0.
             select single * from zwm_trk_text into wa_text
                                  where  zztext = i_final-zzploc.
             if sy-subrc ne 0.
               message e091 with i_final-zzphytrk.
             endif.
           else.
             if i_final-zzploc = 'RR' or i_final-zzploc = 'rr'.
               i_final-zzploc = 'Rail Road Parking'.
             elseif i_final-zzploc = 'UTB' or i_final-zzploc = 'utb'.
               i_final-zzploc = 'Up The Block'.
             elseif i_final-zzploc = 'PL' or i_final-zzploc = 'pl'.
               i_final-zzploc = 'Apple Building'.
             elseif i_final-zzploc = 'SH' or i_final-zzploc = 'sh'.
               i_final-zzploc = 'Shipping Yard'.
             elseif i_final-zzploc = 'BO' or i_final-zzploc = 'bo'.
               i_final-zzploc = 'Borden Ave'.
             elseif i_final-zzploc = '23' .
               i_final-zzploc = '23rd Street'.
             elseif i_final-zzploc = 'SW' or i_final-zzploc = 'sw'.
               i_final-zzploc = 'Side Walk'.
             else.
               message e091 with i_final-zzphytrk.
             endif.
             li_ZWM_TRK_LOC-zzploc =  i_final-zzploc.
             li_ZWM_TRK_LOC-zzrloc =  i_final-zzrloc.
             append li_ZWM_TRK_LOC.
             clear li_ZWM_TRK_LOC.
           endif.
          endloop.
          modify ztruck from table li_ztruck.
          modify ZWM_TRK_LOC from table li_ZWM_TRK_LOC.
        when 'ENT1'.
          loop at i_final.
         Validate the Physical Truck #
            select single zzphytrk from ZPHYSICAL_TRUCK into lv_zzphytrk
                                   where zzphytrk = i_final-zzphytrk
                                   and   werks = p_werks
                                   and   lgnum = '100'.
            if sy-subrc ne 0.
              MESSAGE E090 WITH i_final-zzphytrk.
            else.
              li_ztruck-werks = p_werks.
              li_ztruck-vdatu = p_vdatu.
              li_ztruck-zztrkno = i_final-zztrkno.
              li_ztruck-ZZPHYTRK = i_final-ZZPHYTRK.
              LI_ZTRUCK-ZZRUN = I_FINAL-ZZRUN.
              append li_ztruck.
              CLEAR LI_ZTRUCK.
            endif.
        TRUCK LOCATION DETAILS
            li_ZWM_TRK_LOC-zzphytrk = i_final-zzphytrk.
            if i_final-zzploc = 'RR' or i_final-zzploc = 'rr'.
              i_final-zzploc = 'Rail Road Parking'.
            elseif i_final-zzploc = 'UTB' or i_final-zzploc = 'utb'.
              i_final-zzploc = 'Up The Block'.
            elseif i_final-zzploc = 'PL' or i_final-zzploc = 'pl'.
              i_final-zzploc = 'Apple Building'.
            elseif i_final-zzploc = 'SH' or i_final-zzploc = 'sh'.
              i_final-zzploc = 'Shipping Yard'.
            elseif i_final-zzploc = 'BO' or i_final-zzploc = 'bo'.
              i_final-zzploc = 'Borden Ave'.
            elseif i_final-zzploc = '23' .
              i_final-zzploc = '23rd Street'.
            elseif i_final-zzploc = 'SW' or i_final-zzploc = 'sw'.
              i_final-zzploc = 'Side Walk'.
            else.
              message e091 with i_final-zzphytrk.
            endif.
            li_ZWM_TRK_LOC-zzploc =  i_final-zzploc.
            li_ZWM_TRK_LOC-zzrloc =  i_final-zzrloc.
            append li_ZWM_TRK_LOC.
            clear li_ZWM_TRK_LOC.
          endloop.
      ENDCASE.
    ENDFORM.
    Reward Points if it is helpful
    Thanks
    Seshu

  • REUSE _ ALV _ COMMENTRY _ WRITE

    hi all ,
    I want to display logo in my report using FM ' REUSE _ ALV _ COMMENTRY _ WRITE '. what is the transaction code for uploading this logo so that I can use it in the FM. I have tried SE78  but logo is not getting displayed.
    Thanks ,
    Sushant Singh

    Hi
    hi Refer
    <b>http://sapfans.com/forums/viewtopic.php?t=35498&highlight=logo+report&sid=427c40184627df2072190b9d75d87117</b>
    Use FM 'REUSE_ALV_COMMENTARY_WRITE'
    Regards,
    Sree

  • ALV block similar to FAGLL03

    Hi,
    I'm trying to create a report similar to transaction FAGLL03. I expect it to be related to ALV blocks, but I'm not sure of the following:
    1. how would you create the text above the ALV's
    2. how would you create ALV blocks depending on the user's input on the selection screen (i.e. to see 5 different GL accounts, 5 ALV blocks are created).
    Thanks,
    HL

    To put multiple ALVs on one screen, you can use multiple splitter containers in your custom control.
    On the top container you can use fm REUSE_ALV_COMMENTARY_WRITE to create the text.
    You can go to the reuse library and look for examples of this.
    Rob
    Edited by: Rob Burbank on Dec 16, 2010 5:07 PM

  • Showing header for ALV tree

    Hi Friends,
    I want to show header for ALV tree.
    Can anybody help me?
    Thanks,
    Rohit

    Hi,
    Go through this code sample:
    U  should give form name in i_callback_top_of_page pararameter of function:
    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_html_end_of_list = 'END_OF_LIST_HTML'
    i_grid_title = outtext
    is_layout = gd_layout
    it_fieldcat = fieldcatalog[]
    and create a form like this :
    wa_header-typ = 'S'.
    wa_header-key = 'Report '.
    Concatenate sy-repid 'Date : '
    v_date into wa_header-info
    SEPARATED BY CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
    wa_header-info = sy-repid.
    append wa_header to t_header.
    clear wa_header.
    wa_header-typ = 'S'.
    wa_header-key = 'Report Des '.
    wa_header-info = 'ABAP Report templet'.
    append wa_header to t_header.
    clear wa_header.
    wa_header-typ = 'S'.
    wa_header-key = 'SYS ID : '.
    wa_header-info = sy-sysid.
    append wa_header to t_header.
    clear wa_header.
    wa_header-typ = 'S'.
    wa_header-key = 'Client '.
    wa_header-info = sy-mandt.
    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.
    wa_header-typ = 'S'.
    wa_header-key = 'Run Time '.
    CONCATENATE sy-uzeit(2) '.'
    sy-uzeit+4(2) '.'
    sy-uzeit+2(2) INTO wa_header-info.
    append wa_header to t_header.
    clear wa_header.
    wa_header-typ = 'S'.
    wa_header-key = 'User ID '.
    wa_header-info = sy-uname.
    append wa_header to t_header.
    clear wa_header.
    Total No. of Records Selected
    describe table it_marav 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 = 'logo.gif'.
    endform. "top-of-page
    note : this is populated using FM REUSE_ALV_COMMENTARY_WRITE.
    Hope this will he;lp u.
    Jogdand M B

  • ALV with header value display.

    Contract Account     100000000002
    Payment Type:     DDWA-M     DDWA Monthly
    Contract Data
    Contract Number     Division     Start Date     PAA Amount     Currency     Freq.     End Date     Payment Date     Change RSN
    10000011     01     01.12.2008     45     GBP     M     31.12.9999     15.12.2008     
    10000012     01     01.12.2008     40     GBP     M     31.12.9999     15.12.2008     
    10000013     02     01.12.2008     39     GBP     M     31.12.9999     15.12.2008     
         Total     124     
    I need to create an ALV which has the above type of structure wtih some editable fields.
    I am using OOP to do the same. however, how do i display the header part marked in bold along with the ALV without designing the screen accordingly. is there a way in which i can put such headers along with the ALV?

    Hi,
    try using FM REUSE_ALV_COMMENTARY_WRITE and pass the value in IT_LIST_COMMENTARY as Header = 'H'.
    double click on SLIS_T_LISTHEADER and see the spool slis ..
    i hope u will understand the values to be passed to the header area..
    if the issue still persist , pls let me know..
    thanks

  • Trying to add header using REUSE_ALV_COMMENTARY_WRITE', it is showing blank

    Hi,
    I am trying to add header to my ALV grid report using the FM REUSE_ALV_COMMENTARY_WRITE'
    It is displaying a blank window.
    My code is
    *& Report  YGTSPRODUCT
    *& Author : Krishna Chaitanya Nandimandalam
    *& Desc :   Display Products by Product Characteristics
    REPORT  YGTSPRODUCT.
    *& Structure declarations
    type-pools : slis.
    TYPES  : BEGIN OF TY_CTSNUMC,
             GUID_CTSNUMC TYPE /SAPSLL/CTSNUMC-GUID_CTSNUMC, "Primary Key as GUID in "RAW" Format
             GUID_MOBJ    TYPE /SAPSLL/CTSNUMC-GUID_MOBJ,    "Primary Key as GUID in "RAW" Format
             STCTS        TYPE /SAPSLL/CTSNUMC-STCTS,        "Numbering Scheme for Customs Tariff System
             CCNGN        TYPE /SAPSLL/CTSNUMC-CCNGN,        "Number (Generic/Structured)
             CRTSP        TYPE /SAPSLL/PRGEN-CRTSP,         "UTC Time Stamp When Object Was Added
             CHTSP        TYPE /SAPSLL/PRGEN-CHTSP,          "UTC Time Stamp When Object Was Changed
           END OF TY_CTSNUMC.
    TEST --CREATING ANOTHER STUCTURE TO GET THE COMMON FIELD FOR GUID_PR
    TYPES : BEGIN OF TY_PRCTSC,
            GUID_PRCTSC  TYPE /SAPSLL/PRCTSC-GUID_PRCTSC,   "Primary Key as GUID in "RAW" Format
            GUID_PR      TYPE /SAPSLL/PRCTSC-GUID_PR,  "Primary Key as GUID in "RAW" Format
            STCTS        TYPE /SAPSLL/PRCTSC-STCTS,   "Numbering Scheme for Customs Tariff System
            GUID_CTSNUMC TYPE /SAPSLL/PRCTSC-GUID_CTSNUMC, "Primary Key as GUID in "RAW" Format
            END OF TY_PRCTSC.
    TYPES : BEGIN OF TY_PRGEN,
          GUID_PRGEN TYPE  /SAPSLL/PRGEN-GUID_PRGEN, "Primary Key as GUID in "RAW" Format
          GUID_PR    TYPE  /SAPSLL/PR-GUID_PR,       "Primary Key as GUID in "RAW" Format
          ATTR20A    TYPE  /SAPSLL/PRGEN-ATTR20A,    "Substance ID
          ATTR05A    TYPE  /SAPSLL/PRGEN-ATTR05A,    "Materail Type
          ATTR10A    TYPE  /SAPSLL/PRGEN-ATTR10A,    "Materail Group
          ATTR05B    TYPE  /SAPSLL/PRGEN-ATTR05B,    "Sub-Family
           END OF TY_PRGEN.
    TYPES : BEGIN OF TY_PNTPR,
           GUID_PR TYPE /SAPSLL/PR-GUID_PR,
           PRVSY TYPE /SAPSLL/PNTPR-PRVSY,   "R3 MATERIAL NUMBER
           GRVSY TYPE /SAPSLL/PNTPR-GRVSY,   "LOGICAL SYSTEM GROUP
           END OF TY_PNTPR.
    *TYPES : D_PSUI TYPE /SAPSLL/PRODUCT_SELECT_UI_S-QUAL_STA.  "PRODUCT STATUS
    *TYPES : BEGIN OF D_CORSTA,
           GUID_MOBJ TYPE /SAPSLL/CORSTA-GUID_MOBJ,
           QUAL_STA TYPE /SAPSLL/CORSTA-QUAL_STA,
           CHTSP TYPE /SAPSLL/CORSTA-CHTSP,
           END OF D_CORSTA.
    >PRODUCT STAUS
    *DATA  : BEGIN OF T_CORSTA OCCURS 0,
           GUID_MOBJ TYPE /SAPSLL/CORSTA-GUID_MOBJ,
           QUAL_STA TYPE /SAPSLL/CORSTA-QUAL_STA,
           END OF T_CORSTA.
    TYPES : BEGIN OF TY_PR,
            GUID_PR TYPE /SAPSLL/PR-GUID_PR,  "Primary Key as GUID in "RAW" Format
            CRTSP   TYPE /SAPSLL/PR-CRTSP, "PRODUCT CREATED ON
            CHTSP   TYPE /SAPSLL/PR-CHTSP, "PRODUCT CHANGED ON
            END OF TY_PR.
    TYPES : BEGIN OF TY_PRT,
           GUID_PR TYPE /SAPSLL/PRT-GUID_PR, "Primary Key as GUID in "RAW" Format
           PRTXT   TYPE /SAPSLL/PRT-PRTXT,    "Materail description
            END OF TY_PRT.
    TYPES : BEGIN OF TY_FINAL,
    *T_PRCTSC
             GUID_PRCTSC  TYPE /SAPSLL/PRCTSC-GUID_PRCTSC,   "Primary Key as GUID in "RAW" Format
             GUID_PR      TYPE /SAPSLL/PRCTSC-GUID_PR,  "Primary Key as GUID in "RAW" Format
             STCTS        TYPE /SAPSLL/PRCTSC-STCTS,   "Numbering Scheme for Customs Tariff System
             GUID_CTSNUMC TYPE /SAPSLL/PRCTSC-GUID_CTSNUMC, "Primary Key as GUID in "RAW" Format
    *T_CTSNUMC
            GUID_CTSNUMC TYPE /SAPSLL/CTSNUMC-GUID_CTSNUMC, "Primary Key as GUID in "RAW" Format
             GUID_MOBJ    TYPE /SAPSLL/CTSNUMC-GUID_MOBJ,    "Primary Key as GUID in "RAW" Format
            STCTS        TYPE /SAPSLL/CTSNUMC-STCTS,        "Numbering Scheme for Customs Tariff System
             CCNGN        TYPE /SAPSLL/CTSNUMC-CCNGN,        "Number (Generic/Structured)
            CRTSP        TYPE /SAPSLL/PRGEN-CRTSP,         "UTC Time Stamp When Object Was Added
            CHTSP        TYPE /SAPSLL/PRGEN-CHTSP,          "UTC Time Stamp When Object Was Changed
    *T_PRGEN
             GUID_PRGEN TYPE  /SAPSLL/PRGEN-GUID_PRGEN, "Primary Key as GUID in "RAW" Format
            GUID_PR    TYPE  /SAPSLL/PR-GUID_PR,       "Primary Key as GUID in "RAW" Format
             ATTR20A    TYPE  /SAPSLL/PRGEN-ATTR20A,    "Substance ID
             ATTR05A    TYPE  /SAPSLL/PRGEN-ATTR05A,    "Materail Type
             ATTR10A    TYPE  /SAPSLL/PRGEN-ATTR10A,    "Materail Group
             ATTR05B    TYPE  /SAPSLL/PRGEN-ATTR05B,    "Sub-Family
    *T_PNTPR
            GUID_PR    TYPE /SAPSLL/PR-GUID_PR,  "Primary Key as GUID in "RAW" Format
             PRVSY      TYPE /SAPSLL/PNTPR-PRVSY,   "R3 MATERIAL NUMBER
             GRVSY      TYPE /SAPSLL/PNTPR-GRVSY,   "LOGICAL SYSTEM GROUP
    T_PR
           GUID_PR TYPE /SAPSLL/PR-GUID_PR,  "Primary Key as GUID in "RAW" Format
            CRTSP   TYPE /SAPSLL/PR-CRTSP, "PRODUCT CREATED ON
            CHTSP   TYPE /SAPSLL/PR-CHTSP, "PRODUCT CHANGED ON
    *T_PRT
            GUID_PR TYPE /SAPSLL/PRT-GUID_PR, "Primary Key as GUID in "RAW" Format
             PRTXT   TYPE /SAPSLL/PRT-PRTXT,    "Materail description
            END OF TY_FINAL.
    *& INTERNAL TABLE AND WORK AREA DECLARATIONS
    DATA :
          T_CTSNUMC TYPE STANDARD TABLE OF TY_CTSNUMC INITIAL SIZE 0,
          T_PRCTSC   TYPE STANDARD TABLE OF TY_PRCTSC INITIAL SIZE 0, "TEST INCLUDED NEW STRUCTURE TO GET GUID_PR
          T_PRGEN TYPE STANDARD TABLE OF TY_PRGEN INITIAL SIZE 0,
          T_PNTPR TYPE STANDARD TABLE OF TY_PNTPR INITIAL SIZE 0,
          T_PR TYPE STANDARD TABLE OF TY_PR INITIAL SIZE 0,
          T_PRT TYPE STANDARD TABLE OF TY_PRT INITIAL SIZE 0,
         T_CORSTA TYPE STANDARD TABLE OF D_CORSTA INITIAL SIZE 0,
          T_FINAL TYPE STANDARD TABLE OF TY_FINAL INITIAL SIZE 0.
    DATA :
           WA_CTSNUMC TYPE TY_CTSNUMC,
           WA_PRCTSC   TYPE TY_PRCTSC,   "TEST INCLUDED NEW STRUCTURE TO GET GUID_PR
           WA_PRGEN   TYPE TY_PRGEN,
           WA_PNTPR  TYPE TY_PNTPR,
           WA_PR TYPE TY_PR,
           WA_PRT TYPE TY_PRT,
          WA_CORSTA TYPE D_CORSTA,
           WA_FINAL TYPE TY_FINAL.
    *& ALV DATA DECLARATIONS
    DATA : lt_fieldcat TYPE slis_t_fieldcat_alv,
           lw_fieldcat LIKE LINE OF lt_fieldcat,
           lt_fieldcat1 TYPE slis_t_fieldcat_alv,
           lw_fieldcat1 LIKE LINE OF lt_fieldcat,
           lt_listheader TYPE slis_t_listheader,
           lw_listheader LIKE LINE OF lt_listheader,       lt_events TYPE slis_t_event,
           lw_events LIKE LINE OF lt_events.
    *& DATA DECLARATIONS FOR SELECTION SCREEN
    DATA : G_STCTS   TYPE /SAPSLL/CTSNUMC-STCTS, "NUMBER SCHEME
           G_ATTR20A TYPE /SAPSLL/PRGEN-ATTR20A, "SUBSTANCE ID
           G_PRVSY   TYPE /SAPSLL/PNTPR-PRVSY,   "R3 MATERIAL NUMBER
           G_GRVSY   TYPE /SAPSLL/PNTPR-GRVSY,   "LOGICAL SYS GROUP
         G_QSTA    TYPE /SAPSLL/PRODUCT_SELECT_UI_S-QUAL_STA, "PRODUCT STATUS
           G_CORSTA  TYPE /SAPSLL/CORSTA-QUAL_STA,  "PRODUCT STATUS
           G_CRTSP   TYPE /SAPSLL/PR-CRTSP,      "PRODUCT CREATED ON
           G_CHSTP   TYPE /SAPSLL/PR-CHTSP.      "PRODUCT CHANGED ON
    *& SELECTION-SCREEN DECLARATIONS
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS : S_STCTS FOR G_STCTS OBLIGATORY,      "NUMBER SCHEME
                     S_AT20A FOR G_ATTR20A,    "SUBSTANCE ID
                     S_PRVSY FOR G_PRVSY,      "R3 MATERIAL NUMBER
                     S_GRVSY FOR G_GRVSY,      "LOGICAL SYS GROUP
                    S_QSTA FOR G_QSTA,        "PRODUCT STATUS
                     S_CORSTA FOR G_CORSTA,    "PRODUCT STATUS
                     S_CRTSP FOR G_CRTSP,      "PRODUCT CREATED ON
                     S_CHSTP FOR G_CHSTP.      "PRODUCT CHANGED ON
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME. " TITLE. " TEXT-002.
    PARAMETERS : BOTH  RADIOBUTTON GROUP RG1,
                 EXICLASS RADIOBUTTON GROUP RG1.
    SELECTION-SCREEN END OF BLOCK B2.
    *& INITIALIZATION
    INITIALIZATION .
      CLEAR : WA_CTSNUMC,
              WA_PRCTSC,
              WA_PRGEN,
              WA_PNTPR,
              WA_PR,
              WA_PRT,
              WA_FINAL.
      REFRESH : T_CTSNUMC,
                T_PRCTSC,
                T_PRGEN,
                T_PNTPR,
                T_PR,
                T_PRT,
                T_FINAL.
    *&      START OF SELECTION
    START-OF-SELECTION.
      LW_EVENTS-NAME = 'TOP_OF_PAGE' .
      LW_EVENTS-FORM = 'SUB' .
      APPEND LW_EVENTS TO LT_EVENTS .  PERFORM LIST_HEADER.
    IF BOTH EQ 'X'.
      PERFORM VALIDATE_NSCHEME.
      PERFORM GET_DATA.
      PERFORM BUILD_FIELDCAT.
      PERFORM LIST_HEADER.
    PERFORM f_events CHANGING lt_events.
      PERFORM DISP_ALV_DATA.
    ENDIF.
    *&      Form  VALIDATE_NSCHEME
    *&            VALIDATE NUMBER SCHEME
    FORM VALIDATE_NSCHEME .
      DATA : L_STCTS TYPE /SAPSLL/CTSNUMC-STCTS.
      SELECT SINGLE STCTS FROM /SAPSLL/CTSNUMC INTO L_STCTS
            WHERE STCTS IN S_STCTS .
      IF SY-SUBRC <> 0.
        MESSAGE 'Invalid Numbering Scheme for Customs Tariff System'
               TYPE 'E'.
      ENDIF .
    ENDFORM.                    " VALIDATE_NSCHEME
    *&      Form  GET_DATA
         GET DATA INTO FINAL TABLE
    FORM GET_DATA .
      SELECT GUID_CTSNUMC "Primary Key as GUID in "RAW" Format
             GUID_MOBJ    "Primary Key of Main Object
             STCTS        "Numbering Scheme for Customs Tariff System
             CCNGN        "Number (Generic/Structured)
             CRTSP        "UTC Time Stamp When Object Was Added
             CHTSP        "UTC Time Stamp When Object Was Changed
             FROM /SAPSLL/CTSNUMC
             INTO TABLE T_CTSNUMC
             WHERE STCTS IN S_STCTS.
    *DELETE ADJACENT DUPLICATES FROM T_CTSNUMC COMPARING GUID_CTSNUMC.
      IF T_CTSNUMC IS NOT INITIAL.
    GET GUID_PR FOR THE CORRESPONDING GUID_CTSNUMC
        SELECT GUID_PRCTSC  "Primary Key as GUID in "RAW" Format
               GUID_PR      "Primary Key as GUID in "RAW" Format
               STCTS        "Numbering Scheme for Customs Tariff System
               GUID_CTSNUMC "Primary Key as GUID in "RAW" Format
               FROM /SAPSLL/PRCTSC
               INTO TABLE T_PRCTSC
               for all entries in t_ctsnumc
               WHERE GUID_CTSNUMC EQ T_CTSNUMC-GUID_CTSNUMC.
    IF T_PRCTSC IS NOT INITIAL.
    GET FIELDS FROM PRGEN BASED ON THE GUID_PR
        SELECT GUID_PRGEN "Primary Key as GUID in "RAW" Format
               GUID_PR    "Primary Key as GUID in "RAW" Format
               ATTR20A    "SUBSTANCE ID
               ATTR05A    "Materail Type
               ATTR10A    "Materail Group
               ATTR05B    "Sub-Family
               FROM /SAPSLL/PRGEN
               INTO TABLE T_PRGEN
               FOR ALL ENTRIES IN T_PRCTSC
               WHERE GUID_PR EQ T_PRCTSC-GUID_PR.
    DELETE ADJACENT DUPLICATES FROM T_PRGEN COMPARING GUID_PR.
    GET FIELDS FROM PNTPR BASED ON THE GUID_PR
        SELECT GUID_PR    "Primary Key as GUID in "RAW" Format
               PRVSY      "R3 MATERIAL NUMBER
               GRVSY      "LOGICAL SYSTEM GROUP
               FROM /SAPSLL/PNTPR
               INTO TABLE T_PNTPR
               FOR ALL ENTRIES IN T_PRCTSC
               WHERE GUID_PR EQ T_PRCTSC-GUID_PR.
    *DELETE ADJACENT DUPLICATES FROM T_PRGEN COMPARING GUID_PR.
    GET CORSTA-QUAL_STA FOR STATUS CATEGORY BESED ON THE T_CTSNUMC-GUID_MOBJ
    *SELECT GUID_MOBJ
          QUAL_STA
          FROM /SAPSLL/CORSTA
          INTO TABLE T_CORSTA
          FOR ALL ENTRIES IN T_CTSNUMC
          WHERE GUID_MOBJ EQ T_CTSNUMC-GUID_MOBJ.
    MISSING FIELD >>>>>>>PRODUCT STATUS
    GET CRSTP CHSTP FROM PR BASED ON GUID_PR
        SELECT GUID_PR   "Primary Key as GUID in "RAW" Format
               CRTSP     "PRODUCT CREATED ON
               CHTSP     "PRODUCT CHANGED ON
               FROM /SAPSLL/PR
               INTO TABLE T_PR
               FOR ALL ENTRIES IN T_PRCTSC
               WHERE GUID_PR EQ T_PRCTSC-GUID_PR.
    *DELETE ADJACENT DUPLICATES FROM T_PR COMPARING GUID_PR.
    GET PRTXT FROM PRT BASED ON GUID_PR
        SELECT GUID_PR "Primary Key as GUID in "RAW" Format
               PRTXT   "MATERIAL DESCRIPTION
               FROM /SAPSLL/PRT
               INTO TABLE T_PRT
               FOR ALL ENTRIES IN T_PRCTSC
               WHERE GUID_PR EQ T_PRCTSC-GUID_PR.
    *DELETE ADJACENT DUPLICATES FROM T_PRT COMPARING GUID_PR.
       ENDIF.
      ENDIF.
    FILLING DATA INTO T_FINAL
    REFRESH T_FINAL.
        LOOP AT T_PRCTSC INTO WA_PRCTSC.
          WA_FINAL-GUID_PRCTSC  = WA_PRCTSC-GUID_PRCTSC.
          WA_FINAL-GUID_PR      = WA_PRCTSC-GUID_PR.
          WA_FINAL-STCTS        = WA_PRCTSC-STCTS.
          WA_FINAL-GUID_CTSNUMC = WA_PRCTSC-GUID_CTSNUMC.
    READ TABLE T_CTSNUMC INTO WA_CTSNUMC WITH KEY GUID_CTSNUMC = WA_PRCTSC-GUID_CTSNUMC.
    IF SY-SUBRC = 0.
       WA_FINAL-GUID_CTSNUMC = WA_CTSNUMC-GUID_CTSNUMC.
         WA_FINAL-GUID_MOBJ    = WA_CTSNUMC-GUID_MOBJ.
       WA_FINAL-STCTS        = WA_CTSNUMC-STCTS.
         WA_FINAL-CCNGN        = WA_CTSNUMC-CCNGN.
       WA_FINAL-CRTSP        = WA_CTSNUMC-CRTSP.
       WA_FINAL-CHTSP        = WA_CTSNUMC-CHTSP.
    ENDIF.
        READ TABLE T_PRGEN INTO WA_PRGEN WITH KEY GUID_PR = WA_PRCTSC-GUID_PR.
        IF SY-SUBRC = 0.
          WA_FINAL-GUID_PRGEN = WA_PRGEN-GUID_PRGEN.
          WA_FINAL-GUID_PR    = WA_PRGEN-GUID_PR.
          WA_FINAL-ATTR20A    = WA_PRGEN-ATTR20A.
          WA_FINAL-ATTR05A    = WA_PRGEN-ATTR05A.
          WA_FINAL-ATTR10A    = WA_PRGEN-ATTR10A.
          WA_FINAL-ATTR05B    = WA_PRGEN-ATTR05B.
        ENDIF.
        READ TABLE T_PNTPR INTO WA_PNTPR WITH KEY GUID_PR = WA_PRCTSC-GUID_PR.
        IF SY-SUBRC = 0.
         WA_FINAL-GUID_PR    = WA_PNTPR-GUID_PR.
          WA_FINAL-PRVSY      = WA_PNTPR-PRVSY.
          WA_FINAL-GRVSY      = WA_PNTPR-GRVSY.
        ENDIF.
        READ TABLE T_PR INTO WA_PR WITH KEY GUID_PR = WA_PRCTSC-GUID_PR.
        IF SY-SUBRC = 0.
         WA_FINAL-GUID_PR = WA_PR-GUID_PR.
          WA_FINAL-CRTSP   = WA_PR-CRTSP.
          WA_FINAL-CHTSP   = WA_PR-CHTSP.
        ENDIF.
        READ TABLE T_PRT INTO WA_PRT WITH KEY GUID_PR = WA_PRCTSC-GUID_PR.
        IF SY-SUBRC = 0.
         WA_FINAL-GUID_PR = WA_PRT-GUID_PR.
          WA_FINAL-PRTXT   = WA_PRT-PRTXT.
        ENDIF.
        APPEND WA_FINAL TO T_FINAL.
       DELETE ADJACENT DUPLICATES FROM T_FINAL COMPARING ATTR20A.
        CLEAR WA_FINAL.
      ENDLOOP.
    ENDFORM.                    " GET_D
    *&      Form  BUILD_FIELDCAT
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_FIELDCAT .
    REFRESH LT_FIELDCAT.
      lw_fieldcat-col_pos = 1.
      lw_fieldcat-tabname = 'T_FINAL'.
      lw_fieldcat-fieldname = 'ATTR20A'.
      lw_fieldcat-seltext_m = 'SUBSTANCE ID'.
      lw_fieldcat-outputlen = '15'.
      lw_fieldcat-FIX_COLUMN = 'X'.
    lw_fieldcat-KEY = 'X'.
      APPEND lw_fieldcat TO lt_fieldcat.
      lw_fieldcat-col_pos = 2.
      lw_fieldcat-tabname = 'T_FINAL'.
      lw_fieldcat-fieldname = 'PRVSY'.
      lw_fieldcat-seltext_m = 'R3 MAT NBR'.
      lw_fieldcat-outputlen = '14'.
      lw_fieldcat-FIX_COLUMN = 'X'.
      APPEND lw_fieldcat TO lt_fieldcat.
      lw_fieldcat-col_pos = 3.
      lw_fieldcat-tabname = 'T_FINAL'.
      lw_fieldcat-fieldname = 'PRTXT'.
      lw_fieldcat-seltext_m = 'MAT DESCRIPTION'.
      lw_fieldcat-outputlen = '19'.
      APPEND lw_fieldcat TO lt_fieldcat.
      lw_fieldcat-col_pos = 4.
      lw_fieldcat-tabname = 'T_FINAL'.
      lw_fieldcat-fieldname = 'GRVSY'.
      lw_fieldcat-seltext_m = 'LOGICAL SYS GRP'.
      lw_fieldcat-outputlen = '21'.
      APPEND lw_fieldcat TO lt_fieldcat.
    lw_fieldcat-col_pos = 5.
    lw_fieldcat-tabname = 'T_FINAL'.
    lw_fieldcat-fieldname = 'QUAL_STA'.
    lw_fieldcat-seltext_m = 'PRODUCT STATUS'.
      lw_fieldcat-outputlen = 'x'.
    APPEND lw_fieldcat TO lt_fieldcat.
      lw_fieldcat-col_pos = 6.
      lw_fieldcat-tabname = 'T_FINAL'.
      lw_fieldcat-fieldname = 'CRTSP'.
      lw_fieldcat-seltext_m = 'PRODUCT CREATED ON'.
      lw_fieldcat-outputlen = '21'.
      APPEND lw_fieldcat TO lt_fieldcat.
      lw_fieldcat-col_pos = 7.
      lw_fieldcat-tabname = 'T_FINAL'.
      lw_fieldcat-fieldname = 'CHTSP'.
      lw_fieldcat-seltext_m = 'PRODUCT CHANGED ON'.
      lw_fieldcat-outputlen = '21'.
      APPEND lw_fieldcat TO lt_fieldcat.
      lw_fieldcat-col_pos = 8.
      lw_fieldcat-tabname = 'T_FINAL'.
      lw_fieldcat-fieldname = 'ATTR05A'.
      lw_fieldcat-seltext_m = 'MATERIAL TYPE'.
      lw_fieldcat-outputlen = '18'.
      APPEND lw_fieldcat TO lt_fieldcat.
      lw_fieldcat-col_pos = 9.
      lw_fieldcat-tabname = 'T_FINAL'.
      lw_fieldcat-fieldname = 'ATTR10A'.
      lw_fieldcat-seltext_m = 'MATERIAL GRP'.
      lw_fieldcat-outputlen = '18'.
      APPEND lw_fieldcat TO lt_fieldcat.
      lw_fieldcat-col_pos = 10.
      lw_fieldcat-tabname = 'T_FINAL'.
      lw_fieldcat-fieldname = 'ATTR05B'.
      lw_fieldcat-seltext_m = 'SUB-FAMILY'.
      lw_fieldcat-outputlen = '18'.
      APPEND lw_fieldcat TO lt_fieldcat.
    lw_fieldcat-col_pos = 11.
    lw_fieldcat-tabname = 'T_FINAL'.
    lw_fieldcat-fieldname = 'CCNGN'.
    lw_fieldcat-seltext_m = 'SUBID CLASSIFICATION'.
    APPEND lw_fieldcat TO lt_fieldcat.
    lw_fieldcat-col_pos = 12.
    lw_fieldcat-tabname = 'T_FINAL'.
    lw_fieldcat-fieldname = 'CCNGN'.
    lw_fieldcat-seltext_m = 'SUBID CLASSIFICATION'.
    APPEND lw_fieldcat TO lt_fieldcat.
    lw_fieldcat-col_pos = 13.
    lw_fieldcat-tabname = 'T_FINAL'.
    lw_fieldcat-fieldname = 'CCNGN'.
    lw_fieldcat-seltext_m = 'SUBID CLASSIFICATION'.
    APPEND lw_fieldcat TO lt_fieldcat.
    CLEAR LW_FIELDCAT.
    ENDFORM.                    " BUILD_FIELDCAT
    *&      Form  LIST_HEADER
          text
    -->  p1        text
    <--  p2        text
    FORM LIST_HEADER .
    DATA :  LT_LISTHEADER TYPE slis_t_listheader,
            LW_LISTHEADER LIKE LINE OF lt_listheader.
      LW_LISTHEADER-TYP = 'H'.
      LW_LISTHEADER-INFO = 'DISPLAY PRODUCTS BY PRODUCT CHARACTERISTIC'.
      APPEND LW_LISTHEADER TO LT_LISTHEADER.
      LW_LISTHEADER-TYP = 'S' .
      LW_LISTHEADER-KEY = 'TIME' .
      LW_LISTHEADER-INFO = SY-UZEIT .
      APPEND LW_LISTHEADER TO LT_LISTHEADER.
      LW_LISTHEADER-TYP = 'S' .
      LW_LISTHEADER-KEY = 'DATE' .
      LW_LISTHEADER-INFO = SY-DATUM .
      APPEND LW_LISTHEADER TO LT_LISTHEADER.
      LW_LISTHEADER-TYP = 'S' .
      LW_LISTHEADER-KEY = 'CLIENT' .
      LW_LISTHEADER-INFO = SY-MANDT .
      APPEND LW_LISTHEADER TO LT_LISTHEADER.
    ENDFORM.                    " LIST_HEADER
    *&      Form  DISP_ALV_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM DISP_ALV_DATA .
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_BUFFER_ACTIVE                   = ' '
        I_CALLBACK_PROGRAM                = 'I_REPID'
      I_CALLBACK_TOP_OF_PAGE            = 'TOP-OF-PAGE1'
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
       I_GRID_TITLE                      = 'GTS Substance- Product Classification Report'.
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
        IT_FIELDCAT                       = LT_FIELDCAT
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
        IT_EVENTS                         = LT_EVENTS
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
      TABLES
        T_OUTTAB                          = T_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.                    " DISP_ALV_DATA
    FORM SUB.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
      EXPORTING
        IT_LIST_COMMENTARY       = LT_LISTHEADER.
      I_LOGO                   =*
      I_END_OF_LIST_GRID       =*
      I_ALV_FORM               =*
    ENDFORM.
    Any suggestions and help will be appreciated!
    Regards,
    Kittu

    Hi Ram,
    When I had put a Break point on the FM Reuse_alv_grid_display
    The parameter IT_EVENTS is not getting populated and it is not calling the FORM SUB.
    But LT_EVENTS is holding the data 'TOP_OF_PAGE' and the form name as SUB.
    FORM DISP_ALV_DATA .
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_BUFFER_ACTIVE                   = ' '
        I_CALLBACK_PROGRAM                = 'I_REPID'
      I_CALLBACK_TOP_OF_PAGE            = 'TOP-OF-PAGE1'
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
       I_GRID_TITLE                      = 'GTS Substance- Product Classification Report'.
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
        IT_FIELDCAT                       = LT_FIELDCAT
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
        IT_EVENTS                         = LT_EVENTS
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
      TABLES
        T_OUTTAB                          = T_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.                    " DISP_ALV_DATA
    FORM SUB.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
      EXPORTING
        IT_LIST_COMMENTARY       = LT_LISTHEADER.
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
      I_ALV_FORM               =
    ENDFORM.
    Any suggestions will be apprectiated.
    Regards,
    Kittu

  • How to use this function call function 'REUSE_ALV_COMMENTARY_WRITE' in alv

    hi all
    thanks in advance
    how to use this function in alv programming
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    why use and what purpose use this function plz tell me details
    plz guide me
    thanks

    Hi
    see this exmaple code where i had inserted a LOGO by useing this FM
    *& Report  ZTEST_ALV_LOGO
    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

Maybe you are looking for

  • Why can I not open PDF files using adobe reader in firefox?

    When I try to read a PDF file with adobe reader the file looks like it starts to load, I see in the tool bar the page count but the file never opens.

  • Adobe Premiere Pro CS4 crashes on load with project

    When I try to load my CS4 projects the application crashes with the error: "Sorry, a serious error has occurred that requires Adobe Premiere Pro to shut down. We will attempt to save your current project." I have my hard drive partitioned: C drive fo

  • Can I purchase Apple Insurance for a used Boost Mobile iphone 5c from ebay?

    Hello! I'm interested in buying a used mint condition iPhone 5c for boost mobile on ebay. My only worry is that once I buy the phone I won't be able to protect it with insurance of any kind? Is there a way I can still have Apple insurance protect the

  • Adding 2nd monitor

    I am trying to hook up 2nd monitor to my desktop. It has 2 dvi plugs. I have dvi to vga adapters on both plugs . The top plug puts out signal to monitor but the bottom does not.  I swiched monitors to the plugs and still just the top plug will suppor

  • Duet With Logic Question

    I noticed watching the online video demo of the Duet that they say to turn Software Monitoring OFF in Logic. Does this mean Duet users are unable to record guitar direct with an amp simulator plug in? Confused.... thanks Tom