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

internal table - current line - alv - cl_gui_alv_grid - print_top_of_page

hi everyone !

I have report that use method cl_gui_alv_grid->set_table_for_first_display .

Now, when i print at event print_top_of_page i want to get the current line in the internal table.

how can i get the current line at event print_top_of_page ? ?

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

3 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Feb 26, 2007 at 04:55 PM

    please someone can help ?

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Feb 26, 2007 at 05:14 PM

    what do you mean with current line ? and what is the use of printing that on in the header ??

    I can't picture the goal you want to achieve ?

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Feb 27, 2007 at 08:59 AM

    In shortly, i would like to get at event print_top_of_page

    the current line of my internal table that's gonna to be print.

    I need details on the current line at event print_top_of_page so

    i could write it at top of page.

    Add a comment
    10|10000 characters needed characters exceeded

    • ***********************************************************************
      
      * 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.

      Here in v_ variables pass the values u want to get printed.

      Reward if this helps.

Before answering

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

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