<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: problem with print in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-with-print/m-p/1551067#M250003</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please check the following code it may help u,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;program bcalv_grid_05.&lt;/P&gt;&lt;P&gt;*&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purpose:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;~~~~~~~~&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Demonstrate the creation of an own toolbar button.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To check program behavior&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;~~~~~~~~~~~~~~~~~~~~~~~~~&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The report shows a list of flights of one airline.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select one or more lines and press the 'Detail'-Button to popup&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;a dialog window with related bookings.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Essential steps (Search for '§')&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;1.Apply steps for event handling for events TOOLBAR and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER_COMMAND (see example for print events)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;2.In event handler method for event TOOLBAR: Append own functions&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  by using event parameter E_OBJECT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;3.In event handler method for event USER_COMMAND: Query your&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  function codes defined in step 2 and react accordingly.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;4.Call method 'set_toolbar_interactive' to raise event TOOLBAR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;include .&lt;/P&gt;&lt;P&gt;*********&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Predefine a local class for event handling to allow the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration of a reference variable before the class is defined.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;class lcl_event_receiver definition deferred.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*********&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: ok_code like sy-ucomm,&lt;/P&gt;&lt;P&gt;      gt_sflight type table of sflight,&lt;/P&gt;&lt;P&gt;      gt_sbook type table of sbook,&lt;/P&gt;&lt;P&gt;      g_repid like sy-repid,&lt;/P&gt;&lt;P&gt;      g_max type i value 100,&lt;/P&gt;&lt;P&gt;      gs_layout   type lvc_s_layo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      cont_on_main   type scrfname value 'BCALVC_TOOLBAR_D100_C1',&lt;/P&gt;&lt;P&gt;      cont_on_dialog type scrfname value 'BCALVC_TOOLBAR_D101_C1',&lt;/P&gt;&lt;P&gt;      grid1  type ref to cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;      grid2  type ref to cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;      custom_container1 type ref to cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;      custom_container2 type ref to cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;      event_receiver type ref to lcl_event_receiver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set initial dynpro&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;set screen 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LOCAL CLASSES: Definition&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;*===============================================================&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;class lcl_event_receiver: local class to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        define and handle own functions.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Definition:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;~~~~~~~~~~~&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;class lcl_event_receiver definition.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  public section.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    methods:&lt;/P&gt;&lt;P&gt;    handle_toolbar&lt;/P&gt;&lt;P&gt;        for event toolbar of cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;            importing e_object e_interactive,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    handle_user_command&lt;/P&gt;&lt;P&gt;        for event user_command of cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;            importing e_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  private section.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endclass.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;lcl_event_receiver (Definition)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*===============================================================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LOCAL CLASSES: Implementation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;*===============================================================&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;class lcl_event_receiver (Implementation)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;class lcl_event_receiver implementation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method handle_toolbar.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;§ 2.In event handler method for event TOOLBAR: Append own functions&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  by using event parameter E_OBJECT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    data: ls_toolbar  type stb_button.&lt;/P&gt;&lt;P&gt;*....................................................................&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;E_OBJECT of event TOOLBAR is of type REF TO CL_ALV_EVENT_TOOLBAR_SET.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This class has got one attribute, namly MT_TOOLBAR, which&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;is a table of type TTB_BUTTON. One line of this table is&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;defined by the Structure STB_BUTTON (see data deklaration above).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;A remark to the flag E_INTERACTIVE:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        'e_interactive' is set, if this event is raised due to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        the call of 'set_toolbar_interactive' by the user.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        You can distinguish this way if the event was raised&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        by yourself or by ALV&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        (e.g. in method 'refresh_table_display').&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        An application of this feature is still unknown... &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append a separator to normal toolbar&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear ls_toolbar.&lt;/P&gt;&lt;P&gt;    move 3 to ls_toolbar-butn_type.&lt;/P&gt;&lt;P&gt;    append ls_toolbar to e_object-&amp;gt;mt_toolbar.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append an icon to show booking table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear ls_toolbar.&lt;/P&gt;&lt;P&gt;    move 'BOOKINGS' to ls_toolbar-function.&lt;/P&gt;&lt;P&gt;    move icon_employee to ls_toolbar-icon.&lt;/P&gt;&lt;P&gt;    move 'Show Bookings'(111) to ls_toolbar-quickinfo.&lt;/P&gt;&lt;P&gt;    move 'Detail'(112) to ls_toolbar-text.&lt;/P&gt;&lt;P&gt;    move ' ' to ls_toolbar-disabled.&lt;/P&gt;&lt;P&gt;    append ls_toolbar to e_object-&amp;gt;mt_toolbar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endmethod.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;P&gt;  method handle_user_command.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;§ 3.In event handler method for event USER_COMMAND: Query your&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  function codes defined in step 2 and react accordingly.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    data: lt_rows type lvc_t_row.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    case e_ucomm.&lt;/P&gt;&lt;P&gt;      when 'BOOKINGS'.&lt;/P&gt;&lt;P&gt;        call method grid1-&amp;gt;get_selected_rows&lt;/P&gt;&lt;P&gt;                 importing et_index_rows = lt_rows.&lt;/P&gt;&lt;P&gt;        call method cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;        if sy-subrc ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add your handling, for example&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          call function 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;               exporting&lt;/P&gt;&lt;P&gt;                    titel = g_repid&lt;/P&gt;&lt;P&gt;                    txt2  = sy-subrc&lt;/P&gt;&lt;P&gt;                    txt1  = 'Error in Flush'(500).&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;                  perform show_booking_table tables lt_rows.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;  endmethod.                           "handle_user_command&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------" /&gt;&lt;P&gt;endclass.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;lcl_event_receiver (Implementation)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*===================================================================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM EXIT_PROGRAM                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form exit_program.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The instance grid2 is freed not until the program exits from the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;main screen.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;(It is created only once during the first selection of SBOOK,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;no matter how many times the second window is called).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  call method custom_container1-&amp;gt;free.&lt;/P&gt;&lt;P&gt;  if not custom_container2 is initial.&lt;/P&gt;&lt;P&gt;    call method custom_container2-&amp;gt;free.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  call method cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add your handling, for example&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    call function 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              titel = g_repid&lt;/P&gt;&lt;P&gt;              txt2  = sy-subrc&lt;/P&gt;&lt;P&gt;              txt1  = 'Error in Flush'(500).&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  leave program.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  PBO_100  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;module pbo_100 output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  set pf-status 'MAIN100'.&lt;/P&gt;&lt;P&gt;  g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  if custom_container1 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;select data from table SFLIGHT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform select_table_sflight changing gt_sflight.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create a custom container control for our ALV Control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    create object custom_container1&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;            container_name = cont_on_main&lt;/P&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;P&gt;            cntl_error = 1&lt;/P&gt;&lt;P&gt;            cntl_system_error = 2&lt;/P&gt;&lt;P&gt;            create_error = 3&lt;/P&gt;&lt;P&gt;            lifetime_error = 4&lt;/P&gt;&lt;P&gt;            lifetime_dynpro_dynpro_link = 5.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add your handling, for example&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      call function 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;           exporting&lt;/P&gt;&lt;P&gt;                titel = g_repid&lt;/P&gt;&lt;P&gt;                txt2  = sy-subrc&lt;/P&gt;&lt;P&gt;                txt1  = 'The control could not be created'(510).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create an instance of alv control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    create object grid1&lt;/P&gt;&lt;P&gt;           exporting i_parent = custom_container1.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set a titlebar for the grid control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    gs_layout-grid_title = 'Flights'(100).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;allow to select multiple lines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    gs_layout-sel_mode = 'A'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call method grid1-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;         exporting i_structure_name = 'SFLIGHT'&lt;/P&gt;&lt;P&gt;                   is_layout        = gs_layout&lt;/P&gt;&lt;P&gt;         changing  it_outtab        = gt_sflight.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-&amp;gt;Create Object to receive events and link them to handler methods.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When the ALV Control raises the event for the specified instance&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the corresponding method is automatically called.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    create object event_receiver.&lt;/P&gt;&lt;P&gt;    set handler event_receiver-&amp;gt;handle_user_command for grid1.&lt;/P&gt;&lt;P&gt;    set handler event_receiver-&amp;gt;handle_toolbar for grid1.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;********&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;§ 4.Call method 'set_toolbar_interactive' to raise event TOOLBAR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    call method grid1-&amp;gt;set_toolbar_interactive.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.                               "IF grid1 IS INITIAL&lt;/P&gt;&lt;P&gt;  call method cl_gui_control=&amp;gt;set_focus exporting control = grid1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endmodule.                             " PBO_100  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  PAI_100  INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;module pai_100 input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  case ok_code.&lt;/P&gt;&lt;P&gt;    when 'EXIT'.&lt;/P&gt;&lt;P&gt;      perform exit_program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;  clear ok_code.&lt;/P&gt;&lt;P&gt;endmodule.                             " PAI_100  INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  PBO_0101  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;module pbo_0101 output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if custom_container2 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;(the data from sbook is already selected)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create a custom container control for our ALV Control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    create object custom_container2&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;            container_name = cont_on_dialog&lt;/P&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;P&gt;            cntl_error = 1&lt;/P&gt;&lt;P&gt;            cntl_system_error = 2&lt;/P&gt;&lt;P&gt;            create_error = 3&lt;/P&gt;&lt;P&gt;            lifetime_error = 4&lt;/P&gt;&lt;P&gt;            lifetime_dynpro_dynpro_link = 5.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add your handling, for example&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      call function 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;           exporting&lt;/P&gt;&lt;P&gt;                titel = g_repid&lt;/P&gt;&lt;P&gt;                txt2  = sy-subrc&lt;/P&gt;&lt;P&gt;                txt1  = 'The control could not be created'(510).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create an instance of alv control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    create object grid2&lt;/P&gt;&lt;P&gt;           exporting i_parent = custom_container2.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;change title&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    gs_layout-grid_title = 'Bookings'(101).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    gs_layout-sel_mode = ' '.&lt;/P&gt;&lt;P&gt;    call method grid2-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;         exporting i_structure_name = 'SBOOK'&lt;/P&gt;&lt;P&gt;                   is_layout        = gs_layout&lt;/P&gt;&lt;P&gt;         changing  it_outtab        = gt_sbook.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    call method grid2-&amp;gt;refresh_table_display.&lt;/P&gt;&lt;P&gt;  endif.                               "IF custom_container2 IS INITIAL.&lt;/P&gt;&lt;P&gt;  call method cl_gui_control=&amp;gt;set_focus exporting control = grid2.&lt;/P&gt;&lt;P&gt;  call method cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add your handling, for example&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    call function 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              titel = g_repid&lt;/P&gt;&lt;P&gt;              txt2  = sy-subrc&lt;/P&gt;&lt;P&gt;              txt1  = 'Error in Flush'(500).&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endmodule.                             " PBO_0101  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SELECT_TABLE_SFLIGHT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GT_SFLIGHT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form select_table_sflight changing p_gt_sflight like gt_sflight[].&lt;/P&gt;&lt;P&gt;  select * from sflight into table p_gt_sflight up to g_max rows.&lt;/P&gt;&lt;P&gt;endform.                               " SELECT_TABLE_SFLIGHT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SELECT_TABLE_SBOOK&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LS_SFLIGHT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GT_SBOOK  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form select_table_sbook using    p_ls_sflight like line of gt_sflight&lt;/P&gt;&lt;P&gt;                        changing p_gt_sbook like gt_sbook[].&lt;/P&gt;&lt;P&gt;  data: lt_sbook like gt_sbook[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select data from sbook according to a line of sflight&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and append that data to table p_gt_sbook&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  select * from  sbook into table lt_sbook&lt;/P&gt;&lt;P&gt;         where  carrid  = p_ls_sflight-carrid&lt;/P&gt;&lt;P&gt;         and    connid  = p_ls_sflight-connid&lt;/P&gt;&lt;P&gt;         and    fldate  = p_ls_sflight-fldate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append lines of lt_sbook to p_gt_sbook.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                               " SELECT_TABLE_SBOOK&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  PAI_0101  INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;module pai_0101 input.&lt;/P&gt;&lt;P&gt;  case ok_code.&lt;/P&gt;&lt;P&gt;    when 'RETURN'.&lt;/P&gt;&lt;P&gt;      leave to screen 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;  clear ok_code.&lt;/P&gt;&lt;P&gt;endmodule.                             " PAI_0101  INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  show_booking_table&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_ET_INDEX_ROWS  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form show_booking_table tables p_et_index_rows&lt;/P&gt;&lt;P&gt;                                structure lvc_s_row.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: ls_selected_line like lvc_s_row,&lt;/P&gt;&lt;P&gt;        lf_row_index type lvc_index,&lt;/P&gt;&lt;P&gt;        ls_sflight like line of gt_sflight.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear gt_sbook[].&lt;/P&gt;&lt;P&gt;  loop at p_et_index_rows into ls_selected_line.&lt;/P&gt;&lt;P&gt;    lf_row_index = ls_selected_line-index.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;read selected row from internal table gt_sflight&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table gt_sflight index lf_row_index into ls_sflight.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;select corresponding lines of table sbook&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and append new lines to global table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform select_table_sbook using ls_sflight&lt;/P&gt;&lt;P&gt;                               changing gt_sbook.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;call dialog screen and display new alv control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  call screen 101 starting at 10 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                               " show_booking_table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check the following Example Programs also,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BCALV_GRID_01&lt;/P&gt;&lt;P&gt;BCALV_GRID_02&lt;/P&gt;&lt;P&gt;BCALV_GRID_03&lt;/P&gt;&lt;P&gt;BCALV_GRID_04&lt;/P&gt;&lt;P&gt;BCALV_GRID_05&lt;/P&gt;&lt;P&gt;BCALV_GRID_06&lt;/P&gt;&lt;P&gt;BCALV_GRID_07&lt;/P&gt;&lt;P&gt;BCALV_GRID_08&lt;/P&gt;&lt;P&gt;BCALV_GRID_09&lt;/P&gt;&lt;P&gt;BCALV_GRID_10&lt;/P&gt;&lt;P&gt;BCALV_GRID_11&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 04 Sep 2006 08:08:52 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-09-04T08:08:52Z</dc:date>
    <item>
      <title>problem with print</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-with-print/m-p/1551066#M250002</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        iam having a report which displays an ALV report. which displays some details when i click on some detail, and when i click on print preview button i should display a form, iam getting the forms print preview. iam using the same print button option in the list. but when iam giving print, iam getting the print of the ALV list that is displayed. what should i do if i have to get the print of the form. iam having three different forms in this report. when i click other details in the ALV report i have to get other form print. can anybody help on this. whether i have to use different function code to print the form. its very urgent please help me in this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;poorna kaladhar.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Sep 2006 07:54:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-with-print/m-p/1551066#M250002</guid>
      <dc:creator>former_member810660</dc:creator>
      <dc:date>2006-09-04T07:54:25Z</dc:date>
    </item>
    <item>
      <title>Re: problem with print</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-with-print/m-p/1551067#M250003</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please check the following code it may help u,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;program bcalv_grid_05.&lt;/P&gt;&lt;P&gt;*&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purpose:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;~~~~~~~~&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Demonstrate the creation of an own toolbar button.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To check program behavior&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;~~~~~~~~~~~~~~~~~~~~~~~~~&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The report shows a list of flights of one airline.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select one or more lines and press the 'Detail'-Button to popup&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;a dialog window with related bookings.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Essential steps (Search for '§')&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;1.Apply steps for event handling for events TOOLBAR and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER_COMMAND (see example for print events)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;2.In event handler method for event TOOLBAR: Append own functions&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  by using event parameter E_OBJECT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;3.In event handler method for event USER_COMMAND: Query your&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  function codes defined in step 2 and react accordingly.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;4.Call method 'set_toolbar_interactive' to raise event TOOLBAR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;include .&lt;/P&gt;&lt;P&gt;*********&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Predefine a local class for event handling to allow the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration of a reference variable before the class is defined.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;class lcl_event_receiver definition deferred.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*********&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: ok_code like sy-ucomm,&lt;/P&gt;&lt;P&gt;      gt_sflight type table of sflight,&lt;/P&gt;&lt;P&gt;      gt_sbook type table of sbook,&lt;/P&gt;&lt;P&gt;      g_repid like sy-repid,&lt;/P&gt;&lt;P&gt;      g_max type i value 100,&lt;/P&gt;&lt;P&gt;      gs_layout   type lvc_s_layo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      cont_on_main   type scrfname value 'BCALVC_TOOLBAR_D100_C1',&lt;/P&gt;&lt;P&gt;      cont_on_dialog type scrfname value 'BCALVC_TOOLBAR_D101_C1',&lt;/P&gt;&lt;P&gt;      grid1  type ref to cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;      grid2  type ref to cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;      custom_container1 type ref to cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;      custom_container2 type ref to cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;      event_receiver type ref to lcl_event_receiver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set initial dynpro&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;set screen 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LOCAL CLASSES: Definition&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;*===============================================================&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;class lcl_event_receiver: local class to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        define and handle own functions.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Definition:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;~~~~~~~~~~~&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;class lcl_event_receiver definition.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  public section.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    methods:&lt;/P&gt;&lt;P&gt;    handle_toolbar&lt;/P&gt;&lt;P&gt;        for event toolbar of cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;            importing e_object e_interactive,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    handle_user_command&lt;/P&gt;&lt;P&gt;        for event user_command of cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;            importing e_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  private section.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endclass.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;lcl_event_receiver (Definition)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*===============================================================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LOCAL CLASSES: Implementation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;*===============================================================&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;class lcl_event_receiver (Implementation)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;class lcl_event_receiver implementation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method handle_toolbar.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;§ 2.In event handler method for event TOOLBAR: Append own functions&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  by using event parameter E_OBJECT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    data: ls_toolbar  type stb_button.&lt;/P&gt;&lt;P&gt;*....................................................................&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;E_OBJECT of event TOOLBAR is of type REF TO CL_ALV_EVENT_TOOLBAR_SET.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This class has got one attribute, namly MT_TOOLBAR, which&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;is a table of type TTB_BUTTON. One line of this table is&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;defined by the Structure STB_BUTTON (see data deklaration above).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;A remark to the flag E_INTERACTIVE:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        'e_interactive' is set, if this event is raised due to&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        the call of 'set_toolbar_interactive' by the user.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        You can distinguish this way if the event was raised&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        by yourself or by ALV&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        (e.g. in method 'refresh_table_display').&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        An application of this feature is still unknown... &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append a separator to normal toolbar&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear ls_toolbar.&lt;/P&gt;&lt;P&gt;    move 3 to ls_toolbar-butn_type.&lt;/P&gt;&lt;P&gt;    append ls_toolbar to e_object-&amp;gt;mt_toolbar.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append an icon to show booking table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear ls_toolbar.&lt;/P&gt;&lt;P&gt;    move 'BOOKINGS' to ls_toolbar-function.&lt;/P&gt;&lt;P&gt;    move icon_employee to ls_toolbar-icon.&lt;/P&gt;&lt;P&gt;    move 'Show Bookings'(111) to ls_toolbar-quickinfo.&lt;/P&gt;&lt;P&gt;    move 'Detail'(112) to ls_toolbar-text.&lt;/P&gt;&lt;P&gt;    move ' ' to ls_toolbar-disabled.&lt;/P&gt;&lt;P&gt;    append ls_toolbar to e_object-&amp;gt;mt_toolbar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endmethod.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;P&gt;  method handle_user_command.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;§ 3.In event handler method for event USER_COMMAND: Query your&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  function codes defined in step 2 and react accordingly.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    data: lt_rows type lvc_t_row.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    case e_ucomm.&lt;/P&gt;&lt;P&gt;      when 'BOOKINGS'.&lt;/P&gt;&lt;P&gt;        call method grid1-&amp;gt;get_selected_rows&lt;/P&gt;&lt;P&gt;                 importing et_index_rows = lt_rows.&lt;/P&gt;&lt;P&gt;        call method cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;        if sy-subrc ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add your handling, for example&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          call function 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;               exporting&lt;/P&gt;&lt;P&gt;                    titel = g_repid&lt;/P&gt;&lt;P&gt;                    txt2  = sy-subrc&lt;/P&gt;&lt;P&gt;                    txt1  = 'Error in Flush'(500).&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;                  perform show_booking_table tables lt_rows.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;  endmethod.                           "handle_user_command&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------" /&gt;&lt;P&gt;endclass.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;lcl_event_receiver (Implementation)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*===================================================================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM EXIT_PROGRAM                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form exit_program.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The instance grid2 is freed not until the program exits from the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;main screen.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;(It is created only once during the first selection of SBOOK,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;no matter how many times the second window is called).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  call method custom_container1-&amp;gt;free.&lt;/P&gt;&lt;P&gt;  if not custom_container2 is initial.&lt;/P&gt;&lt;P&gt;    call method custom_container2-&amp;gt;free.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  call method cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add your handling, for example&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    call function 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              titel = g_repid&lt;/P&gt;&lt;P&gt;              txt2  = sy-subrc&lt;/P&gt;&lt;P&gt;              txt1  = 'Error in Flush'(500).&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  leave program.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  PBO_100  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;module pbo_100 output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  set pf-status 'MAIN100'.&lt;/P&gt;&lt;P&gt;  g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  if custom_container1 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;select data from table SFLIGHT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform select_table_sflight changing gt_sflight.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create a custom container control for our ALV Control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    create object custom_container1&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;            container_name = cont_on_main&lt;/P&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;P&gt;            cntl_error = 1&lt;/P&gt;&lt;P&gt;            cntl_system_error = 2&lt;/P&gt;&lt;P&gt;            create_error = 3&lt;/P&gt;&lt;P&gt;            lifetime_error = 4&lt;/P&gt;&lt;P&gt;            lifetime_dynpro_dynpro_link = 5.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add your handling, for example&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      call function 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;           exporting&lt;/P&gt;&lt;P&gt;                titel = g_repid&lt;/P&gt;&lt;P&gt;                txt2  = sy-subrc&lt;/P&gt;&lt;P&gt;                txt1  = 'The control could not be created'(510).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create an instance of alv control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    create object grid1&lt;/P&gt;&lt;P&gt;           exporting i_parent = custom_container1.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set a titlebar for the grid control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    gs_layout-grid_title = 'Flights'(100).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;allow to select multiple lines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    gs_layout-sel_mode = 'A'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call method grid1-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;         exporting i_structure_name = 'SFLIGHT'&lt;/P&gt;&lt;P&gt;                   is_layout        = gs_layout&lt;/P&gt;&lt;P&gt;         changing  it_outtab        = gt_sflight.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-&amp;gt;Create Object to receive events and link them to handler methods.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When the ALV Control raises the event for the specified instance&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the corresponding method is automatically called.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    create object event_receiver.&lt;/P&gt;&lt;P&gt;    set handler event_receiver-&amp;gt;handle_user_command for grid1.&lt;/P&gt;&lt;P&gt;    set handler event_receiver-&amp;gt;handle_toolbar for grid1.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;********&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;§ 4.Call method 'set_toolbar_interactive' to raise event TOOLBAR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    call method grid1-&amp;gt;set_toolbar_interactive.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.                               "IF grid1 IS INITIAL&lt;/P&gt;&lt;P&gt;  call method cl_gui_control=&amp;gt;set_focus exporting control = grid1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endmodule.                             " PBO_100  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  PAI_100  INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;module pai_100 input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  case ok_code.&lt;/P&gt;&lt;P&gt;    when 'EXIT'.&lt;/P&gt;&lt;P&gt;      perform exit_program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;  clear ok_code.&lt;/P&gt;&lt;P&gt;endmodule.                             " PAI_100  INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  PBO_0101  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;module pbo_0101 output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if custom_container2 is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;(the data from sbook is already selected)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create a custom container control for our ALV Control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    create object custom_container2&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;            container_name = cont_on_dialog&lt;/P&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;P&gt;            cntl_error = 1&lt;/P&gt;&lt;P&gt;            cntl_system_error = 2&lt;/P&gt;&lt;P&gt;            create_error = 3&lt;/P&gt;&lt;P&gt;            lifetime_error = 4&lt;/P&gt;&lt;P&gt;            lifetime_dynpro_dynpro_link = 5.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add your handling, for example&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      call function 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;           exporting&lt;/P&gt;&lt;P&gt;                titel = g_repid&lt;/P&gt;&lt;P&gt;                txt2  = sy-subrc&lt;/P&gt;&lt;P&gt;                txt1  = 'The control could not be created'(510).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create an instance of alv control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    create object grid2&lt;/P&gt;&lt;P&gt;           exporting i_parent = custom_container2.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;change title&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    gs_layout-grid_title = 'Bookings'(101).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    gs_layout-sel_mode = ' '.&lt;/P&gt;&lt;P&gt;    call method grid2-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;         exporting i_structure_name = 'SBOOK'&lt;/P&gt;&lt;P&gt;                   is_layout        = gs_layout&lt;/P&gt;&lt;P&gt;         changing  it_outtab        = gt_sbook.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    call method grid2-&amp;gt;refresh_table_display.&lt;/P&gt;&lt;P&gt;  endif.                               "IF custom_container2 IS INITIAL.&lt;/P&gt;&lt;P&gt;  call method cl_gui_control=&amp;gt;set_focus exporting control = grid2.&lt;/P&gt;&lt;P&gt;  call method cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add your handling, for example&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    call function 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;P&gt;              titel = g_repid&lt;/P&gt;&lt;P&gt;              txt2  = sy-subrc&lt;/P&gt;&lt;P&gt;              txt1  = 'Error in Flush'(500).&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endmodule.                             " PBO_0101  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SELECT_TABLE_SFLIGHT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GT_SFLIGHT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form select_table_sflight changing p_gt_sflight like gt_sflight[].&lt;/P&gt;&lt;P&gt;  select * from sflight into table p_gt_sflight up to g_max rows.&lt;/P&gt;&lt;P&gt;endform.                               " SELECT_TABLE_SFLIGHT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SELECT_TABLE_SBOOK&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_LS_SFLIGHT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GT_SBOOK  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form select_table_sbook using    p_ls_sflight like line of gt_sflight&lt;/P&gt;&lt;P&gt;                        changing p_gt_sbook like gt_sbook[].&lt;/P&gt;&lt;P&gt;  data: lt_sbook like gt_sbook[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select data from sbook according to a line of sflight&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and append that data to table p_gt_sbook&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  select * from  sbook into table lt_sbook&lt;/P&gt;&lt;P&gt;         where  carrid  = p_ls_sflight-carrid&lt;/P&gt;&lt;P&gt;         and    connid  = p_ls_sflight-connid&lt;/P&gt;&lt;P&gt;         and    fldate  = p_ls_sflight-fldate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  append lines of lt_sbook to p_gt_sbook.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                               " SELECT_TABLE_SBOOK&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  PAI_0101  INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;module pai_0101 input.&lt;/P&gt;&lt;P&gt;  case ok_code.&lt;/P&gt;&lt;P&gt;    when 'RETURN'.&lt;/P&gt;&lt;P&gt;      leave to screen 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;  clear ok_code.&lt;/P&gt;&lt;P&gt;endmodule.                             " PAI_0101  INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  show_booking_table&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_ET_INDEX_ROWS  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;form show_booking_table tables p_et_index_rows&lt;/P&gt;&lt;P&gt;                                structure lvc_s_row.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: ls_selected_line like lvc_s_row,&lt;/P&gt;&lt;P&gt;        lf_row_index type lvc_index,&lt;/P&gt;&lt;P&gt;        ls_sflight like line of gt_sflight.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear gt_sbook[].&lt;/P&gt;&lt;P&gt;  loop at p_et_index_rows into ls_selected_line.&lt;/P&gt;&lt;P&gt;    lf_row_index = ls_selected_line-index.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;read selected row from internal table gt_sflight&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table gt_sflight index lf_row_index into ls_sflight.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;select corresponding lines of table sbook&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and append new lines to global table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform select_table_sbook using ls_sflight&lt;/P&gt;&lt;P&gt;                               changing gt_sbook.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;call dialog screen and display new alv control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  call screen 101 starting at 10 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                               " show_booking_table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check the following Example Programs also,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BCALV_GRID_01&lt;/P&gt;&lt;P&gt;BCALV_GRID_02&lt;/P&gt;&lt;P&gt;BCALV_GRID_03&lt;/P&gt;&lt;P&gt;BCALV_GRID_04&lt;/P&gt;&lt;P&gt;BCALV_GRID_05&lt;/P&gt;&lt;P&gt;BCALV_GRID_06&lt;/P&gt;&lt;P&gt;BCALV_GRID_07&lt;/P&gt;&lt;P&gt;BCALV_GRID_08&lt;/P&gt;&lt;P&gt;BCALV_GRID_09&lt;/P&gt;&lt;P&gt;BCALV_GRID_10&lt;/P&gt;&lt;P&gt;BCALV_GRID_11&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Sep 2006 08:08:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-with-print/m-p/1551067#M250003</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-04T08:08:52Z</dc:date>
    </item>
  </channel>
</rss>

