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

Dipslyaning Selection-screen values on ALV....

Former Member
0 Kudos
259

Hi,

Please guide on Displaying Input parameters (selection screen) on the top of ALV grid in the output.

Regards

Krishna

4 REPLIES 4

anversha_s
Active Contributor
0 Kudos
86

hi,

chk this. u will gt excellent idea.

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

Regards

Anver

*pls mark all hlpful answers

0 Kudos
86

Hi Anversha,

This i sdoing normal ALV,But i want oop's ALV in same thing.

regards,

krishna.

Former Member
0 Kudos
86

You can use TOP-OF-PAGE to display the details in the header of teh output.

Refer this code for OOPS ALV.


***********************************************************************

* Class definition :
***********************************************************************

*---------------------------------------------------------------------*
*       CLASS v_lcl_event_receiver DEFINITION
*---------------------------------------------------------------------*
CLASS v_lcl_event_receiver DEFINITION.

  PUBLIC SECTION.

    METHODS:

    handle_print_top_of_page FOR EVENT print_top_of_page OF
                                       cl_gui_alv_grid,

    handle_top_of_page FOR EVENT top_of_page OF
                                 cl_gui_alv_grid.

ENDCLASS.
*---------------------------------------------------------------------*
*       CLASS V_LCL_EVENT_RECEIVER IMPLEMENTATION
*---------------------------------------------------------------------*
CLASS v_lcl_event_receiver IMPLEMENTATION.

  METHOD handle_print_top_of_page.
    IF sy-pagno = 1.
        PERFORM top_of_page.
    ENDIF.
  ENDMETHOD.
  METHOD handle_top_of_page.
      PERFORM top_of_page.
  ENDMETHOD.

ENDCLASS.

DATA:        v_event_receiver      TYPE REF TO v_lcl_event_receiver.

FORM top_of_page.
  WRITE: text-020,
           / 

ENDFORM.                    " top_of_page


In PBo of the screen
   DATA: v_split            TYPE REF TO cl_gui_easy_splitter_container,
         v_contnr_top       TYPE REF TO cl_gui_container,
         v_contnr_bot       TYPE REF TO cl_gui_container,
         v_grid_02          TYPE REF TO cl_gui_alv_grid,
         v_html             TYPE REF TO cl_dd_document,
         v_text20(255)      TYPE c,
         v_text16(255)      TYPE c,

FORM f9000_objects_create.
  IF cl_gui_alv_grid=>offline( ) IS INITIAL.
Create a container
    CREATE OBJECT o_dockingcontainer
      EXPORTING
        ratio                       = '95'
      EXCEPTIONS
        cntl_error                  = 1
        cntl_system_error           = 2
        create_error                = 3
        lifetime_error              = 4
        lifetime_dynpro_dynpro_link = 5
        others                      = 6.
    IF sy-subrc NE 0.
      MESSAGE i000 WITH text-e01."Error in creating Docking container
      LEAVE LIST-PROCESSING.
    ENDIF.

    CREATE OBJECT v_split
         EXPORTING
           parent            = o_dockingcontainer
*          ORIENTATION       = 0
           sash_position     = 25
           with_border       = 0
         EXCEPTIONS
           cntl_error        = 1
           cntl_system_error = 2
           others            = 3.
    IF sy-subrc NE 0.
      MESSAGE i000 WITH text-e01."Error in creating Docking container
      LEAVE LIST-PROCESSING.
    ENDIF.
*   Get the containers of the splitter control
    v_contnr_top = v_split->top_left_container.
    v_contnr_bot = v_split->bottom_right_container.

    CREATE OBJECT o_alvgrid
   EXPORTING
     i_parent = o_dockingcontainer.

*   Create an instance of alv control
    CREATE OBJECT o_alvgrid
         EXPORTING i_parent = v_contnr_bot.

*   Object for display of selection parameters in HTML top container
    CREATE OBJECT v_html
         EXPORTING
           style = 'ALV_GRID'.


*   Must be after the SET HANDLER for TOP_OF_PAGE and foreground only
    CALL METHOD o_alvgrid->list_processing_events
                     EXPORTING i_event_name = 'TOP_OF_PAGE'
                               i_dyndoc_id  = v_html.

    v_text20 = text-020(summary Record counts)Any text.

    CALL METHOD v_html->add_gap
                EXPORTING
                  width         = 120.
    CALL METHOD v_html->add_text
           EXPORTING
             text          = v_text20.
    CALL METHOD v_html->new_line.
** Display Text-016
    v_text16 = text-016.

    CALL METHOD v_html->add_gap
                EXPORTING
                  width         = 1.
    CALL METHOD v_html->add_text
           EXPORTING
             text          = v_text16.

    v_text16 = v_sap_recon.
    CALL METHOD v_html->add_gap
                EXPORTING
                  width         = 1.
    CALL METHOD v_html->add_text
           EXPORTING
             text          = v_text16.
    CALL METHOD v_html->new_line.

* Display the data
    CALL METHOD v_html->display_document
      EXPORTING
         parent             = v_contnr_top.

*   Handle the event
    CALL METHOD o_alvgrid->list_processing_events
                        EXPORTING i_event_name = 'PRINT_TOP_OF_PAGE'.
 IN PBO while populating in the output table
FORM f9004_display_data TABLES   p_report_tab
                                 p_fieldcat.
  CALL METHOD o_alvgrid->set_table_for_first_display
    EXPORTING
       is_variant                    = w_variant
       i_save                        = c_a
       is_layout                     = w_layout
    CHANGING
       it_outtab                     = p_report_tab[]
       it_fieldcatalog               = p_fieldcat[]
    EXCEPTIONS
       invalid_parameter_combination = 1
       program_error                 = 2
       too_many_lines                = 3
       OTHERS                        = 4.

  IF sy-subrc <> 0.
    MESSAGE i000 WITH text-e06."Error in ALV report display
    LEAVE LIST-PROCESSING.
  ENDIF.

* Create object
  IF v_event_receiver IS INITIAL.
    CREATE OBJECT v_event_receiver.
  ENDIF.

  SET HANDLER v_event_receiver->handle_print_top_of_page FOR o_alvgrid.
  SET HANDLER v_event_receiver->handle_top_of_page FOR o_alvgrid.

Former Member
0 Kudos
86

Thanks for all