<?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 Push button in ALV in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/push-button-in-alv/m-p/3447193#M827980</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;I want to display a push button in my ALV programming(in container).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Points would be rewarded&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;swaroop.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 25 Feb 2008 07:08:33 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-02-25T07:08:33Z</dc:date>
    <item>
      <title>Push button in ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/push-button-in-alv/m-p/3447193#M827980</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;I want to display a push button in my ALV programming(in container).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Points would be rewarded&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;swaroop.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Feb 2008 07:08:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/push-button-in-alv/m-p/3447193#M827980</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-25T07:08:33Z</dc:date>
    </item>
    <item>
      <title>Re: Push button in ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/push-button-in-alv/m-p/3447194#M827981</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jyothi, &lt;/P&gt;&lt;P&gt;go throught the standard program BCALV_GRID_05&lt;/P&gt;&lt;P&gt;or you execute the following code you you will get solution&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*here is a sample prog for interactive events of&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*before_user_command, after_user_command,&lt;/P&gt;&lt;P&gt;*double_click,hotspot_click, button_click, onf1&lt;/P&gt;&lt;P&gt;*onf4, menu_button, toolbar, context_menu_request, ondrag,&lt;/P&gt;&lt;P&gt;*ondrop, ondropcomplete,ondropgetflavor, subtotal_text,&lt;/P&gt;&lt;P&gt;*data_changed,data_changed_finished, after_refresh,&lt;/P&gt;&lt;P&gt;*delayed_callback,delayed_changed_sel_callback, top_of_page,&lt;/P&gt;&lt;P&gt;*end_of_list,print_top_of_page, print_end_of_page,&lt;/P&gt;&lt;P&gt;*print_top_of_list,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Report BCALV_TEST_GRID_EVENTS *&lt;/P&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;REPORT bcalv_test_grid_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: g_ty_t_carrid TYPE STANDARD TABLE OF scarr,&lt;/P&gt;&lt;P&gt;g_ty_t_connid TYPE STANDARD TABLE OF spfli,&lt;/P&gt;&lt;P&gt;g_ty_t_curr TYPE STANDARD TABLE OF scurx,&lt;/P&gt;&lt;P&gt;g_ty_s_sflight TYPE sflight,&lt;/P&gt;&lt;P&gt;g_ty_s_carrid TYPE scarr,&lt;/P&gt;&lt;P&gt;g_ty_s_connid TYPE spfli,&lt;/P&gt;&lt;P&gt;g_ty_s_curr TYPE scurx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS: con_sflight TYPE lvc_fname VALUE 'SFLIGHT',&lt;/P&gt;&lt;P&gt;con_scarr TYPE lvc_fname VALUE 'SCARR',&lt;/P&gt;&lt;P&gt;con_spfli TYPE lvc_fname VALUE 'SPFLI',&lt;/P&gt;&lt;P&gt;con_scurx TYPE lvc_fname VALUE 'SCURX'.&lt;/P&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;P&gt;*DATA *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;CLASS lcl_events_d0100 DEFINITION DEFERRED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;BEGIN OF g_ty_s_plane,&lt;/P&gt;&lt;P&gt;    carrid TYPE g_ty_s_sflight-carrid,&lt;/P&gt;&lt;P&gt;    connid TYPE g_ty_s_sflight-connid,&lt;/P&gt;&lt;P&gt;    planetype TYPE g_ty_s_sflight-planetype,&lt;/P&gt;&lt;P&gt;    seatsmax TYPE g_ty_s_sflight-seatsmax,&lt;/P&gt;&lt;P&gt;END OF g_ty_s_plane,&lt;/P&gt;&lt;P&gt;  g_ty_t_plane TYPE SORTED TABLE OF g_ty_s_plane&lt;/P&gt;&lt;P&gt;  WITH UNIQUE KEY carrid connid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BEGIN OF g_ty_s_event,&lt;/P&gt;&lt;P&gt;    user_command TYPE char1,&lt;/P&gt;&lt;P&gt;    before_user_command TYPE char1,&lt;/P&gt;&lt;P&gt;    after_user_command TYPE char1,&lt;/P&gt;&lt;P&gt;    double_click TYPE char1,&lt;/P&gt;&lt;P&gt;    hotspot_click TYPE char1,&lt;/P&gt;&lt;P&gt;    button_click TYPE char1,&lt;/P&gt;&lt;P&gt;    onf1 TYPE char1,&lt;/P&gt;&lt;P&gt;    onf4 TYPE char1,&lt;/P&gt;&lt;P&gt;    menu_button TYPE char1,&lt;/P&gt;&lt;P&gt;    toolbar TYPE char1,&lt;/P&gt;&lt;P&gt;    context_menu_request TYPE char1,&lt;/P&gt;&lt;P&gt;    ondrag TYPE char1,&lt;/P&gt;&lt;P&gt;    ondrop TYPE char1,&lt;/P&gt;&lt;P&gt;    ondropcomplete TYPE char1,&lt;/P&gt;&lt;P&gt;    ondropgetflavor TYPE char1,&lt;/P&gt;&lt;P&gt;    subtotal_text TYPE char1,&lt;/P&gt;&lt;P&gt;    data_changed TYPE char1,&lt;/P&gt;&lt;P&gt;    data_changed_finished TYPE char1,&lt;/P&gt;&lt;P&gt;    after_refresh TYPE char1,&lt;/P&gt;&lt;P&gt;    delayed_callback TYPE char1,&lt;/P&gt;&lt;P&gt;    delayed_changed_sel_callback TYPE char1,&lt;/P&gt;&lt;P&gt;    top_of_page TYPE char1,&lt;/P&gt;&lt;P&gt;    end_of_list TYPE char1,&lt;/P&gt;&lt;P&gt;    print_top_of_page TYPE char1,&lt;/P&gt;&lt;P&gt;    print_end_of_page TYPE char1,&lt;/P&gt;&lt;P&gt;    print_top_of_list TYPE char1,&lt;/P&gt;&lt;P&gt;    print_end_of_list TYPE char1,&lt;/P&gt;&lt;P&gt;END OF g_ty_s_event,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BEGIN OF g_ty_s_onf4,&lt;/P&gt;&lt;P&gt;    register TYPE char1,&lt;/P&gt;&lt;P&gt;    get_before TYPE char1,&lt;/P&gt;&lt;P&gt;    change_after TYPE char1,&lt;/P&gt;&lt;P&gt;    internal_format TYPE char1,&lt;/P&gt;&lt;P&gt;END OF g_ty_s_onf4,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BEGIN OF g_ty_s_test,&lt;/P&gt;&lt;P&gt;    select_amount TYPE i,&lt;/P&gt;&lt;P&gt;    no_info_popup TYPE char1,&lt;/P&gt;&lt;P&gt;    info_popup_once TYPE char1,&lt;/P&gt;&lt;P&gt;    events_info_popup TYPE lvc_fname OCCURS 0,&lt;/P&gt;&lt;P&gt;    application_events TYPE char1,&lt;/P&gt;&lt;P&gt;    event TYPE g_ty_s_event,&lt;/P&gt;&lt;P&gt;    onf4 TYPE g_ty_s_onf4,&lt;/P&gt;&lt;P&gt;    button_fields TYPE lvc_fname OCCURS 0,&lt;/P&gt;&lt;P&gt;    hotspot_fields TYPE lvc_fname OCCURS 0,&lt;/P&gt;&lt;P&gt;    onf1_fields TYPE lvc_fname OCCURS 0,&lt;/P&gt;&lt;P&gt;    onf4_fields TYPE lvc_fname OCCURS 0,&lt;/P&gt;&lt;P&gt;    bypassing_buffer TYPE char1,&lt;/P&gt;&lt;P&gt;    buffer_active TYPE char1,&lt;/P&gt;&lt;P&gt;END OF g_ty_s_test,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BEGIN OF g_ty_s_outtab.&lt;/P&gt;&lt;P&gt;INCLUDE TYPE g_ty_s_sflight.&lt;/P&gt;&lt;P&gt;TYPES: box TYPE char1,&lt;/P&gt;&lt;P&gt;  lights TYPE char1,&lt;/P&gt;&lt;P&gt;END OF g_ty_s_outtab,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;g_ty_t_outtab TYPE TABLE OF g_ty_s_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS: con_exit TYPE sy-ucomm VALUE 'EXIT',&lt;/P&gt;&lt;P&gt;           con_canc TYPE sy-ucomm VALUE 'CANC',&lt;/P&gt;&lt;P&gt;           con_back TYPE sy-ucomm VALUE 'BACK',&lt;/P&gt;&lt;P&gt;           con_true TYPE char1 VALUE 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_okcode TYPE sy-ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gs_test TYPE g_ty_s_test.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gt_outtab TYPE g_ty_t_outtab WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      gr_container_d0100 TYPE REF TO cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;      gr_grid_d0100 TYPE REF TO cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;      gr_events_d0100 TYPE REF TO lcl_events_d0100,&lt;/P&gt;&lt;P&gt;      gr_grid_dragdrop TYPE REF TO cl_dragdrop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_static_menu TYPE REF TO cl_ctmenu,&lt;/P&gt;&lt;P&gt;      g_static_menu_default TYPE REF TO cl_ctmenu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_field TYPE lvc_s_fcat-fieldname.&lt;/P&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;P&gt;*CLASS lcl_dragdrop_obj_d0100 DEFINITION&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;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;CLASS lcl_dragdrop_obj_d0100 DEFINITION.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    DATA: line TYPE g_ty_s_outtab,&lt;/P&gt;&lt;P&gt;    index TYPE i.&lt;/P&gt;&lt;P&gt;ENDCLASS. "lcl_dragdrop_obj_d0100 DEFINITION&lt;/P&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;P&gt;*CLASS lcl_events_d0100 DEFINITION&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;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;CLASS lcl_events_d0100 DEFINITION.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    METHODS:&lt;/P&gt;&lt;P&gt;    user_command FOR EVENT user_command&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING e_ucomm sender,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    before_user_command FOR EVENT before_user_command&lt;/P&gt;&lt;P&gt;    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;    after_user_command FOR EVENT after_user_command&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING e_ucomm&lt;/P&gt;&lt;P&gt;    e_not_processed&lt;/P&gt;&lt;P&gt;    e_saved,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    double_click FOR EVENT double_click&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING e_row&lt;/P&gt;&lt;P&gt;    e_column&lt;/P&gt;&lt;P&gt;    es_row_no,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    hotspot_click FOR EVENT hotspot_click&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING e_row_id&lt;/P&gt;&lt;P&gt;    e_column_id&lt;/P&gt;&lt;P&gt;    es_row_no,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    menu_button FOR EVENT menu_button&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING e_object&lt;/P&gt;&lt;P&gt;    e_ucomm,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    toolbar FOR EVENT toolbar&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING e_object&lt;/P&gt;&lt;P&gt;    e_interactive,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    context_menu_request FOR EVENT context_menu_request&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING e_object,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    top_of_page FOR EVENT top_of_page&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING e_dyndoc_id,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    end_of_list FOR EVENT end_of_list&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING e_dyndoc_id,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    print_top_of_page FOR EVENT print_top_of_page&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    print_end_of_page FOR EVENT print_end_of_page&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    print_top_of_list FOR EVENT print_top_of_list&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    print_end_of_list FOR EVENT print_end_of_list&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    after_refresh FOR EVENT after_refresh&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    delayed_callback FOR EVENT delayed_callback&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    delayed_changed_sel_callback&lt;/P&gt;&lt;P&gt;    FOR EVENT delayed_changed_sel_callback&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    subtotal_text FOR EVENT subtotal_text&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING es_subtottxt_info&lt;/P&gt;&lt;P&gt;    ep_subtot_line&lt;/P&gt;&lt;P&gt;    e_event_data,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ondrag FOR EVENT ondrag&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING e_row&lt;/P&gt;&lt;P&gt;    e_column&lt;/P&gt;&lt;P&gt;    es_row_no&lt;/P&gt;&lt;P&gt;    e_dragdropobj,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ondrop FOR EVENT ondrop&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING e_row&lt;/P&gt;&lt;P&gt;    e_column&lt;/P&gt;&lt;P&gt;    es_row_no&lt;/P&gt;&lt;P&gt;    e_dragdropobj,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ondropcomplete FOR EVENT ondropcomplete&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING e_row&lt;/P&gt;&lt;P&gt;    e_column&lt;/P&gt;&lt;P&gt;    es_row_no&lt;/P&gt;&lt;P&gt;    e_dragdropobj,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ondropgetflavor FOR EVENT ondropgetflavor&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING e_row&lt;/P&gt;&lt;P&gt;    e_column&lt;/P&gt;&lt;P&gt;    es_row_no&lt;/P&gt;&lt;P&gt;    e_dragdropobj&lt;/P&gt;&lt;P&gt;    e_flavors,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    data_changed FOR EVENT data_changed&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING er_data_changed&lt;/P&gt;&lt;P&gt;    e_onf4&lt;/P&gt;&lt;P&gt;    e_onf4_before&lt;/P&gt;&lt;P&gt;    e_onf4_after,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    data_changed_finished&lt;/P&gt;&lt;P&gt;    FOR EVENT data_changed_finished&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    button_click FOR EVENT button_click&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING es_col_id&lt;/P&gt;&lt;P&gt;    es_row_no,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    onf1 FOR EVENT onf1&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING e_fieldname&lt;/P&gt;&lt;P&gt;    es_row_no&lt;/P&gt;&lt;P&gt;    er_event_data,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    onf4 FOR EVENT onf4&lt;/P&gt;&lt;P&gt;    OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;    IMPORTING e_fieldname&lt;/P&gt;&lt;P&gt;    e_fieldvalue&lt;/P&gt;&lt;P&gt;    es_row_no&lt;/P&gt;&lt;P&gt;    er_event_data&lt;/P&gt;&lt;P&gt;    et_bad_cells&lt;/P&gt;&lt;P&gt;    e_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS. "lcl_events_d0100 DEFINITION&lt;/P&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;P&gt;*CLASS lcl_events_d0100 IMPLEMENTATION&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;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;CLASS lcl_events_d0100 IMPLEMENTATION.&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;P&gt;*METHOD user_command *&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;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD user_command.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_ucomm USING e_ucomm.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "user_command&lt;/P&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;P&gt;*METHOD before_user_command *&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;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD before_user_command.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_before_ucomm USING e_ucomm.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "before_user_command&lt;/P&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;P&gt;*METHOD after_user_command *&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;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD after_user_command.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_after_ucomm USING e_ucomm&lt;/P&gt;&lt;P&gt;    e_not_processed&lt;/P&gt;&lt;P&gt;    e_saved.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "after_user_command&lt;/P&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;P&gt;*METHOD double_click *&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;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD double_click.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_double_click USING e_row&lt;/P&gt;&lt;P&gt;    e_column.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "double_click&lt;/P&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;P&gt;*METHOD hotspot_click *&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;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD hotspot_click.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_hotspot_click USING e_row_id&lt;/P&gt;&lt;P&gt;    e_column_id.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "hotspot_click&lt;/P&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;P&gt;*METHOD menu_button *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD menu_button.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_menu_button USING e_object&lt;/P&gt;&lt;P&gt;    e_ucomm.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "menu_button&lt;/P&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;P&gt;*METHOD toolbar *&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;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD toolbar.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_toolbar USING e_object&lt;/P&gt;&lt;P&gt;    e_interactive.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "toolbar&lt;/P&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;P&gt;*METHOD context_menu_request *&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;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD context_menu_request.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_context_menu_reqst USING e_object.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "context_menu_request&lt;/P&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;P&gt;*top_of_page *&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;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD top_of_page.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_top_of_page USING e_dyndoc_id.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "top_of_page&lt;/P&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;P&gt;*METHOD end_of_list *&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;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD end_of_list.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_end_of_list USING e_dyndoc_id.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "end_of_list&lt;/P&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;P&gt;*METHOD print_top_of_page *&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;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD print_top_of_page.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_print_top_of_page.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "print_top_of_page&lt;/P&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;P&gt;*METHOD print_end_of_page *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD print_end_of_page.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_print_end_of_page.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "print_end_of_page&lt;/P&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;P&gt;*METHOD print_top_of_list *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD print_top_of_list.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_print_top_of_list.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "print_top_of_list&lt;/P&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;P&gt;*METHOD print_end_of_list *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD print_end_of_list.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_print_end_of_list.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "print_end_of_list&lt;/P&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;P&gt;*METHOD after_refresh *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD after_refresh.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_after_refresh.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "after_refresh&lt;/P&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;P&gt;*METHOD delayed_callback *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD delayed_callback.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_delayed_callback.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "delayed_callback&lt;/P&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;P&gt;*METHOD delayed_changed_sel_callback *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD delayed_changed_sel_callback.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_changed_sel_callba.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "delayed_changed_sel_callback&lt;/P&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;P&gt;*METHOD subtotal_text *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD subtotal_text.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_subtotal_text USING es_subtottxt_info&lt;/P&gt;&lt;P&gt;    ep_subtot_line&lt;/P&gt;&lt;P&gt;    e_event_data.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "subtotal_text&lt;/P&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;P&gt;*METHOD ondrag *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD ondrag.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_ondrag USING e_row&lt;/P&gt;&lt;P&gt;    e_column&lt;/P&gt;&lt;P&gt;    e_dragdropobj.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "ondrag&lt;/P&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;P&gt;*METHOD ondrop *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD ondrop.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_ondrop USING e_row&lt;/P&gt;&lt;P&gt;    e_column&lt;/P&gt;&lt;P&gt;    e_dragdropobj.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "ondrop&lt;/P&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;P&gt;*METHOD ondropcomplete *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD ondropcomplete.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_ondropcomplete USING e_row&lt;/P&gt;&lt;P&gt;    e_column&lt;/P&gt;&lt;P&gt;    e_dragdropobj.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "ondropcomplete&lt;/P&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;P&gt;*METHOD ondropgetflavor *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD ondropgetflavor.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_ondropgetflavor.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "ondropgetflavor&lt;/P&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;P&gt;*METHOD data_changed *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD data_changed.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_data_changed USING er_data_changed&lt;/P&gt;&lt;P&gt;    e_onf4&lt;/P&gt;&lt;P&gt;    e_onf4_before&lt;/P&gt;&lt;P&gt;    e_onf4_after.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "data_changed&lt;/P&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;P&gt;*METHOD data_changed_finished *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD data_changed_finished.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_data_changed_finis.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "data_changed_finished&lt;/P&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;P&gt;*METHOD button_click *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD button_click.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_button_click USING es_col_id&lt;/P&gt;&lt;P&gt;    es_row_no.&lt;/P&gt;&lt;P&gt;  ENDMETHOD. "button_click&lt;/P&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;P&gt;*METHOD onf1 *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD onf1.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_onf1 USING e_fieldname&lt;/P&gt;&lt;P&gt;    es_row_no&lt;/P&gt;&lt;P&gt;    er_event_data.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                                                "onf1&lt;/P&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;P&gt;*METHOD onf4 *&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;P&gt;*........ *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;  METHOD onf4.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_event_onf4 USING e_fieldname&lt;/P&gt;&lt;P&gt;    e_fieldvalue&lt;/P&gt;&lt;P&gt;    es_row_no&lt;/P&gt;&lt;P&gt;    er_event_data&lt;/P&gt;&lt;P&gt;    et_bad_cells&lt;/P&gt;&lt;P&gt;    e_display.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                                                "onf4&lt;/P&gt;&lt;P&gt;ENDCLASS. "lcl_events_d0100 IMPLEMENTATION&lt;/P&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;P&gt;*SELECTION-SCREEN *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK gen WITH FRAME.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_amount TYPE i DEFAULT 30.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK gen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK inf WITH FRAME.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_inf01 AS CHECKBOX DEFAULT con_true,&lt;/P&gt;&lt;P&gt;p_inf02 AS CHECKBOX.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK inf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK app WITH FRAME.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_appevt AS CHECKBOX.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK app.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK evt WITH FRAME.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_evt01 AS CHECKBOX, "USER_COMMAND&lt;/P&gt;&lt;P&gt;p_evt02 AS CHECKBOX, "BEFORE_USER_COMMAND&lt;/P&gt;&lt;P&gt;p_evt03 AS CHECKBOX. "AFTER_USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_evt04 AS CHECKBOX, "DOUBLE_CLICK&lt;/P&gt;&lt;P&gt;p_evt05 AS CHECKBOX. "HOTSPOT_CLICK&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;p_hotspt FOR g_field NO INTERVALS DEFAULT 'CARRID'.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_evt06 AS CHECKBOX. "BUTTON_CLICK&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;p_button FOR g_field NO INTERVALS DEFAULT 'CARRID'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_evt07 AS CHECKBOX.                                        "ONF1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK of4 WITH FRAME.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_evt08 AS CHECKBOX.                                        "ONF4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;p_onf4 FOR g_field NO INTERVALS DEFAULT 'CARRID'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(30) text-c01 FOR FIELD p_f401.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_f401 AS CHECKBOX DEFAULT con_true. "REGISTER&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(30) text-c02 FOR FIELD p_f402.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_f402 AS CHECKBOX. "GET_BEFORE&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(30) text-c03 FOR FIELD p_f403.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_f403 AS CHECKBOX. "CHANGE_AFTER&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 5(30) text-c04 FOR FIELD p_f404.&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_f404 AS CHECKBOX. "INTERNAL_FORMAT&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK of4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_evt09 AS CHECKBOX, "MENU_BUTTON&lt;/P&gt;&lt;P&gt;p_evt10 AS CHECKBOX, "TOOLBAR&lt;/P&gt;&lt;P&gt;p_evt11 AS CHECKBOX. "CONTEXT_MENU_REQUEST&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_evt12 AS CHECKBOX, "ONDRAG&lt;/P&gt;&lt;P&gt;p_evt13 AS CHECKBOX, "ONDROP&lt;/P&gt;&lt;P&gt;p_evt14 AS CHECKBOX, "ONDROPCOMPLETE&lt;/P&gt;&lt;P&gt;p_evt15 AS CHECKBOX. "ONDROPGETFLAVOR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_evt16 AS CHECKBOX. "SUBTOTAL_TEXT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_evt17 AS CHECKBOX, "DATA_CHANGED&lt;/P&gt;&lt;P&gt;p_evt18 AS CHECKBOX, "DATA_CHANGED_FINISHED&lt;/P&gt;&lt;P&gt;p_evt19 AS CHECKBOX. "AFTER_REFRESH&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_evt20 AS CHECKBOX, "DELAYED_CALLBACK&lt;/P&gt;&lt;P&gt;p_evt21 AS CHECKBOX. "DELAYED_CHANGED_SEL_CALLBACK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;p_evt22 AS CHECKBOX, "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;p_evt23 AS CHECKBOX, "END_OF_LIST&lt;/P&gt;&lt;P&gt;p_evt24 AS CHECKBOX, "PRINT_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;p_evt25 AS CHECKBOX, "PRINT_END_OF_PAGE&lt;/P&gt;&lt;P&gt;p_evt26 AS CHECKBOX, "PRINT_TOP_OF_LIST&lt;/P&gt;&lt;P&gt;p_evt27 AS CHECKBOX. "PRINT_END_OF_LIST&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK evt.&lt;/P&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;P&gt;*AT SELECTION-SCREEN ON VALUE-REQUEST *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_hotspt-low.&lt;/P&gt;&lt;P&gt;  PERFORM d0100_f4_fcode CHANGING p_hotspt-low.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_button-low.&lt;/P&gt;&lt;P&gt;  PERFORM d0100_f4_fcode CHANGING p_button-low.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_onf4-low.&lt;/P&gt;&lt;P&gt;  PERFORM d0100_f4_fcode CHANGING p_onf4-low.&lt;/P&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;P&gt;*START-OF-SELECTION *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  gs_test-select_amount = p_amount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_test-no_info_popup = p_inf01.&lt;/P&gt;&lt;P&gt;  gs_test-info_popup_once = p_inf02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_test-application_events = p_appevt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_test-event-user_command = p_evt01.&lt;/P&gt;&lt;P&gt;  gs_test-event-before_user_command = p_evt02.&lt;/P&gt;&lt;P&gt;  gs_test-event-after_user_command = p_evt03.&lt;/P&gt;&lt;P&gt;  gs_test-event-double_click = p_evt04.&lt;/P&gt;&lt;P&gt;  gs_test-event-hotspot_click = p_evt05.&lt;/P&gt;&lt;P&gt;  gs_test-event-button_click = p_evt06.&lt;/P&gt;&lt;P&gt;  gs_test-event-onf1 = p_evt07.&lt;/P&gt;&lt;P&gt;  gs_test-event-onf4 = p_evt08.&lt;/P&gt;&lt;P&gt;  gs_test-event-menu_button = p_evt09.&lt;/P&gt;&lt;P&gt;  gs_test-event-toolbar = p_evt10.&lt;/P&gt;&lt;P&gt;  gs_test-event-context_menu_request = p_evt11.&lt;/P&gt;&lt;P&gt;  gs_test-event-ondrag = p_evt12.&lt;/P&gt;&lt;P&gt;  gs_test-event-ondrop = p_evt13.&lt;/P&gt;&lt;P&gt;  gs_test-event-ondropcomplete = p_evt14.&lt;/P&gt;&lt;P&gt;  gs_test-event-ondropgetflavor = p_evt15.&lt;/P&gt;&lt;P&gt;  gs_test-event-subtotal_text = p_evt16.&lt;/P&gt;&lt;P&gt;  gs_test-event-data_changed = p_evt17.&lt;/P&gt;&lt;P&gt;  gs_test-event-data_changed_finished = p_evt18.&lt;/P&gt;&lt;P&gt;  gs_test-event-after_refresh = p_evt19.&lt;/P&gt;&lt;P&gt;  gs_test-event-delayed_callback = p_evt20.&lt;/P&gt;&lt;P&gt;  gs_test-event-delayed_changed_sel_callback = p_evt21.&lt;/P&gt;&lt;P&gt;  gs_test-event-top_of_page = p_evt22.&lt;/P&gt;&lt;P&gt;  gs_test-event-end_of_list = p_evt23.&lt;/P&gt;&lt;P&gt;  gs_test-event-print_top_of_page = p_evt24.&lt;/P&gt;&lt;P&gt;  gs_test-event-print_end_of_page = p_evt25.&lt;/P&gt;&lt;P&gt;  gs_test-event-print_top_of_list = p_evt26.&lt;/P&gt;&lt;P&gt;  gs_test-event-print_end_of_list = p_evt27.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_test-onf4-register = p_f401.&lt;/P&gt;&lt;P&gt;  gs_test-onf4-get_before = p_f402.&lt;/P&gt;&lt;P&gt;  gs_test-onf4-change_after = p_f403.&lt;/P&gt;&lt;P&gt;  gs_test-onf4-internal_format = p_f404.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_evt05 NE space.&lt;/P&gt;&lt;P&gt;    LOOP AT p_hotspt.&lt;/P&gt;&lt;P&gt;      IF NOT p_hotspt-low IS INITIAL.&lt;/P&gt;&lt;P&gt;        APPEND p_hotspt-low TO gs_test-hotspot_fields.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF p_evt06 NE space.&lt;/P&gt;&lt;P&gt;    LOOP AT p_button.&lt;/P&gt;&lt;P&gt;      IF NOT p_button-low IS INITIAL.&lt;/P&gt;&lt;P&gt;        APPEND p_button-low TO gs_test-button_fields.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF p_evt08 NE space.&lt;/P&gt;&lt;P&gt;    LOOP AT p_onf4.&lt;/P&gt;&lt;P&gt;      IF NOT p_onf4-low IS INITIAL.&lt;/P&gt;&lt;P&gt;        APPEND p_onf4-low TO gs_test-onf4_fields.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_test-bypassing_buffer = space.&lt;/P&gt;&lt;P&gt;  gs_test-buffer_active = space.&lt;/P&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;P&gt;*END-OF-SELECTION *&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Module d0100_set_status OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;MODULE d0100_set_status OUTPUT.&lt;/P&gt;&lt;P&gt;  PERFORM d0100_set_status.&lt;/P&gt;&lt;P&gt;ENDMODULE. " d0100_set_status OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Module d0100_prepare_container OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;MODULE d0100_prepare_container OUTPUT.&lt;/P&gt;&lt;P&gt;  PERFORM d0100_prepare_container.&lt;/P&gt;&lt;P&gt;ENDMODULE. " d0100_prepare_container OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Module d0100_exit INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;MODULE d0100_exit INPUT.&lt;/P&gt;&lt;P&gt;  PERFORM d0100_exit.&lt;/P&gt;&lt;P&gt;ENDMODULE. " d0100_exit INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Module d0100_fcode INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;MODULE d0100_fcode INPUT.&lt;/P&gt;&lt;P&gt;  PERFORM d0100_fcode.&lt;/P&gt;&lt;P&gt;ENDMODULE. " d0100_fcode INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_set_status&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_set_status .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF l_ty_s_excl,&lt;/P&gt;&lt;P&gt;  func TYPE syucomm,&lt;/P&gt;&lt;P&gt;  END OF l_ty_s_excl,&lt;/P&gt;&lt;P&gt;  l_ty_t_excl TYPE STANDARD TABLE OF l_ty_s_excl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lt_excl TYPE l_ty_t_excl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'D0100' EXCLUDING lt_excl.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR 'D0100'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_set_status&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_prepare_container&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_prepare_container .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lt_fcat TYPE lvc_t_fcat,&lt;/P&gt;&lt;P&gt;  ls_layo TYPE lvc_s_layo,&lt;/P&gt;&lt;P&gt;  ls_vari TYPE disvariant,&lt;/P&gt;&lt;P&gt;  ls_prnt TYPE lvc_s_prnt,&lt;/P&gt;&lt;P&gt;  l_consistency_check TYPE char1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gr_container_d0100 IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF cl_gui_alv_grid=&amp;gt;offline( ) IS INITIAL.&lt;/P&gt;&lt;P&gt;      CREATE OBJECT gr_container_d0100&lt;/P&gt;&lt;P&gt;      EXPORTING container_name = 'ALV_CONTAINER'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT gr_grid_d0100&lt;/P&gt;&lt;P&gt;    EXPORTING i_parent = gr_container_d0100&lt;/P&gt;&lt;P&gt;    i_appl_events = gs_test-application_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM d0100_get_outtab.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_set_grid_vari CHANGING ls_vari.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_set_grid_layo CHANGING ls_layo.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_set_grid_fcat CHANGING lt_fcat.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_set_grid_onf4 CHANGING lt_fcat.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_set_grid_buttons CHANGING lt_fcat.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_set_grid_hotspot CHANGING lt_fcat.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_set_grid_dragdrop CHANGING ls_layo.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_set_grid_edit CHANGING ls_layo.&lt;/P&gt;&lt;P&gt;    PERFORM d0100_set_grid_events.&lt;/P&gt;&lt;P&gt;    ls_prnt-grpchgedit = con_true.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL METHOD gr_grid_d0100-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_buffer_active     = gs_test-buffer_active&lt;/P&gt;&lt;P&gt;        i_bypassing_buffer  = gs_test-bypassing_buffer&lt;/P&gt;&lt;P&gt;        i_consistency_check = l_consistency_check&lt;/P&gt;&lt;P&gt;        is_variant          = ls_vari&lt;/P&gt;&lt;P&gt;        i_save              = 'A'&lt;/P&gt;&lt;P&gt;        i_default           = con_true&lt;/P&gt;&lt;P&gt;        is_layout           = ls_layo&lt;/P&gt;&lt;P&gt;        is_print            = ls_prnt&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        it_outtab           = gt_outtab[]&lt;/P&gt;&lt;P&gt;        it_fieldcatalog     = lt_fcat.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_prepare_container&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_exit&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_exit .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_okcode LIKE sy-ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_okcode = g_okcode.&lt;/P&gt;&lt;P&gt;  CLEAR g_okcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CASE l_okcode.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CASE sy-ucomm.&lt;/P&gt;&lt;P&gt;    WHEN con_exit OR con_back OR con_canc.&lt;/P&gt;&lt;P&gt;      CALL METHOD gr_grid_d0100-&amp;gt;free.&lt;/P&gt;&lt;P&gt;      CALL METHOD gr_container_d0100-&amp;gt;free.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL METHOD cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR gr_container_d0100.&lt;/P&gt;&lt;P&gt;      CLEAR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;      CLEAR gr_events_d0100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SET SCREEN 0.&lt;/P&gt;&lt;P&gt;      LEAVE SCREEN.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_exit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_fcode&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_fcode .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_okcode LIKE sy-ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_okcode = g_okcode.&lt;/P&gt;&lt;P&gt;  CLEAR g_okcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD cl_gui_cfw=&amp;gt;dispatch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE l_okcode.&lt;/P&gt;&lt;P&gt;    WHEN con_exit OR con_back OR con_canc.&lt;/P&gt;&lt;P&gt;      g_okcode = l_okcode.&lt;/P&gt;&lt;P&gt;      PERFORM d0100_exit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_fcode&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_set_grid_vari&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_set_grid_vari CHANGING cs_vari TYPE disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cs_vari-report = sy-repid.&lt;/P&gt;&lt;P&gt;  cs_vari-handle = space.&lt;/P&gt;&lt;P&gt;  cs_vari-log_group = space.&lt;/P&gt;&lt;P&gt;  cs_vari-username = space.&lt;/P&gt;&lt;P&gt;  cs_vari-variant = space.&lt;/P&gt;&lt;P&gt;  cs_vari-text = space.&lt;/P&gt;&lt;P&gt;  cs_vari-dependvars = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_set_grid_vari&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_set_grid_layo&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_set_grid_layo CHANGING cs_layo TYPE lvc_s_layo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... ALV-Control: Allgemeine Anzeigeoptionen&lt;/P&gt;&lt;P&gt;  cs_layo-stylefname = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cs_layo-cwidth_opt = con_true.&lt;/P&gt;&lt;P&gt;  cs_layo-zebra = space.&lt;/P&gt;&lt;P&gt;  cs_layo-smalltitle = space.&lt;/P&gt;&lt;P&gt;  cs_layo-graphics = space.&lt;/P&gt;&lt;P&gt;  cs_layo-frontend = space.&lt;/P&gt;&lt;P&gt;  cs_layo-template = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... ALV-Control: Gridcustomizing&lt;/P&gt;&lt;P&gt;  cs_layo-no_colexpd = space.&lt;/P&gt;&lt;P&gt;  cs_layo-no_hgridln = space.&lt;/P&gt;&lt;P&gt;  cs_layo-no_vgridln = space.&lt;/P&gt;&lt;P&gt;  cs_layo-no_rowmark = space.&lt;/P&gt;&lt;P&gt;  cs_layo-no_headers = space.&lt;/P&gt;&lt;P&gt;  cs_layo-no_merging = space.&lt;/P&gt;&lt;P&gt;  cs_layo-grid_title = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cs_layo-no_toolbar = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cs_layo-sel_mode = 'D'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cs_layo-box_fname = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cs_layo-sgl_clk_hd = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... ALV-Control: Summenoptionen&lt;/P&gt;&lt;P&gt;  cs_layo-totals_bef = space.&lt;/P&gt;&lt;P&gt;  cs_layo-no_totline = space.&lt;/P&gt;&lt;P&gt;  cs_layo-numc_total = space.&lt;/P&gt;&lt;P&gt;  cs_layo-no_utsplit = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... ALV-Control: Exceptions&lt;/P&gt;&lt;P&gt;  cs_layo-excp_fname = 'LIGHTS'.&lt;/P&gt;&lt;P&gt;  cs_layo-excp_rolln = space.&lt;/P&gt;&lt;P&gt;  cs_layo-excp_conds = space.&lt;/P&gt;&lt;P&gt;  cs_layo-excp_led = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... ALV-Control: Steuerung Interaktion&lt;/P&gt;&lt;P&gt;  cs_layo-detailinit = space.&lt;/P&gt;&lt;P&gt;  cs_layo-detailtitl = space.&lt;/P&gt;&lt;P&gt;  cs_layo-keyhot = space.&lt;/P&gt;&lt;P&gt;  cs_layo-no_keyfix = space.&lt;/P&gt;&lt;P&gt;  cs_layo-no_author = space.&lt;/P&gt;&lt;P&gt;  CLEAR cs_layo-s_dragdrop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... ALV-Control: Farben&lt;/P&gt;&lt;P&gt;  cs_layo-info_fname = space.&lt;/P&gt;&lt;P&gt;  cs_layo-ctab_fname = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... ALV-Control: Eingabefähigkeit&lt;/P&gt;&lt;P&gt;  cs_layo-edit = space.&lt;/P&gt;&lt;P&gt;  cs_layo-edit_mode = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cs_layo-no_rowins = space.&lt;/P&gt;&lt;P&gt;  cs_layo-no_rowmove = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... ALV-Control: Web-Optionen&lt;/P&gt;&lt;P&gt;  cs_layo-weblook = space.&lt;/P&gt;&lt;P&gt;  cs_layo-webstyle = space.&lt;/P&gt;&lt;P&gt;  cs_layo-webrows = space.&lt;/P&gt;&lt;P&gt;  cs_layo-webxwidth = space.&lt;/P&gt;&lt;P&gt;  cs_layo-webxheight = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_set_grid_layo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_set_grid_fcat&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_set_grid_fcat CHANGING ct_fcat TYPE lvc_t_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_buffer_active        = gs_test-buffer_active&lt;/P&gt;&lt;P&gt;      i_structure_name       = con_sflight&lt;/P&gt;&lt;P&gt;      i_client_never_display = con_true&lt;/P&gt;&lt;P&gt;      i_bypassing_buffer     = gs_test-bypassing_buffer&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      ct_fieldcat            = ct_fcat[]&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;      program_error          = 2&lt;/P&gt;&lt;P&gt;      OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_set_grid_fcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_set_grid_onf4&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_set_grid_onf4 CHANGING ct_fcat TYPE lvc_t_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: register_f4_for_fields&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      it_f4 = lt_f4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_set_grid_onf4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_set_grid_buttons&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_set_grid_buttons CHANGING ct_fcat TYPE lvc_t_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: mc_style_button.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_set_grid_buttons&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_set_grid_hotspot&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_set_grid_hotspot CHANGING ct_fcat TYPE lvc_t_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: mc_style_hotspot.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_set_grid_hotspot&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_set_grid_edit&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_set_grid_edit CHANGING cs_layo TYPE lvc_s_layo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-data_changed EQ con_true OR&lt;/P&gt;&lt;P&gt;  gs_test-event-data_changed_finished EQ con_true OR&lt;/P&gt;&lt;P&gt;  gs_test-event-after_refresh EQ con_true.&lt;/P&gt;&lt;P&gt;    cs_layo-edit = con_true.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL METHOD gr_grid_d0100-&amp;gt;register_edit_event&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_event_id = cl_gui_alv_grid=&amp;gt;mc_evt_enter.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_set_grid_edit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_set_grid_dragdrop&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_set_grid_dragdrop CHANGING cs_layo TYPE lvc_s_layo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_effect TYPE i,&lt;/P&gt;&lt;P&gt;  l_handle_grid TYPE i,&lt;/P&gt;&lt;P&gt;  ls_dragdrop TYPE lvc_s_dd01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... setzen für Zeilen&lt;/P&gt;&lt;P&gt;  CREATE OBJECT gr_grid_dragdrop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_effect = cl_dragdrop=&amp;gt;move + cl_dragdrop=&amp;gt;copy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD gr_grid_dragdrop-&amp;gt;add&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      flavor     = 'Line'                                   "#EC NOTEXT&lt;/P&gt;&lt;P&gt;      dragsrc    = 'X'&lt;/P&gt;&lt;P&gt;      droptarget = 'X'&lt;/P&gt;&lt;P&gt;      effect     = l_effect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD gr_grid_dragdrop-&amp;gt;get_handle&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      handle = l_handle_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ls_dragdrop-cntr_ddid = space.&lt;/P&gt;&lt;P&gt;  ls_dragdrop-grid_ddid = space.&lt;/P&gt;&lt;P&gt;  ls_dragdrop-col_ddid = space.&lt;/P&gt;&lt;P&gt;  ls_dragdrop-row_ddid = l_handle_grid.&lt;/P&gt;&lt;P&gt;  ls_dragdrop-fieldname = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  cs_layo-s_dragdrop = ls_dragdrop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_set_grid_dragdrop&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_set_grid_events&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_set_grid_events .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT gr_events_d0100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-user_command EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;user_command&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-before_user_command EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;before_user_command&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-after_user_command EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;after_user_command&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-double_click EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;double_click&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-hotspot_click EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;hotspot_click&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-button_click EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;button_click&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-onf1 EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;onf1&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-onf4 EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;onf4&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-menu_button EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;menu_button&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-toolbar EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;toolbar&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-context_menu_request EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;context_menu_request&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-ondrag EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;ondrag&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-ondrop EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;ondrop&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-ondropcomplete EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;ondropcomplete&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-ondropgetflavor EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;ondropgetflavor&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-subtotal_text EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;subtotal_text&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-data_changed EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;data_changed&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-data_changed_finished EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;data_changed_finished&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-after_refresh EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;after_refresh&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-delayed_callback EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;delayed_callback&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;    CALL METHOD gr_grid_d0100-&amp;gt;register_delayed_event&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_event_id = cl_gui_alv_grid=&amp;gt;mc_evt_delayed_move_curr_cell.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-delayed_changed_sel_callback EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;delayed_changed_sel_callback&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;    CALL METHOD gr_grid_d0100-&amp;gt;register_delayed_event&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_event_id = cl_gui_alv_grid=&amp;gt;mc_evt_delayed_change_select.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-top_of_page EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;top_of_page&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-end_of_list EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;end_of_list&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-print_top_of_page EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;print_top_of_page&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-print_end_of_page EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;print_end_of_page&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-print_top_of_list EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;print_top_of_list&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-event-print_end_of_list EQ con_true.&lt;/P&gt;&lt;P&gt;    SET HANDLER gr_events_d0100-&amp;gt;print_end_of_list&lt;/P&gt;&lt;P&gt;    FOR gr_grid_d0100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_set_grid_events&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_get_outtab&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_get_outtab .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: -lights = l_excp.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT gt_outtab BY carrid connid fldate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_get_outtab&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_get_carrid&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_get_carrid CHANGING ct_carrid TYPE g_ty_t_carrid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM (con_scarr) INTO TABLE ct_carrid&lt;/P&gt;&lt;P&gt;  ORDER BY PRIMARY KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_get_chck&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_get_connid&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_get_connid CHANGING ct_connid TYPE g_ty_t_connid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM (con_spfli) INTO TABLE ct_connid&lt;/P&gt;&lt;P&gt;  ORDER BY PRIMARY KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_get_connid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_get_plane&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_get_plane USING value(it_connid) TYPE g_ty_t_connid&lt;/P&gt;&lt;P&gt;CHANGING ct_plane TYPE g_ty_t_plane.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_connid TYPE g_ty_s_connid,&lt;/P&gt;&lt;P&gt;  ls_plane TYPE g_ty_s_plane.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_connid INTO ls_connid.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING ls_connid TO ls_plane.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CASE ls_plane-carrid.&lt;/P&gt;&lt;P&gt;      WHEN 'AA' OR 'AB' OR 'AC' OR 'AF'.&lt;/P&gt;&lt;P&gt;        CASE ls_plane-connid.&lt;/P&gt;&lt;P&gt;          WHEN '0017'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = '146-200'.&lt;/P&gt;&lt;P&gt;          WHEN '0026'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = '146-300'.&lt;/P&gt;&lt;P&gt;          WHEN '0064'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = '737-200SF'.&lt;/P&gt;&lt;P&gt;        ENDCASE.&lt;/P&gt;&lt;P&gt;      WHEN 'AZ' OR 'BA' OR 'CO' OR 'DL' OR 'FJ'.&lt;/P&gt;&lt;P&gt;        CASE ls_plane-connid.&lt;/P&gt;&lt;P&gt;          WHEN '0555'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = '747-200F'.&lt;/P&gt;&lt;P&gt;          WHEN '0789'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = '757F'.&lt;/P&gt;&lt;P&gt;          WHEN '0791'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = '767-200'.&lt;/P&gt;&lt;P&gt;        ENDCASE.&lt;/P&gt;&lt;P&gt;      WHEN 'JL'.&lt;/P&gt;&lt;P&gt;        CASE ls_plane-connid.&lt;/P&gt;&lt;P&gt;          WHEN '1699'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = '767-300'.&lt;/P&gt;&lt;P&gt;          WHEN '1984'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = 'A310-200'.&lt;/P&gt;&lt;P&gt;        ENDCASE.&lt;/P&gt;&lt;P&gt;      WHEN 'LH'.&lt;/P&gt;&lt;P&gt;        CASE ls_plane-connid.&lt;/P&gt;&lt;P&gt;          WHEN '0400'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = 'A310-200F'.&lt;/P&gt;&lt;P&gt;          WHEN '0402'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = 'A310-200SF'.&lt;/P&gt;&lt;P&gt;          WHEN '2407'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = 'A330-300'.&lt;/P&gt;&lt;P&gt;          WHEN '2463'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = 'DC-8-72'.&lt;/P&gt;&lt;P&gt;          WHEN '3577'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = 'FOKKER 100'.&lt;/P&gt;&lt;P&gt;        ENDCASE.&lt;/P&gt;&lt;P&gt;      WHEN 'NG' OR 'NW'.&lt;/P&gt;&lt;P&gt;        CASE ls_plane-connid.&lt;/P&gt;&lt;P&gt;          WHEN '0001'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = '737-200'.&lt;/P&gt;&lt;P&gt;          WHEN '0006'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = 'A321'.&lt;/P&gt;&lt;P&gt;          WHEN '0012'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = '727-200'.&lt;/P&gt;&lt;P&gt;        ENDCASE.&lt;/P&gt;&lt;P&gt;      WHEN 'QF'.&lt;/P&gt;&lt;P&gt;        CASE ls_plane-connid.&lt;/P&gt;&lt;P&gt;          WHEN '0005'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = 'FOKKER 70'.&lt;/P&gt;&lt;P&gt;          WHEN '0006'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = 'L-100-30'.&lt;/P&gt;&lt;P&gt;        ENDCASE.&lt;/P&gt;&lt;P&gt;      WHEN 'SA' OR 'SQ' OR 'SR'.&lt;/P&gt;&lt;P&gt;        CASE ls_plane-connid.&lt;/P&gt;&lt;P&gt;          WHEN '0002'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = 'L-1011-100'.&lt;/P&gt;&lt;P&gt;          WHEN '0015'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = 'RJ115'.&lt;/P&gt;&lt;P&gt;          WHEN '0066'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = 'RJ85'.&lt;/P&gt;&lt;P&gt;          WHEN '0114'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = 'YAK-242'.&lt;/P&gt;&lt;P&gt;          WHEN '0117'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = 'A310-300'.&lt;/P&gt;&lt;P&gt;        ENDCASE.&lt;/P&gt;&lt;P&gt;      WHEN 'UA'.&lt;/P&gt;&lt;P&gt;        CASE ls_plane-connid.&lt;/P&gt;&lt;P&gt;          WHEN '0007'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = 'A319'.&lt;/P&gt;&lt;P&gt;          WHEN '0941'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = 'DC-10-10'.&lt;/P&gt;&lt;P&gt;          WHEN '3504'.&lt;/P&gt;&lt;P&gt;            ls_plane-planetype = '747-400'.&lt;/P&gt;&lt;P&gt;        ENDCASE.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CASE ls_plane-planetype.&lt;/P&gt;&lt;P&gt;      WHEN '146-200'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '112'.&lt;/P&gt;&lt;P&gt;      WHEN '146-300'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '128'.&lt;/P&gt;&lt;P&gt;      WHEN '737-200SF'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '13'.&lt;/P&gt;&lt;P&gt;      WHEN '747-200F'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '171'.&lt;/P&gt;&lt;P&gt;      WHEN '757F'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '239'.&lt;/P&gt;&lt;P&gt;      WHEN '767-200'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '290'.&lt;/P&gt;&lt;P&gt;      WHEN '767-300'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '345'.&lt;/P&gt;&lt;P&gt;      WHEN 'A310-200'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '280'.&lt;/P&gt;&lt;P&gt;      WHEN 'A310-200F'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '10'.&lt;/P&gt;&lt;P&gt;      WHEN 'A310-200SF'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '8'.&lt;/P&gt;&lt;P&gt;      WHEN 'A330-300'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '223'.&lt;/P&gt;&lt;P&gt;      WHEN 'DC-8-72'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '201'.&lt;/P&gt;&lt;P&gt;      WHEN 'FOKKER 100'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '107'.&lt;/P&gt;&lt;P&gt;      WHEN 'FOKKER 70'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '79'.&lt;/P&gt;&lt;P&gt;      WHEN 'L-100-30'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '97'.&lt;/P&gt;&lt;P&gt;      WHEN 'L-1011-100'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '400'.&lt;/P&gt;&lt;P&gt;      WHEN 'RJ115'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '128'.&lt;/P&gt;&lt;P&gt;      WHEN 'RJ85'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '112'.&lt;/P&gt;&lt;P&gt;      WHEN 'YAK-242'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '180'.&lt;/P&gt;&lt;P&gt;      WHEN 'A310-300'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '280'.&lt;/P&gt;&lt;P&gt;      WHEN 'A319'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '220'.&lt;/P&gt;&lt;P&gt;      WHEN 'DC-10-10'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '380'.&lt;/P&gt;&lt;P&gt;      WHEN '747-400'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '385'.&lt;/P&gt;&lt;P&gt;      WHEN '737-200'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '130'.&lt;/P&gt;&lt;P&gt;      WHEN 'A321'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '220'.&lt;/P&gt;&lt;P&gt;      WHEN '727-200'.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '189'.&lt;/P&gt;&lt;P&gt;      WHEN OTHERS.&lt;/P&gt;&lt;P&gt;        ls_plane-seatsmax = '999'.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    INSERT ls_plane INTO TABLE ct_plane.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_get_plane&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_data_changed&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_data_changed USING er_data_changed&lt;/P&gt;&lt;P&gt;e_onf4&lt;/P&gt;&lt;P&gt;e_onf4_before&lt;/P&gt;&lt;P&gt;e_onf4_after.                                               "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_text TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE text-001&lt;/P&gt;&lt;P&gt;  text-103 e_onf4&lt;/P&gt;&lt;P&gt;  text-104 e_onf4_before&lt;/P&gt;&lt;P&gt;  text-105 e_onf4_after&lt;/P&gt;&lt;P&gt;  INTO l_text SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'DATA_CHANGED'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'DATA_CHANGED' INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... die Ausgabetabelle ist noch nicht aktualisiert&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*hier sollen semantische Prüfungen zunächst erfolgen über&lt;/P&gt;&lt;P&gt;*er_data_changed-&amp;gt;mt_good_cells&lt;/P&gt;&lt;P&gt;*Fehler können dann dem Fehlerprotokoll angehängt werden&lt;/P&gt;&lt;P&gt;*er_data_changed-&amp;gt;add_protocol_entry&lt;/P&gt;&lt;P&gt;*Es darf an dieser Stelle kein Refresh erfolgen!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_data_changed&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_data_changed_finis&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_data_changed_finis .                       "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'DATA_CHANGED_FINISHED'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'DATA_CHANGED_FINISHED' INTO gs_test-events_info_popup&lt;/P&gt;&lt;P&gt;      INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-002.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-002.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... die Ausgabetabelle ist nun aktualisiert&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_data_changed_finis&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_ucomm&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_ucomm USING e_ucomm TYPE sy-ucomm.         "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'USER_COMMAND' INTO gs_test-events_info_popup&lt;/P&gt;&lt;P&gt;      INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-003 e_ucomm.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-003 e_ucomm.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_ucomm TYPE sy-ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... An dieser Stelle kann die Logik für die Funktion hinterlegt werden&lt;/P&gt;&lt;P&gt;*... At this point, the logic for the function you are&lt;/P&gt;&lt;P&gt;  CASE e_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN 'EnableStaticMenu' OR 'EnableStaticMenuDefault'.&lt;/P&gt;&lt;P&gt;      l_ucomm = 'Enable'.                                   "#EC NOTEXT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'DisableStaticMenu' OR 'DisableStaticMenuDefault'.&lt;/P&gt;&lt;P&gt;      l_ucomm = 'Disable'.                                  "#EC NOTEXT&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE e_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN 'EnableStaticMenu' OR 'DisableStaticMenu'.&lt;/P&gt;&lt;P&gt;      PERFORM d0100_enable_disable_menu USING g_static_menu&lt;/P&gt;&lt;P&gt;      l_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN 'EnableStaticMenuDefault' OR 'DisableStaticMenuDefault'.&lt;/P&gt;&lt;P&gt;      PERFORM d0100_enable_disable_menu USING g_static_menu_default&lt;/P&gt;&lt;P&gt;      l_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_ucomm&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_before_ucomm&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_before_ucomm USING e_ucomm TYPE sy-ucomm.  "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&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; IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WITH KEY table_line = 'BEFORE_USER_COMMAND'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF sy-subrc NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INSERT 'BEFORE_USER_COMMAND' INTO gs_test-events_info_popup&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INDEX 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MESSAGE i000(0k) WITH text-004 e_ucomm.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE i000(0k) WITH text-004 e_ucomm.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&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; PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;skip.&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_before_ucomm&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_after_ucomm&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_after_ucomm USING e_ucomm TYPE sy-ucomm&lt;/P&gt;&lt;P&gt;e_not_processed TYPE char1&lt;/P&gt;&lt;P&gt;e_saved TYPE char1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname,                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;  l_text1 TYPE string,&lt;/P&gt;&lt;P&gt;  l_text2 TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE 'E_NOT_PROCESSED =' e_not_processed INTO l_text1.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'E_SAVED =' e_saved INTO l_text2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'AFTER_USER_COMMAND'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'AFTER_USER_COMMAND' INTO gs_test-events_info_popup&lt;/P&gt;&lt;P&gt;      INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-005 e_ucomm l_text1 l_text2.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-005 e_ucomm l_text1 l_text2.&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; PERFORM d0100_get_grid_infos.&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; PERFORM d0100_apply_filter.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_after_ucomm&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_double_click&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_double_click USING e_row TYPE lvc_s_row&lt;/P&gt;&lt;P&gt;e_column TYPE lvc_s_col.                                    "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_text TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE text-006&lt;/P&gt;&lt;P&gt;  text-100 e_row-index&lt;/P&gt;&lt;P&gt;  text-101 e_column-fieldname&lt;/P&gt;&lt;P&gt;  INTO l_text SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'DOUBLE_CLICK'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'DOUBLE_CLICK' INTO gs_test-events_info_popup&lt;/P&gt;&lt;P&gt;      INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_double_click&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_hotspot_click&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_hotspot_click USING e_row_id TYPE lvc_s_row&lt;/P&gt;&lt;P&gt;e_column_id TYPE lvc_s_col.                                 "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_text TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE text-007&lt;/P&gt;&lt;P&gt;  text-100 e_row_id-index&lt;/P&gt;&lt;P&gt;  text-101 e_column_id-fieldname&lt;/P&gt;&lt;P&gt;  INTO l_text SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'HOTSPOT_CLICK'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'HOTSPOT_CLICK' INTO gs_test-events_info_popup&lt;/P&gt;&lt;P&gt;      INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_hotspot_click&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_menu_button&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_menu_button USING e_object TYPE REF TO cl_ctmenu&lt;/P&gt;&lt;P&gt;e_ucomm LIKE sy-ucomm.                                      "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'MENU_BUTTON'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'MENU_BUTTON' INTO gs_test-events_info_popup&lt;/P&gt;&lt;P&gt;      INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-008 e_ucomm.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-008 e_ucomm.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE e_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN 'MyStaticMenuDefault'.&lt;/P&gt;&lt;P&gt;      CALL METHOD e_object-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          fcode    = 'MyStaticMenuDefaultFunc1'&lt;/P&gt;&lt;P&gt;          text     = 'MyStaticMenuDefaultFunc1'&lt;/P&gt;&lt;P&gt;          icon     = space&lt;/P&gt;&lt;P&gt;          ftype    = '6'&lt;/P&gt;&lt;P&gt;          disabled = space&lt;/P&gt;&lt;P&gt;          hidden   = space&lt;/P&gt;&lt;P&gt;          checked  = space.&lt;/P&gt;&lt;P&gt;      CALL METHOD e_object-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          fcode    = 'MyStaticMenuDefaultFunc2Disable'&lt;/P&gt;&lt;P&gt;          text     = 'MyStaticMenuDefaultFunc2Disable'&lt;/P&gt;&lt;P&gt;          icon     = space&lt;/P&gt;&lt;P&gt;          ftype    = '6'&lt;/P&gt;&lt;P&gt;          disabled = con_true&lt;/P&gt;&lt;P&gt;          hidden   = space&lt;/P&gt;&lt;P&gt;          checked  = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'MyMenuDefault'.&lt;/P&gt;&lt;P&gt;      CALL METHOD e_object-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          fcode    = 'MyMenuDefaultFunc1'&lt;/P&gt;&lt;P&gt;          text     = 'MyMenuDefaultFunc1'&lt;/P&gt;&lt;P&gt;          icon     = space&lt;/P&gt;&lt;P&gt;          ftype    = '6'&lt;/P&gt;&lt;P&gt;          disabled = space&lt;/P&gt;&lt;P&gt;          hidden   = space&lt;/P&gt;&lt;P&gt;          checked  = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL METHOD e_object-&amp;gt;add_separator.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL METHOD e_object-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          fcode    = 'MyMenuDefaultFunc2'&lt;/P&gt;&lt;P&gt;          text     = 'MyMenuDefaultFunc2Disabled'&lt;/P&gt;&lt;P&gt;          icon     = space&lt;/P&gt;&lt;P&gt;          ftype    = '6'&lt;/P&gt;&lt;P&gt;          disabled = con_true&lt;/P&gt;&lt;P&gt;          hidden   = space&lt;/P&gt;&lt;P&gt;          checked  = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'MyMenu'.&lt;/P&gt;&lt;P&gt;      CALL METHOD e_object-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          fcode    = 'MyMenuFunc1'&lt;/P&gt;&lt;P&gt;          text     = 'MyMenuFunc1'&lt;/P&gt;&lt;P&gt;          icon     = space&lt;/P&gt;&lt;P&gt;          ftype    = '6'&lt;/P&gt;&lt;P&gt;          disabled = space&lt;/P&gt;&lt;P&gt;          hidden   = space&lt;/P&gt;&lt;P&gt;          checked  = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL METHOD e_object-&amp;gt;add_separator.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL METHOD e_object-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          fcode    = 'MyMenuFunc2'&lt;/P&gt;&lt;P&gt;          text     = 'MyMenuFunc2Disabled'&lt;/P&gt;&lt;P&gt;          icon     = space&lt;/P&gt;&lt;P&gt;          ftype    = '6'&lt;/P&gt;&lt;P&gt;          disabled = con_true&lt;/P&gt;&lt;P&gt;          hidden   = space&lt;/P&gt;&lt;P&gt;          checked  = space.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_menu_button&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_toolbar&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_toolbar USING e_object&lt;/P&gt;&lt;P&gt;TYPE REF TO cl_alv_event_toolbar_set&lt;/P&gt;&lt;P&gt;e_interactive TYPE c.                                       "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'TOOLBAR'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'TOOLBAR' INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-009.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-009.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... An dieser Stelle kann der Toolbar um weitere Funktionen ergänzt&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*werden.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_toolbar TYPE stb_button,&lt;/P&gt;&lt;P&gt;  ls_menu TYPE stb_btnmnu,&lt;/P&gt;&lt;P&gt;  lc_menu TYPE REF TO cl_ctmenu,&lt;/P&gt;&lt;P&gt;  lc_menu_2 TYPE REF TO cl_ctmenu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*STATIC MENU&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*... Statischer Menu im Toolbar eintragen&lt;/P&gt;&lt;P&gt;  CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'MyStaticMenu'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-icon = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '2'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-disabled = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-text = 'MyStaticMenu'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-quickinfo = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-checked = space.&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;*... Statischer Menu anlegen&lt;/P&gt;&lt;P&gt;  CREATE OBJECT lc_menu.&lt;/P&gt;&lt;P&gt;  CALL METHOD lc_menu-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      fcode       = 'MyStaticMenuFunc1'&lt;/P&gt;&lt;P&gt;      text        = 'MyStaticMenuFunc1'&lt;/P&gt;&lt;P&gt;      icon        = space&lt;/P&gt;&lt;P&gt;      ftype       = space&lt;/P&gt;&lt;P&gt;      disabled    = space&lt;/P&gt;&lt;P&gt;      hidden      = space&lt;/P&gt;&lt;P&gt;      checked     = space&lt;/P&gt;&lt;P&gt;      accelerator = space.&lt;/P&gt;&lt;P&gt;  CALL METHOD lc_menu-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      fcode       = 'MyStaticMenuFunc2Disabled'&lt;/P&gt;&lt;P&gt;      text        = 'MyStaticMenuFunc2Disabled'&lt;/P&gt;&lt;P&gt;      icon        = space&lt;/P&gt;&lt;P&gt;      ftype       = space&lt;/P&gt;&lt;P&gt;      disabled    = con_true&lt;/P&gt;&lt;P&gt;      hidden      = space&lt;/P&gt;&lt;P&gt;      checked     = space&lt;/P&gt;&lt;P&gt;      accelerator = space.&lt;/P&gt;&lt;P&gt;  ls_menu-ctmenu = lc_menu.&lt;/P&gt;&lt;P&gt;  ls_menu-function = 'MyStaticMenu'.&lt;/P&gt;&lt;P&gt;  APPEND ls_menu TO e_object-&amp;gt;mt_btnmnu.&lt;/P&gt;&lt;P&gt;  g_static_menu = lc_menu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... Normal Button&lt;/P&gt;&lt;P&gt;  CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'EnableStaticMenu'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-icon = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '0'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-disabled = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-text = 'EnableStaticMenu'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-quickinfo = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-checked = space.&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;*... Normal Button&lt;/P&gt;&lt;P&gt;  CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'DisableStaticMenu'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-icon = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '0'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-disabled = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-text = 'DisableStaticMenu'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-quickinfo = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-checked = space.&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;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DEFAULT STATIC MENU&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*...Seperator&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'DUMMY'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '3'.&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;*... Statischer Menu Default im Toolbar eintragen&lt;/P&gt;&lt;P&gt;  CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'MyStaticMenuDefault'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-icon = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '1'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-disabled = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-text = 'MyStaticMenuDefault'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-quickinfo = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-checked = space.&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;*... Statischer Menu Default anlegen&lt;/P&gt;&lt;P&gt;  CREATE OBJECT lc_menu_2.&lt;/P&gt;&lt;P&gt;  CALL METHOD lc_menu_2-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      fcode       = 'MyStaticMenuDefaultFunc1'&lt;/P&gt;&lt;P&gt;      text        = 'MyStaticMenuDefaultFunc1'&lt;/P&gt;&lt;P&gt;      icon        = space&lt;/P&gt;&lt;P&gt;      ftype       = '6'&lt;/P&gt;&lt;P&gt;      disabled    = space&lt;/P&gt;&lt;P&gt;      hidden      = space&lt;/P&gt;&lt;P&gt;      checked     = space&lt;/P&gt;&lt;P&gt;      accelerator = space.&lt;/P&gt;&lt;P&gt;  CALL METHOD lc_menu_2-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      fcode       = 'MyStaticMenuDefaultFunc2Disabled'&lt;/P&gt;&lt;P&gt;      text        = 'MyStaticMenuDefaultFunc2Disabled'&lt;/P&gt;&lt;P&gt;      icon        = space&lt;/P&gt;&lt;P&gt;      ftype       = '6'&lt;/P&gt;&lt;P&gt;      disabled    = con_true&lt;/P&gt;&lt;P&gt;      hidden      = space&lt;/P&gt;&lt;P&gt;      checked     = space&lt;/P&gt;&lt;P&gt;      accelerator = space.&lt;/P&gt;&lt;P&gt;  CLEAR ls_menu.&lt;/P&gt;&lt;P&gt;  ls_menu-ctmenu = lc_menu_2.&lt;/P&gt;&lt;P&gt;  ls_menu-function = 'MyStaticMenuDefault'.&lt;/P&gt;&lt;P&gt;  APPEND ls_menu TO e_object-&amp;gt;mt_btnmnu.&lt;/P&gt;&lt;P&gt;  g_static_menu_default = lc_menu_2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... Normal Button&lt;/P&gt;&lt;P&gt;  CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'EnableStaticMenuDefault'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-icon = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '0'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-disabled = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-text = 'EnableStaticMenuDefault'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-quickinfo = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-checked = space.&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;*... Normal Button&lt;/P&gt;&lt;P&gt;  CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'DisableStaticMenuDefault'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-icon = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '0'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-disabled = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-text = 'DisableStaticMenuDefault'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-quickinfo = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-checked = space.&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;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MENU&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*...Seperator&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'DUMMY'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '3'.&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;*... Menu&lt;/P&gt;&lt;P&gt;  CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'MyMenu'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-icon = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '2'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-disabled = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-text = 'MyMenu'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-quickinfo = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-checked = space.&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;*... Menueintrag - noch nicht aktiv&lt;/P&gt;&lt;P&gt;  CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'MyMenuFunc'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-icon = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '6'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-disabled = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-text = 'MyMenuFunc'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-quickinfo = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-checked = space.&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;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DEFAULT MENU&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*...Seperator&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'DUMMY'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '3'.&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;*... Menu + Defaultbutton&lt;/P&gt;&lt;P&gt;  CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'MyMenuDefault'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-icon = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '1'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-disabled = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-text = 'MyMenuDefault'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-quickinfo = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-checked = space.&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;*... Menueintrag - noch nicht aktiv&lt;/P&gt;&lt;P&gt;  CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'MyMenuDefaultFunc'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-icon = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '6'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-disabled = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-text = 'MyMenuDefaultFunc'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-quickinfo = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-checked = space.&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;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*BUTTON&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*...Seperator&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'DUMMY'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '3'.&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;*... Normal Button&lt;/P&gt;&lt;P&gt;  CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'MyFunc1'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-icon = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '0'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-disabled = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-text = 'MyFunc'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-quickinfo = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-checked = space.&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;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CHECKBOX&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*...Seperator&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'DUMMY'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '3'.&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;*... Checkbox&lt;/P&gt;&lt;P&gt;  CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'MyCheckBox'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-icon = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '5'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-disabled = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-text = 'MyCheckBox'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-quickinfo = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-checked = space.&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;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*RADIOBUTTON&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*...Seperator&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'DUMMY'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '3'.&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;*... Radiobutton&lt;/P&gt;&lt;P&gt;  CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'MyRadioButton1'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-icon = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '4'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-disabled = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-text = 'MyRadioButton1'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-quickinfo = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-checked = space.&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;*... Radiobutton&lt;/P&gt;&lt;P&gt;  CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'MyRadioButton2'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-icon = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '4'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-disabled = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-text = 'MyRadioButton2'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-quickinfo = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-checked = space.&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;*... Radiobutton&lt;/P&gt;&lt;P&gt;  CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;  ls_toolbar-function = 'MyRadioButton3'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-icon = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-butn_type = '4'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-disabled = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-text = 'MyRadioButton3'.&lt;/P&gt;&lt;P&gt;  ls_toolbar-quickinfo = space.&lt;/P&gt;&lt;P&gt;  ls_toolbar-checked = space.&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;ENDFORM. " d0100_event_toolbar&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_context_menu_reqst&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_context_menu_reqst USING e_object&lt;/P&gt;&lt;P&gt;TYPE REF TO cl_ctmenu.&lt;/P&gt;&lt;P&gt;                                                            "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'CONTEXT_MENU_REQUEST'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'CONTEXT_MENU_REQUEST' INTO gs_test-events_info_popup&lt;/P&gt;&lt;P&gt;      INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-010.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-010.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... An dieser Stelle kann der ContextMenu um weitere Funktionen ergänzt&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*werden.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD e_object-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      fcode    = 'MyCMenuFunc1'&lt;/P&gt;&lt;P&gt;      text     = 'MyContextMenuFunc1'&lt;/P&gt;&lt;P&gt;      icon     = space&lt;/P&gt;&lt;P&gt;      ftype    = '6'&lt;/P&gt;&lt;P&gt;      disabled = space&lt;/P&gt;&lt;P&gt;      hidden   = space&lt;/P&gt;&lt;P&gt;      checked  = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD e_object-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      fcode    = 'MyCMenuFunc2'&lt;/P&gt;&lt;P&gt;      text     = 'MyContextMenuFunc2'&lt;/P&gt;&lt;P&gt;      icon     = space&lt;/P&gt;&lt;P&gt;      ftype    = '6'&lt;/P&gt;&lt;P&gt;      disabled = space&lt;/P&gt;&lt;P&gt;      hidden   = space&lt;/P&gt;&lt;P&gt;      checked  = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_context_menu_reqst&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_top_of_page&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_top_of_page USING e_dyndoc_id&lt;/P&gt;&lt;P&gt;TYPE REF TO cl_dd_document.&lt;/P&gt;&lt;P&gt;                                                            "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'TOP_OF_PAGE' INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-011.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-011.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / text-011.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_top_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_end_of_list&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_end_of_list USING e_dyndoc_id&lt;/P&gt;&lt;P&gt;TYPE REF TO cl_dd_document.&lt;/P&gt;&lt;P&gt;                                                            "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'END_OF_LIST'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'END_OF_LIST' INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-012.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-012.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / text-012.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_end_of_list&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_print_top_of_page&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_print_top_of_page .                        "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'PRINT_TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'PRINT_TOP_OF_PAGE' INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-013.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-013.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / text-013.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_print_top_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_print_end_of_page&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_print_end_of_page .                        "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'PRINT_END_OF_PAGE'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'PRINT_END_OF_PAGE' INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-014.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-014.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / text-014.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_print_end_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_print_top_of_list&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_print_top_of_list .                        "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'PRINT_TOP_OF_LIST'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'PRINT_TOP_OF_LIST' INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-015.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-015.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / text-015.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_print_top_of_list&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_print_end_of_list&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_print_end_of_list .                        "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'PRINT_END_OF_LIST'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'PRINT_END_OF_LIST' INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-016.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-016.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / text-016.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_print_end_of_list&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_after_refresh&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_after_refresh .                            "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'AFTER_REFRESH'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'AFTER_REFRESH' INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-017.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-017.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_after_refresh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_delayed_callback&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_delayed_callback .                         "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'DELAYED_CALLBACK'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'DELAYED_CALLBACK' INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-018.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-018.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_delayed_callback&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_changed_sel_callba&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_changed_sel_callba .                       "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'CHANGED_SELECTION_CALLBACK'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'CHANGED_SELECTION_CALLBACK'&lt;/P&gt;&lt;P&gt;      INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-019.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-019.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_changed_sel_callba&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_subtotal_text&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_subtotal_text USING es_subtottxt_info TYPE lvc_s_stxt&lt;/P&gt;&lt;P&gt;ep_subtot_line TYPE REF TO data&lt;/P&gt;&lt;P&gt;e_event_data&lt;/P&gt;&lt;P&gt;TYPE REF TO cl_alv_event_data.&lt;/P&gt;&lt;P&gt;                                                            "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'SUBTOTAL_TEXT'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'SUBTOTAL_TEXT'&lt;/P&gt;&lt;P&gt;      INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-020.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-020.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_text TYPE string.                                 "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_text = es_subtottxt_info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS:  = text-200.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_subtotal_text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_ondrag&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_ondrag USING e_row TYPE lvc_s_row&lt;/P&gt;&lt;P&gt;e_column TYPE lvc_s_col&lt;/P&gt;&lt;P&gt;e_dragdropobj TYPE REF TO&lt;/P&gt;&lt;P&gt;cl_dragdropobject.&lt;/P&gt;&lt;P&gt;                                                            "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_text TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE text-021&lt;/P&gt;&lt;P&gt;  text-100 e_row-index&lt;/P&gt;&lt;P&gt;  text-101 e_column-fieldname&lt;/P&gt;&lt;P&gt;  INTO l_text SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'ONDRAG'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'ONDRAG'&lt;/P&gt;&lt;P&gt;      INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_obj TYPE REF TO lcl_dragdrop_obj_d0100,&lt;/P&gt;&lt;P&gt;  ls_outtab TYPE g_ty_s_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT l_obj.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE gt_outtab INTO ls_outtab INDEX e_row-index.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    l_obj-&amp;gt;line = ls_outtab.&lt;/P&gt;&lt;P&gt;    l_obj-&amp;gt;index = e_row-index.&lt;/P&gt;&lt;P&gt;    e_dragdropobj-&amp;gt;object = l_obj.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_ondrag&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_ondrop&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_ondrop USING e_row TYPE lvc_s_row&lt;/P&gt;&lt;P&gt;e_column TYPE lvc_s_col&lt;/P&gt;&lt;P&gt;e_dragdropobj TYPE REF TO&lt;/P&gt;&lt;P&gt;cl_dragdropobject.&lt;/P&gt;&lt;P&gt;                                                            "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_text TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE text-022&lt;/P&gt;&lt;P&gt;  text-100 e_row-index&lt;/P&gt;&lt;P&gt;  text-101 e_column-fieldname&lt;/P&gt;&lt;P&gt;  INTO l_text SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'ONDROP'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'ONDROP'&lt;/P&gt;&lt;P&gt;      INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_obj TYPE REF TO lcl_dragdrop_obj_d0100,&lt;/P&gt;&lt;P&gt;  ls_outtab TYPE g_ty_s_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CATCH SYSTEM-EXCEPTIONS move_cast_error = 1.&lt;/P&gt;&lt;P&gt;    l_obj ?= e_dragdropobj-&amp;gt;object.&lt;/P&gt;&lt;P&gt;    ls_outtab = l_obj-&amp;gt;line.&lt;/P&gt;&lt;P&gt;    INSERT ls_outtab INTO gt_outtab INDEX e_row-index.&lt;/P&gt;&lt;P&gt;  ENDCATCH.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    CALL METHOD e_dragdropobj-&amp;gt;abort.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_ondrop&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_ondropcomplete&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_ondropcomplete USING e_row TYPE lvc_s_row&lt;/P&gt;&lt;P&gt;e_column TYPE lvc_s_col&lt;/P&gt;&lt;P&gt;e_dragdropobj TYPE REF TO&lt;/P&gt;&lt;P&gt;cl_dragdropobject.&lt;/P&gt;&lt;P&gt;                                                            "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_text TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE text-023&lt;/P&gt;&lt;P&gt;  text-100 e_row-index&lt;/P&gt;&lt;P&gt;  text-101 e_column-fieldname&lt;/P&gt;&lt;P&gt;  INTO l_text SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'ONDROPCOMPLETE'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'ONDROPCOMPLETE'&lt;/P&gt;&lt;P&gt;      INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_obj TYPE REF TO lcl_dragdrop_obj_d0100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CATCH SYSTEM-EXCEPTIONS move_cast_error = 1.&lt;/P&gt;&lt;P&gt;    l_obj ?= e_dragdropobj-&amp;gt;object.&lt;/P&gt;&lt;P&gt;    IF e_dragdropobj-&amp;gt;effect = cl_dragdrop=&amp;gt;move.&lt;/P&gt;&lt;P&gt;      DELETE gt_outtab INDEX l_obj-&amp;gt;index.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDCATCH.&lt;/P&gt;&lt;P&gt;  CASE sy-subrc.&lt;/P&gt;&lt;P&gt;    WHEN 0.&lt;/P&gt;&lt;P&gt;      CALL METHOD gr_grid_d0100-&amp;gt;refresh_table_display.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      CALL METHOD e_dragdropobj-&amp;gt;abort.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_ondropcomplete&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_ondropgetflavor&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_ondropgetflavor .                          "#EC CALLED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'ONDROPGETFLAVOR'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'ONDROPGETFLAVOR' INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH text-024.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH text-024.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_ondropgetflavor&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_button_click&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_button_click USING es_col_id TYPE lvc_s_col&lt;/P&gt;&lt;P&gt;es_row_no TYPE lvc_s_roid.                                  "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_text TYPE string,&lt;/P&gt;&lt;P&gt;  l_row TYPE char10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_row = es_row_no-row_id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE text-025&lt;/P&gt;&lt;P&gt;  text-100 l_row&lt;/P&gt;&lt;P&gt;  text-101 es_col_id-fieldname&lt;/P&gt;&lt;P&gt;  INTO l_text SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'BUTTON_CLICK'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'BUTTON_CLICK' INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_button_click&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_onf1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_onf1 USING e_fieldname TYPE lvc_fname&lt;/P&gt;&lt;P&gt;es_row_no TYPE lvc_s_roid&lt;/P&gt;&lt;P&gt;er_event_data TYPE REF TO cl_alv_event_data.&lt;/P&gt;&lt;P&gt;                                                            "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_text TYPE string,&lt;/P&gt;&lt;P&gt;  l_row TYPE char10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_row = es_row_no-row_id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE text-026&lt;/P&gt;&lt;P&gt;  text-100 l_row&lt;/P&gt;&lt;P&gt;  text-101 e_fieldname&lt;/P&gt;&lt;P&gt;  INTO l_text SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'ONF1'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'ONF1' INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_onf1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_event_onf4&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_event_onf4 USING e_fieldname TYPE lvc_fname&lt;/P&gt;&lt;P&gt;e_fieldvalue TYPE lvc_value&lt;/P&gt;&lt;P&gt;es_row_no TYPE lvc_s_roid&lt;/P&gt;&lt;P&gt;er_event_data TYPE REF TO cl_alv_event_data&lt;/P&gt;&lt;P&gt;et_bad_cells TYPE lvc_t_modi&lt;/P&gt;&lt;P&gt;e_display TYPE char01.                                      "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_text TYPE string,&lt;/P&gt;&lt;P&gt;  l_row TYPE char10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_row = es_row_no-row_id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE text-027&lt;/P&gt;&lt;P&gt;  text-100 l_row&lt;/P&gt;&lt;P&gt;  text-101 e_fieldname&lt;/P&gt;&lt;P&gt;  text-102 e_fieldvalue&lt;/P&gt;&lt;P&gt;  INTO l_text SEPARATED BY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_event TYPE lvc_fname.                             "#EC NEEDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gs_test-info_popup_once EQ con_true.&lt;/P&gt;&lt;P&gt;    READ TABLE gs_test-events_info_popup INTO l_event&lt;/P&gt;&lt;P&gt;    WITH KEY table_line = 'ONF4'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      INSERT 'ONF4' INTO gs_test-events_info_popup INDEX 1.&lt;/P&gt;&lt;P&gt;      MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF gs_test-no_info_popup EQ space.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(0k) WITH l_text.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_get_grid_infos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_event_onf4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_enable_disable_menu&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_enable_disable_menu USING value(i_static_menu)&lt;/P&gt;&lt;P&gt;TYPE REF TO cl_ctmenu&lt;/P&gt;&lt;P&gt;value(i_ucomm)&lt;/P&gt;&lt;P&gt;TYPE sy-ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lt_func_attr TYPE ui_funcattr,&lt;/P&gt;&lt;P&gt;  ls_func_attr TYPE uiattentry,&lt;/P&gt;&lt;P&gt;  lt_fcodes TYPE ui_functions,&lt;/P&gt;&lt;P&gt;  ls_fcode TYPE ui_func.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD i_static_menu-&amp;gt;get_functions&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      fcodes = lt_func_attr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT lt_func_attr INTO ls_func_attr.&lt;/P&gt;&lt;P&gt;    ls_fcode = ls_func_attr-fcode.&lt;/P&gt;&lt;P&gt;    APPEND ls_fcode TO lt_fcodes.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE i_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN 'Enable'.&lt;/P&gt;&lt;P&gt;      CALL METHOD i_static_menu-&amp;gt;enable_functions&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          fcodes = lt_fcodes.&lt;/P&gt;&lt;P&gt;    WHEN 'Disable'.&lt;/P&gt;&lt;P&gt;      CALL METHOD i_static_menu-&amp;gt;disable_functions&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          fcodes = lt_fcodes.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_enable_disable_menu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_f4_fcode&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_f4_fcode CHANGING c_value TYPE lvc_s_fcat-fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lt_fcat TYPE lvc_t_fcat,&lt;/P&gt;&lt;P&gt;  ls_fcat TYPE lvc_s_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM d0100_set_grid_fcat CHANGING lt_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lt_values TYPE TABLE OF seahlpres,&lt;/P&gt;&lt;P&gt;  lt_fields TYPE TABLE OF dfies,&lt;/P&gt;&lt;P&gt;  lt_return TYPE TABLE OF ddshretval,&lt;/P&gt;&lt;P&gt;  ls_value TYPE seahlpres,&lt;/P&gt;&lt;P&gt;  ls_field TYPE dfies,&lt;/P&gt;&lt;P&gt;  ls_return TYPE ddshretval.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_field.&lt;/P&gt;&lt;P&gt;  ls_field-fieldname = 'FIELDNAME'.&lt;/P&gt;&lt;P&gt;  ls_field-intlen = 30.&lt;/P&gt;&lt;P&gt;  ls_field-leng = 30.&lt;/P&gt;&lt;P&gt;  ls_field-outputlen = 30.&lt;/P&gt;&lt;P&gt;  ls_field-scrtext_s = ls_field-fieldname.&lt;/P&gt;&lt;P&gt;  ls_field-scrtext_m = ls_field-fieldname.&lt;/P&gt;&lt;P&gt;  ls_field-scrtext_l = ls_field-fieldname.&lt;/P&gt;&lt;P&gt;  ls_field-reptext = ls_field-fieldname.&lt;/P&gt;&lt;P&gt;  APPEND ls_field TO lt_fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT lt_fcat INTO ls_fcat WHERE tech EQ space.&lt;/P&gt;&lt;P&gt;    ls_value-string = ls_fcat-fieldname.&lt;/P&gt;&lt;P&gt;    APPEND ls_value TO lt_values.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ddic_structure = ' '&lt;/P&gt;&lt;P&gt;  retfield = 'FIELDNAME'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  pvalkey = ' '&lt;/P&gt;&lt;P&gt;  dynpprog = ' '&lt;/P&gt;&lt;P&gt;  dynpnr = ' '&lt;/P&gt;&lt;P&gt;  dynprofield = ' '&lt;/P&gt;&lt;P&gt;  stepl = 0&lt;/P&gt;&lt;P&gt;  window_title =  ' '&lt;/P&gt;&lt;P&gt;  value = ' '&lt;/P&gt;&lt;P&gt;  value_org = 'C'&lt;/P&gt;&lt;P&gt;  multiple_choice = ' '&lt;/P&gt;&lt;P&gt;  display = space&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  callback_program = ' '&lt;/P&gt;&lt;P&gt;  callback_form = ' '&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;  value_tab = lt_values&lt;/P&gt;&lt;P&gt;  field_tab = lt_fields&lt;/P&gt;&lt;P&gt;  return_tab = lt_return&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DYNPFLD_MAPPING =&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;  parameter_error = 1&lt;/P&gt;&lt;P&gt;  no_values_found = 2&lt;/P&gt;&lt;P&gt;  OTHERS = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0 AND sy-subrc NE 3.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE lt_return INTO ls_return&lt;/P&gt;&lt;P&gt;  WITH KEY fieldname = 'FIELDNAME'.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    c_value = ls_return-fieldval.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_f4_fcode&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_get_grid_infos&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_get_grid_infos .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lt_filtered_entries TYPE lvc_t_fidx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD gr_grid_d0100-&amp;gt;get_filtered_entries&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_filtered_entries = lt_filtered_entries.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lt_filter TYPE lvc_t_filt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD gr_grid_d0100-&amp;gt;get_filter_criteria&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_filter = lt_filter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lt_fcat TYPE lvc_t_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD gr_grid_d0100-&amp;gt;get_frontend_fieldcatalog&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_fieldcatalog = lt_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lt_sort TYPE lvc_t_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD gr_grid_d0100-&amp;gt;get_sort_criteria&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_sort = lt_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_get_grid_infos&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form d0100_apply_filter&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;&lt;/STRONG&gt;----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*text&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM d0100_apply_filter .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lt_filter TYPE lvc_t_filt,&lt;/P&gt;&lt;P&gt;  lt_filtered_entries TYPE lvc_t_fidx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD gr_grid_d0100-&amp;gt;get_filter_criteria&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_filter = lt_filter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'LVC_FILTER_APPLY'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;  it_filter = lt_filter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*IT_VALUE_UNIT =&lt;/P&gt;&lt;P&gt;*IT_GROUPLEVELS =&lt;/P&gt;&lt;P&gt;*I_FILTER_FLAGNAME =&lt;/P&gt;&lt;P&gt;*I_TABNAME =&lt;/P&gt;&lt;P&gt;*I_TABNAME_SLAVE =&lt;/P&gt;&lt;P&gt;*I_SLAVE =&lt;/P&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;P&gt;  et_filter_index = lt_filtered_entries&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ET_GROUPLEVELS_FILTER =&lt;/P&gt;&lt;P&gt;*ET_FILTER_INDEX_INSIDE =&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;  it_data = gt_outtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " d0100_apply_filter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Feb 2008 07:24:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/push-button-in-alv/m-p/3447194#M827981</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-25T07:24:36Z</dc:date>
    </item>
    <item>
      <title>Re: Push button in ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/push-button-in-alv/m-p/3447195#M827982</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;good&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You have to copy the standard pf status to a new one.&lt;/P&gt;&lt;P&gt;For this go to the ALV screen and take the menu System -&amp;gt; Status. (I do not access to the system now) then look for the standard pf status. Copy this to Z range and then add your new button.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Even you can do in this method&lt;/P&gt;&lt;P&gt;Create a GUI status.&lt;/P&gt;&lt;P&gt;Go to GUI Status-&amp;gt;Application toolbar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;THen add the button by giving &lt;/P&gt;&lt;P&gt;Function text&lt;/P&gt;&lt;P&gt;Icon name &lt;/P&gt;&lt;P&gt;Icon text &lt;/P&gt;&lt;P&gt;Info. text &lt;/P&gt;&lt;P&gt;Fastpath &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then in PBO of the screen,&lt;/P&gt;&lt;P&gt;Just give in a module&lt;/P&gt;&lt;P&gt;set pf_status 'ZSTATUS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is an example for your question&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA: i_qmel LIKE qmel OCCURS 0.&lt;/P&gt;&lt;P&gt;data v_repid type repid.&lt;/P&gt;&lt;P&gt;SELECT * FROM qmel INTO TABLE i_qmel.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;v_repid = sy-repid.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_CALLBACK_PROGRAM = v_repid&lt;/P&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'&lt;/P&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;i_structure_name = 'QMEL'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = i_qmel&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;program_error = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO &lt;/P&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;form set_pf_status using rt_extab type slis_t_extab.&lt;/P&gt;&lt;P&gt;set pf-status 'TEST'.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;FORM user_command USING ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;data lv_ucomm type sy-ucomm.&lt;/P&gt;&lt;P&gt;lv_ucomm &lt;/P&gt;&lt;P&gt;= sy-ucomm. &lt;/P&gt;&lt;P&gt;CASE lv_ucomm.&lt;/P&gt;&lt;P&gt;WHEN 'BUTTON'. "Double Click line Item&lt;/P&gt;&lt;P&gt;call transaction 'MM01'.&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To Click on the you have to do in the following way&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_callback_user_command = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;form user_command using i_ucomm like sy-ucomm &lt;/P&gt;&lt;P&gt;is_selfield type slis_selfield.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;case i_ucomm. &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;when 'XXXX'. "XXXX is the function code for new button&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For More info please refer the below links&lt;/P&gt;&lt;P&gt;Please refer the following&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/sdn/collaboration.sdn?contenttype=url&amp;amp;content=https%3A//forums.sdn.sap.com/thread.jspa%3FthreadID%3D38170%26messageID%3D368851" target="test_blank"&gt;https://www.sdn.sap.com/sdn/collaboration.sdn?contenttype=url&amp;amp;content=https%3A//forums.sdn.sap.com/thread.jspa%3FthreadID%3D38170%26messageID%3D368851&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-basis-abap.com/abap/add-button-to-alv-toolbar-with-reuse-alv-list-display.htm" target="test_blank"&gt;http://www.sap-basis-abap.com/abap/add-button-to-alv-toolbar-with-reuse-alv-list-display.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;mrutyun^&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Feb 2008 07:28:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/push-button-in-alv/m-p/3447195#M827982</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-25T07:28:47Z</dc:date>
    </item>
    <item>
      <title>Re: Push button in ALV</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/push-button-in-alv/m-p/3447196#M827983</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In order to add user command functioality to the ALV grid you need to perform the following steps:&lt;/P&gt;&lt;P&gt;    	           1. Update 'REUSE_ALV_GRID_DISPLAY' FM call to include 'USER_COMMAND' FORM&lt;/P&gt;&lt;P&gt;	           2. Create 'USER_COMMAND' FORM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            i_callback_program      = gd_repid&lt;/P&gt;&lt;P&gt;            i_callback_top_of_page   = 'TOP-OF-PAGE'&lt;/P&gt;&lt;P&gt;            I_callback_user_command = 'USER_COMMAND'   "see FORM &lt;/P&gt;&lt;P&gt;            is_layout               = gd_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat             = fieldcatalog[]&lt;/P&gt;&lt;P&gt;            i_save                  = 'X'&lt;/P&gt;&lt;P&gt;       tables&lt;/P&gt;&lt;P&gt;            t_outtab                = it_ekko&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            program_error           = 1&lt;/P&gt;&lt;P&gt;            others                  = 2.&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;STRONG&gt;----&lt;/STRONG&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 USER_COMMAND                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&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; R_UCOMM                                                *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      --&amp;gt; RS_SELFIELD                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM user_command USING r_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                  rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check function code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CASE r_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check field clicked on within ALVgrid report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF rs_selfield-fieldname = 'EBELN'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Read data table, using index of row user clicked on&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Set parameter ID for transaction screen field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Sxecute transaction ME23N, and skip initial data entry screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.&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;	&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In order modify PF_STATUS of ALV grid report you need to perform the following steps:&lt;/P&gt;&lt;P&gt;	1. Update 'REUSE_ALV_GRID_DISPLAY' FM call to include:&lt;/P&gt;&lt;P&gt;				i_callback_pf_status_set = 'SET_PF_STATUS' statement.&lt;/P&gt;&lt;P&gt;	2. Create 'SET_PF_STATUS' FORM&lt;/P&gt;&lt;P&gt;	3. Create pf_status (i.e. 'ZNEWSTATUS').&lt;/P&gt;&lt;P&gt;	     - It is recommend that you copy standard status'STANDARD' from function group SALV&lt;/P&gt;&lt;P&gt;	       and modify it accordingly. ALV standard function codes always start with '&amp;amp;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            i_callback_program      = gd_repid&lt;/P&gt;&lt;P&gt;            i_callback_top_of_page   = 'TOP-OF-PAGE'&lt;/P&gt;&lt;P&gt;            i_callback_pf_status_set = 'SET_PF_STATUS'   "see FORM &lt;/P&gt;&lt;P&gt;            is_layout               = gd_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat             = fieldcatalog[]&lt;/P&gt;&lt;P&gt;            i_save                  = 'X'&lt;/P&gt;&lt;P&gt;       tables&lt;/P&gt;&lt;P&gt;            t_outtab                = it_ekko&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            program_error           = 1&lt;/P&gt;&lt;P&gt;            others                  = 2.&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;STRONG&gt;----&lt;/STRONG&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 SET_PF_STATUS                                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM set_pf_status USING rt_extab TYPE slis_t_extab.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ZNEWSTATUS'.&lt;/P&gt;&lt;P&gt;                  "Copy of 'STANDARD' pf_status from fgroup SALV&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Feb 2008 07:33:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/push-button-in-alv/m-p/3447196#M827983</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-25T07:33:18Z</dc:date>
    </item>
  </channel>
</rss>

