<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Problem on ALV GRID CONTROL in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514009#M1067419</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Vikram&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It appears that chosing a value from a dropdown box does not trigger any event itself (not even any F4-related event).&lt;/P&gt;&lt;P&gt;I assume the ALV grid works similar like an Excel worksheet. If you change a cell value which is part of a sum function then you first have to hit the ENTER button before the sum is updated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In order to implement your requirement I have copied BCALV_EDIT_06 and have made the following changes:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(1) Event handler class for DATA_CHANGED:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
...
*&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;


CLASS lcl_eventhandler DEFINITION.

  PUBLIC SECTION.

    CLASS-METHODS:
      handle_data_changed FOR EVENT data_changed OF cl_gui_alv_grid
        IMPORTING
          er_data_changed
          e_onf4
          e_onf4_before
          e_onf4_after
          e_ucomm
          sender.

ENDCLASS.                    "lcl_eventhandler DEFINITION


*----------------------------------------------------------------------*
*       CLASS lcl_eventhandler IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_eventhandler IMPLEMENTATION.

  METHOD handle_data_changed.
    BREAK-POINT.

    CALL METHOD cl_gui_cfw=&amp;gt;set_new_ok_code
      EXPORTING
        new_code = 'REFRESH'
*      IMPORTING
*        rc       =
        .

  ENDMETHOD.                    "handle_data_changed

ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION



DATA: ok_code LIKE sy-ucomm,
      save_ok LIKE sy-ucomm,
...
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(2) Register EDIT event and SET HANDLER (routine CREATE_AND_INIT_ALV):&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
...
* Define a drop down table.
  PERFORM set_drdn_table.

  CALL METHOD g_grid-&amp;gt;register_edit_event
    EXPORTING
      i_event_id = cl_gui_alv_grid=&amp;gt;mc_evt_enter
    EXCEPTIONS
      error      = 1
      OTHERS     = 2.
  IF sy-subrc &amp;lt;&amp;gt; 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  SET HANDLER:
    lcl_eventhandler=&amp;gt;handle_data_changed FOR g_grid.


  SELECT * FROM sbook INTO TABLE pt_outtab UP TO g_max ROWS."#EC CI_NOWHERE
...
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(3) Event handler HANDLE_DATA_CHANGED just trigger PAI:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*---------------------------------------------------------------------*
*       MODULE PAI INPUT                                              *
*---------------------------------------------------------------------*
MODULE pai INPUT.
  save_ok = ok_code.
  CLEAR ok_code.
  CASE save_ok.
    WHEN 'EXIT'.
      PERFORM exit_program.

    WHEN 'REFRESH'.
      PERFORM refresh_list.

    WHEN OTHERS.
*     do nothing
  ENDCASE.
ENDMODULE.                    "pai INPUT

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  REFRESH_LIST
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM refresh_list .
* define local data
  DATA: ls_outtab   LIKE LINE OF gt_outtab.

  LOOP AT gt_outtab INTO ls_outtab.
    IF ( ls_outtab-wunit = 'KG' ).
      ls_outtab-class = 'C'.
    ELSE.
      ls_outtab-class = 'F'.
    ENDIF.
    MODIFY gt_outtab FROM ls_outtab INDEX syst-tabix.
  ENDLOOP.

  CALL METHOD g_grid-&amp;gt;refresh_table_display
*    EXPORTING
*      is_stable      =
*      i_soft_refresh =
*    EXCEPTIONS
*      finished       = 1
*      others         = 2
          .
  IF sy-subrc &amp;lt;&amp;gt; 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.                    " REFRESH_LIST
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Procedure:&lt;/P&gt;&lt;P&gt;1) Choose value from dropdown list&lt;/P&gt;&lt;P&gt;2) Hit enter button&lt;/P&gt;&lt;P&gt;3) Value in column CLASS changes according to chosen dropdown value&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 02 Oct 2008 05:10:23 GMT</pubDate>
    <dc:creator>uwe_schieferstein</dc:creator>
    <dc:date>2008-10-02T05:10:23Z</dc:date>
    <item>
      <title>Problem on ALV GRID CONTROL</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514004#M1067414</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI ,&lt;/P&gt;&lt;P&gt;I have created an OO based ALV GRID ( 6columns) . &lt;/P&gt;&lt;P&gt;I n this ALV i have a dropdown box on one column.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want that on change of the value on drop down box the other dependent columns (othe 5 columns) should be filled with some data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am not able to find out any event when we change the value in the drop down list box .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;is there any event which gets triggered on change of value in the drop down box .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;vikram.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Oct 2008 09:12:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514004#M1067414</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-01T09:12:26Z</dc:date>
    </item>
    <item>
      <title>Re: Problem on ALV GRID CONTROL</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514005#M1067415</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;gt;is there any event which gets triggered on change of value in &amp;gt;the drop down box .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if you set the handler / register the edit event then DATA_CHANGED event will trigger.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you see the programs &lt;/P&gt;&lt;P&gt;BCALV_EDIT_06&lt;/P&gt;&lt;P&gt;BCALV_EDIT_07&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Oct 2008 09:18:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514005#M1067415</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-01T09:18:32Z</dc:date>
    </item>
    <item>
      <title>Re: Problem on ALV GRID CONTROL</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514006#M1067416</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;no  DATA_CHANGED does not get triggerred on change of value on drop down . yes i have seen those programs .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Oct 2008 09:30:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514006#M1067416</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-01T09:30:15Z</dc:date>
    </item>
    <item>
      <title>Re: Problem on ALV GRID CONTROL</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514007#M1067417</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; no  DATA_CHANGED does not get triggerred on change of value on drop down . yes i have seen those programs .&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes it will trigger, I did one program, it is triggering. Do you have any local event handler for DATA_CHANGED event.&lt;/P&gt;&lt;P&gt;check the reply in this thread...&lt;/P&gt;&lt;P&gt;&lt;SPAN __jive_macro_name="message" id="1259348"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Oct 2008 11:13:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514007#M1067417</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-01T11:13:06Z</dc:date>
    </item>
    <item>
      <title>Re: Problem on ALV GRID CONTROL</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514008#M1067418</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Vikram,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please check this thread&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check our friend UWE reply in this thread --&amp;gt; &lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="4417968"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="448796"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this would help you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck&lt;/P&gt;&lt;P&gt;Narin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Oct 2008 14:42:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514008#M1067418</guid>
      <dc:creator>narin_nandivada3</dc:creator>
      <dc:date>2008-10-01T14:42:12Z</dc:date>
    </item>
    <item>
      <title>Re: Problem on ALV GRID CONTROL</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514009#M1067419</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Vikram&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It appears that chosing a value from a dropdown box does not trigger any event itself (not even any F4-related event).&lt;/P&gt;&lt;P&gt;I assume the ALV grid works similar like an Excel worksheet. If you change a cell value which is part of a sum function then you first have to hit the ENTER button before the sum is updated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In order to implement your requirement I have copied BCALV_EDIT_06 and have made the following changes:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(1) Event handler class for DATA_CHANGED:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
...
*&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;


CLASS lcl_eventhandler DEFINITION.

  PUBLIC SECTION.

    CLASS-METHODS:
      handle_data_changed FOR EVENT data_changed OF cl_gui_alv_grid
        IMPORTING
          er_data_changed
          e_onf4
          e_onf4_before
          e_onf4_after
          e_ucomm
          sender.

ENDCLASS.                    "lcl_eventhandler DEFINITION


*----------------------------------------------------------------------*
*       CLASS lcl_eventhandler IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_eventhandler IMPLEMENTATION.

  METHOD handle_data_changed.
    BREAK-POINT.

    CALL METHOD cl_gui_cfw=&amp;gt;set_new_ok_code
      EXPORTING
        new_code = 'REFRESH'
*      IMPORTING
*        rc       =
        .

  ENDMETHOD.                    "handle_data_changed

ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION



DATA: ok_code LIKE sy-ucomm,
      save_ok LIKE sy-ucomm,
...
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(2) Register EDIT event and SET HANDLER (routine CREATE_AND_INIT_ALV):&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
...
* Define a drop down table.
  PERFORM set_drdn_table.

  CALL METHOD g_grid-&amp;gt;register_edit_event
    EXPORTING
      i_event_id = cl_gui_alv_grid=&amp;gt;mc_evt_enter
    EXCEPTIONS
      error      = 1
      OTHERS     = 2.
  IF sy-subrc &amp;lt;&amp;gt; 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  SET HANDLER:
    lcl_eventhandler=&amp;gt;handle_data_changed FOR g_grid.


  SELECT * FROM sbook INTO TABLE pt_outtab UP TO g_max ROWS."#EC CI_NOWHERE
...
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(3) Event handler HANDLE_DATA_CHANGED just trigger PAI:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*---------------------------------------------------------------------*
*       MODULE PAI INPUT                                              *
*---------------------------------------------------------------------*
MODULE pai INPUT.
  save_ok = ok_code.
  CLEAR ok_code.
  CASE save_ok.
    WHEN 'EXIT'.
      PERFORM exit_program.

    WHEN 'REFRESH'.
      PERFORM refresh_list.

    WHEN OTHERS.
*     do nothing
  ENDCASE.
ENDMODULE.                    "pai INPUT

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  REFRESH_LIST
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM refresh_list .
* define local data
  DATA: ls_outtab   LIKE LINE OF gt_outtab.

  LOOP AT gt_outtab INTO ls_outtab.
    IF ( ls_outtab-wunit = 'KG' ).
      ls_outtab-class = 'C'.
    ELSE.
      ls_outtab-class = 'F'.
    ENDIF.
    MODIFY gt_outtab FROM ls_outtab INDEX syst-tabix.
  ENDLOOP.

  CALL METHOD g_grid-&amp;gt;refresh_table_display
*    EXPORTING
*      is_stable      =
*      i_soft_refresh =
*    EXCEPTIONS
*      finished       = 1
*      others         = 2
          .
  IF sy-subrc &amp;lt;&amp;gt; 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.                    " REFRESH_LIST
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Procedure:&lt;/P&gt;&lt;P&gt;1) Choose value from dropdown list&lt;/P&gt;&lt;P&gt;2) Hit enter button&lt;/P&gt;&lt;P&gt;3) Value in column CLASS changes according to chosen dropdown value&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Oct 2008 05:10:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514009#M1067419</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2008-10-02T05:10:23Z</dc:date>
    </item>
    <item>
      <title>Re: Problem on ALV GRID CONTROL</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514010#M1067420</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vikram,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just an addition to the above post...&lt;/P&gt;&lt;P&gt;If we register the &lt;STRONG&gt;cl_gui_alv_grid=&amp;gt;mc_evt_modified&lt;/STRONG&gt; event, &lt;/P&gt;&lt;P&gt;the &lt;STRONG&gt;data_changed&lt;/STRONG&gt; event ll be raised at any user-action(Even placing the cursor on another cell)&lt;/P&gt;&lt;P&gt; after modifying a cell...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kindly check the below code...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*----------------------------------------------------------------------*
*       CLASS lcl_event_responder DEFINITION                           *
*----------------------------------------------------------------------*
CLASS lcl_event_responder DEFINITION.
  PUBLIC SECTION.
    DATA  : ls_changed_cell TYPE  lvc_s_modi,
            lv_language     TYPE  spras..
    METHODS refresh_changed_data  FOR EVENT data_changed
                                  OF cl_gui_alv_grid
                                  IMPORTING er_data_changed
                                            e_ucomm.

ENDCLASS.                    "event_responder DEFINITION

DATA: go_handler         TYPE REF TO lcl_event_responder,
      go_grid            TYPE REF TO cl_gui_alv_grid,
      go_dummy_container TYPE REF TO cl_gui_container,
      gt_fieldcat        TYPE lvc_t_fcat,
      gv_language        TYPE spras VALUE 'E',
      gt_outtab          TYPE TABLE OF makt WITH HEADER LINE.

CALL SCREEN 100.

*---------------------------------------------------------------------*
*       MODULE PBO OUTPUT                                             *
*---------------------------------------------------------------------*
MODULE pbo OUTPUT.
  SET PF-STATUS 'BASIC'.
  PERFORM create_and_init_alv CHANGING gt_outtab[]
                                       gt_fieldcat.
ENDMODULE.                    "pbo OUTPUT
*---------------------------------------------------------------------*
*       MODULE PAI INPUT                                              *
*---------------------------------------------------------------------*
MODULE pai INPUT.
  LEAVE PROGRAM.
ENDMODULE.                    "pai INPUT



*&amp;amp;---------------------------------------------------------------------*
FORM create_and_init_alv CHANGING pt_outtab LIKE gt_outtab[]
                                  pt_fieldcat TYPE lvc_t_fcat.

  CHECK go_grid IS NOT BOUND.

  CREATE OBJECT go_grid
    EXPORTING
      i_parent = go_dummy_container.

  PERFORM build_display_table.

  PERFORM build_fieldcat CHANGING pt_fieldcat.

  PERFORM set_drdn_table.

  go_grid-&amp;gt;set_table_for_first_display( CHANGING it_fieldcatalog      = pt_fieldcat
                                                 it_outtab            = pt_outtab ).

  go_grid-&amp;gt;set_ready_for_input( 1 ).

* raises the 'data_changed' event when we select another cell/any action after changing the data
  go_grid-&amp;gt;register_edit_event( EXPORTING i_event_id = cl_gui_alv_grid=&amp;gt;mc_evt_modified ).

  CREATE OBJECT go_handler.

  SET HANDLER go_handler-&amp;gt;refresh_changed_data FOR go_grid.

ENDFORM.                               "CREATE_AND_INIT_ALV
*&amp;amp;---------------------------------------------------------------------*
FORM build_display_table.
  FREE gt_outtab.
  SELECT * FROM makt UP TO 20 ROWS INTO TABLE gt_outtab WHERE spras EQ gv_language.
ENDFORM.                               "build_display_table
*&amp;amp;---------------------------------------------------------------------*
FORM build_fieldcat CHANGING pt_fieldcat TYPE lvc_t_fcat.

  DATA ls_fcat TYPE lvc_s_fcat.

  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    EXPORTING
      i_structure_name = 'MAKT'
    CHANGING
      ct_fieldcat      = pt_fieldcat.

  LOOP AT pt_fieldcat INTO ls_fcat.
    IF    ls_fcat-fieldname EQ 'SPRAS'.
      ls_fcat-edit       = abap_true..
      ls_fcat-drdn_hndl  = '1'.
      ls_fcat-outputlen  = 8.
      ls_fcat-checktable = '!'.        "do not check foreign keys
      MODIFY pt_fieldcat FROM ls_fcat.
    ENDIF.
  ENDLOOP.

ENDFORM.                               "build_fieldcat
*&amp;amp;---------------------------------------------------------------------*
FORM set_drdn_table.

  CHECK go_grid-&amp;gt;offline( ) IS INITIAL.

  DATA: lt_dropdown TYPE lvc_t_drop,
        ls_dropdown TYPE lvc_s_drop.

  ls_dropdown-handle = '1'.
  ls_dropdown-value  = 'EN'.
  APPEND ls_dropdown TO lt_dropdown.

  ls_dropdown-handle = '1'.
  ls_dropdown-value  = 'DE'.
  APPEND ls_dropdown TO lt_dropdown.

  CALL METHOD go_grid-&amp;gt;set_drop_down_table
    EXPORTING
      it_drop_down = lt_dropdown.

ENDFORM.                                " set_drdn_table
*&amp;amp;---------------------------------------------------------------------*
FORM change_display_table USING pv_language pv_rowno TYPE i.
  READ TABLE gt_outtab INDEX pv_rowno.
  SELECT SINGLE * FROM makt INTO gt_outtab WHERE matnr = gt_outtab-matnr AND spras = pv_language.
  IF sy-subrc EQ 0.
    DELETE gt_outtab INDEX pv_rowno.
    INSERT gt_outtab INDEX pv_rowno.
  ELSE.
    CLEAR : gt_outtab-maktx,
            gt_outtab-maktg.
    DELETE gt_outtab INDEX pv_rowno.
    INSERT gt_outtab INDEX pv_rowno.
  ENDIF.
ENDFORM.                    "change_display_table

*---------------------------------------------------------------------*
*       CLASS event_responder IMPLEMENTATION                          *
*---------------------------------------------------------------------*
CLASS lcl_event_responder IMPLEMENTATION.
  METHOD refresh_changed_data.
    READ TABLE er_data_changed-&amp;gt;mt_mod_cells INTO ls_changed_cell INDEX 1.
    CALL FUNCTION 'CONVERSION_EXIT_ISOLA_INPUT'
      EXPORTING
        input  = ls_changed_cell-value
      IMPORTING
        output = lv_language.
    PERFORM change_display_table USING lv_language ls_changed_cell-row_id.
    go_grid-&amp;gt;refresh_table_display( ).
  ENDMETHOD.                    "click
ENDCLASS.                    "event_responder IMPLEMENTATION&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Jose.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Jose on Oct 3, 2008 10:19 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Oct 2008 06:13:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514010#M1067420</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-03T06:13:14Z</dc:date>
    </item>
    <item>
      <title>Re: Problem on ALV GRID CONTROL</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514011#M1067421</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;if you go with cl_gui_alv_grid=&amp;gt;mc_evt_enter , then after editing you need to press enter button, then also it will trigger. if you don't check check it once.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Oct 2008 09:32:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514011#M1067421</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-03T09:32:36Z</dc:date>
    </item>
    <item>
      <title>Re: Problem on ALV GRID CONTROL</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514012#M1067422</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Vikram&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tested Jose's suggestion with my sample report and as I assumed the dropdown selection does not trigger any event. However, as soon as you move the cursor to any other cell the DATA_CHANGED event is triggered.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks to Jose for his input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 05 Oct 2008 21:22:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514012#M1067422</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2008-10-05T21:22:21Z</dc:date>
    </item>
    <item>
      <title>Re: Problem on ALV GRID CONTROL</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514013#M1067423</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks guys for your Valuable inputs .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the event is working on enter .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank you once again for the helpful answers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;vikram&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Oct 2008 06:36:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-on-alv-grid-control/m-p/4514013#M1067423</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-14T06:36:46Z</dc:date>
    </item>
  </channel>
</rss>

