<?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: class in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530757#M573822</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 24 Sep 2007 07:35:52 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-09-24T07:35:52Z</dc:date>
    <item>
      <title>class</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530749#M573814</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;i want to know the coding of registering the double click row column event of class cl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks.&lt;/P&gt;&lt;P&gt;aditya&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 06:29:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530749#M573814</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T06:29:45Z</dc:date>
    </item>
    <item>
      <title>Re: class</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530750#M573815</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Aditya,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; This is the implementation of the event&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;class lcl_event_receiver_dbox implementation.&lt;/P&gt;&lt;P&gt;  method on_close.&lt;/P&gt;&lt;P&gt;    call method sender-&amp;gt;free.&lt;/P&gt;&lt;P&gt;  endmethod.&lt;/P&gt;&lt;P&gt;endclass.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;Shafiq&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 07:01:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530750#M573815</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T07:01:41Z</dc:date>
    </item>
    <item>
      <title>Re: class</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530751#M573816</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Not sure if the previous post(er) has understood the question but here's the PROPER way to do it and without using a separate class for your event receivers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's a sample class using several events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use the EVENT DOUBLE_CLICK as it's in the PUBLIC section of ckl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you really need the protected sections then use my commented Ïnheriting statement and call the superclass as shown in the commented out code, however the double_click event returns you row / column and absolute row in any case.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;CLASS zcl_dog DEFINITION  " inheriting from cl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;METHODS:&lt;/P&gt;&lt;P&gt;  constructor&lt;/P&gt;&lt;P&gt;      IMPORTING       z_object type ref to zcl_dog,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     i_parent     type ref to  cl_gui_custom_container,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   display_grid&lt;/P&gt;&lt;P&gt;      CHANGING        it_fldcat type lvc_t_fcat,&lt;/P&gt;&lt;P&gt;  build_dynamic_structures&lt;/P&gt;&lt;P&gt;      CHANGING        it_fldcat TYPE lvc_t_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;   METHODS:&lt;/P&gt;&lt;P&gt;    on_user_command FOR EVENT before_user_command OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;      IMPORTING       e_ucomm&lt;/P&gt;&lt;P&gt;                      sender,&lt;/P&gt;&lt;P&gt;    on_toolbar FOR EVENT toolbar 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;     on_dubbelklik FOR EVENT double_click 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;    handle_data_changed&lt;/P&gt;&lt;P&gt;             FOR EVENT data_changed OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;             IMPORTING er_data_changed,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      handle_data_changed_finished&lt;/P&gt;&lt;P&gt;             FOR EVENT data_changed_finished OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;             IMPORTING e_modified&lt;/P&gt;&lt;P&gt;                       et_good_cells,&lt;/P&gt;&lt;P&gt;     verwerk&lt;/P&gt;&lt;P&gt;       IMPORTING program type sy-repid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  return_structure,&lt;/P&gt;&lt;P&gt;    create_dynamic_fcat&lt;/P&gt;&lt;P&gt;      EXPORTING       it_fldcat TYPE lvc_t_fcat,&lt;/P&gt;&lt;P&gt;  create_dynamic_table&lt;/P&gt;&lt;P&gt;      IMPORTING       it_fldcat TYPE lvc_t_fcat&lt;/P&gt;&lt;P&gt;      EXPORTING       dy_table  TYPE REF TO DATA.&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;    lr_rtti_struc   TYPE REF TO cl_abap_structdescr,        "RTTI&lt;/P&gt;&lt;P&gt;    zog             LIKE LINE OF lr_rtti_struc-&amp;gt;components, "RTTI&lt;/P&gt;&lt;P&gt;    wa_it_fldcat    TYPE lvc_s_fcat,&lt;/P&gt;&lt;P&gt;    it_fldcat       TYPE lvc_t_fcat,&lt;/P&gt;&lt;P&gt;    dy_table        TYPE REF TO data,&lt;/P&gt;&lt;P&gt;    dy_line         TYPE REF TO data,&lt;/P&gt;&lt;P&gt;    struct_grid_lset TYPE lvc_s_layo,&lt;/P&gt;&lt;P&gt;    grid_container1 TYPE REF TO cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;    grid1           TYPE REF TO cl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;TYPES:&lt;/P&gt;&lt;P&gt;   struc            LIKE  zog.&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;    zogt           TYPE TABLE OF struc.&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS zcl_dog IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;METHOD constructor.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CALL METHOD super-&amp;gt;constructor&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      i_appl_events = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      i_parent      = i_parent.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;   CREATE OBJECT grid_container1&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;               container_name = 'CCONTAINER1'.&lt;/P&gt;&lt;P&gt;    CREATE OBJECT  grid1&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;              i_parent = grid_container1.&lt;/P&gt;&lt;P&gt;    SET HANDLER z_object-&amp;gt;on_user_command for grid1.&lt;/P&gt;&lt;P&gt;    SET HANDLER z_object-&amp;gt;on_toolbar for grid1.&lt;/P&gt;&lt;P&gt;    SET HANDLER Z_OBJECT-&amp;gt;handle_data_changed_finished FOR grid1.&lt;/P&gt;&lt;P&gt;    SET HANDLER Z_OBJECT-&amp;gt;on_dubbelklik FOR grid1.&lt;/P&gt;&lt;P&gt;    CALL METHOD grid1-&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;&lt;/P&gt;&lt;P&gt;ENDMETHOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;METHOD on_dubbelklik.&lt;/P&gt;&lt;P&gt;break-point 1.&lt;/P&gt;&lt;P&gt;ENDMETHOD.&lt;/P&gt;&lt;P&gt;METHOD  handle_data_changed.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Insert user code here if required&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;this method is entered if user ENTERS DATA.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDMETHOD.&lt;/P&gt;&lt;P&gt;METHOD handle_data_changed_finished.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Insert user code here if required&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Method entered here after data entry has finished.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDMETHOD.&lt;/P&gt;&lt;P&gt;METHOD return_structure.&lt;/P&gt;&lt;P&gt;  lr_rtti_struc ?= cl_abap_structdescr=&amp;gt;DESCRIBE_BY_DATA( mt_toolbar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   ENDMETHOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   METHOD verwerk.&lt;/P&gt;&lt;P&gt;      PERFORM verwerk IN PROGRAM (program).&lt;/P&gt;&lt;P&gt;      LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.&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;Cheers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jimbo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 08:05:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530751#M573816</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T08:05:19Z</dc:date>
    </item>
    <item>
      <title>Re: class</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530752#M573817</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;chk the demo programs BCALV_GRID_02 and BCALV_GRID_03.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;priya.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 08:11:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530752#M573817</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T08:11:15Z</dc:date>
    </item>
    <item>
      <title>Re: class</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530753#M573818</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I usually think a real practical piece of code with a simple example is better than trying to plough through a lot of the SAP provided examples --especially that Plane  / Seat type of application.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The other problem with the SAP applications is that the event receivers are defined in a separate class so it makes saving a Generic global class with SE24 not very convenient.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Class in my previous post contains everything it needs in the SAME class so you can then save this with SE24 and create very small ABAPS to manipulate often quite complex tables with minimal abap coding.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using the class in  my above post here's a simple demo. It creates a table of 200 entries from KNA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you double click on any cell you'll get taken into the method where there's a break-point.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(Create a Blank screen SE51 with a custom container called CCONTAINER1. Add the foloowing logic in the ecreen&lt;/P&gt;&lt;P&gt;PBO ===&amp;gt;  MODULE status_0100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You dont need a PAI. The EVENTS all handle the input).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Program  ZJIMBOTESTXX.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Jimbo 2007.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FIELD-SYMBOLS :&lt;/P&gt;&lt;P&gt;  &amp;lt;fs1&amp;gt;          TYPE  ANY,&lt;/P&gt;&lt;P&gt;  &amp;lt;fs2&amp;gt;          TYPE  STANDARD TABLE,&lt;/P&gt;&lt;P&gt;  &amp;lt;dyn_table&amp;gt;    TYPE  STANDARD TABLE,&lt;/P&gt;&lt;P&gt;  &amp;lt;orig_table&amp;gt;   TYPE  STANDARD TABLE,&lt;/P&gt;&lt;P&gt;  &amp;lt;dyn_field&amp;gt;,&lt;/P&gt;&lt;P&gt;  &amp;lt;dyn_wa&amp;gt;.&lt;/P&gt;&lt;P&gt;INCLUDE ZZJIMBOXX_INCL. "&amp;lt;===== This is the CLASS definition in my prev.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   post in this thread.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;INCLUDE  &amp;lt;icon&amp;gt;.&lt;/P&gt;&lt;P&gt;TABLES : KNA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:  BEGIN OF s_elements,&lt;/P&gt;&lt;P&gt;  kunnr   TYPE kna1-kunnr,&lt;/P&gt;&lt;P&gt;  name1   TYPE kna1-name1,&lt;/P&gt;&lt;P&gt;  stras   TYPE kna1-stras,&lt;/P&gt;&lt;P&gt;  telf1   TYPE kna1-telf1,&lt;/P&gt;&lt;P&gt;  ort01   TYPE kna1-ort01,&lt;/P&gt;&lt;P&gt;  pstlz   TYPE kna1-pstlz,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF  s_elements.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  z_object type ref to zcl_dog,  "Instantiate our class&lt;/P&gt;&lt;P&gt;       grid_container1 type ref to cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;       t_elements   TYPE TABLE OF s_elements, "refers to our ITAB&lt;/P&gt;&lt;P&gt;       wa_elements   TYPE s_elements,&lt;/P&gt;&lt;P&gt;       wa_dyn_table_line TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;       it_fldcat TYPE lvc_t_fcat,&lt;/P&gt;&lt;P&gt;       new_table TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;       dy_table TYPE REF TO data,&lt;/P&gt;&lt;P&gt;       dy_line  TYPE REF TO data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE status_0100 OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ASSIGN  wa_elements TO &amp;lt;fs1&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT z_object EXPORTING z_object = z_object.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      i_parent = grid_container1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL METHOD z_object-&amp;gt;build_dynamic_structures&lt;/P&gt;&lt;P&gt;        CHANGING it_fldcat = it_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM populate_dynamic_itab.&lt;/P&gt;&lt;P&gt; CALL METHOD z_object-&amp;gt;display_grid&lt;/P&gt;&lt;P&gt;       CHANGING it_fldcat = it_fldcat.&lt;/P&gt;&lt;P&gt;ENDMODULE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE user_command_0100 INPUT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PAI not needed as we are using EVENTS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDMODULE.&lt;/P&gt;&lt;P&gt;FORM populate_dynamic_itab.&lt;/P&gt;&lt;P&gt;SELECT kunnr name1 stras telf1 ort01 pstlz&lt;/P&gt;&lt;P&gt;       UP TO 200 rows&lt;/P&gt;&lt;P&gt;       FROM KNA1&lt;/P&gt;&lt;P&gt;       INTO  CORRESPONDING FIELDS OF TABLE &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate Dynamic table  and save a copy&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create 2nd Dyn table to hold original data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;         it_fieldcatalog = it_fldcat&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;         ep_table = dy_table.&lt;/P&gt;&lt;P&gt;   ASSIGN dy_table-&amp;gt;* TO &amp;lt;orig_table&amp;gt;.&lt;/P&gt;&lt;P&gt; CREATE DATA dy_line LIKE LINE OF &amp;lt;orig_table&amp;gt;.&lt;/P&gt;&lt;P&gt; ASSIGN dy_line-&amp;gt;* TO &amp;lt;dyn_wa&amp;gt;.&lt;/P&gt;&lt;P&gt; &amp;lt;orig_table&amp;gt; = &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM VERWERK.&lt;/P&gt;&lt;P&gt;break-point 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Orig table is in dynamic table &amp;lt;orig_table&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV GRID changed table is in &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Loop at &amp;lt;orig_table&amp;gt;  into &amp;lt;dyn_wa&amp;gt;.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Do what you want&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;end&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;Jimbo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 08:21:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530753#M573818</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T08:21:58Z</dc:date>
    </item>
    <item>
      <title>Re: class</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530754#M573819</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;Chk these standard pgms.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BCALV_EDIT_01 This report illustrates the simplest case of using an editable/noneditable ALV Grid Control.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;BCALV_EDIT_02 This report illustrates how to set chosen cells of an ALV Grid Control editable.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;BCALV_EDIT_03 In this example the user may change values of fields SEATSOCC (occupied seats) and/or PLANETYPE. &lt;/P&gt;&lt;P&gt;The report checks the input value(s) semantically and provides protocol messages in case of error&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Reshma&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 08:30:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530754#M573819</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-19T08:30:09Z</dc:date>
    </item>
    <item>
      <title>Re: class</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530755#M573820</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;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;First you need to create a separate class, it will be used for treatment of the events&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS lcl_event_receiver DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    METHODS:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    handle_double_click&lt;/P&gt;&lt;P&gt;        FOR EVENT double_click OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;            IMPORTING e_row e_column.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS lcl_event_receiver IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD handle_double_click.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Insert here your code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                           "handle_double_click&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;You must creates a object for this class and generates an Instance.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT event_receiver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD grid1-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;       EXPORTING " i_structure_name = ' '&lt;/P&gt;&lt;P&gt;                 is_variant       = gs_layout&lt;/P&gt;&lt;P&gt;                 i_save           = c_a&lt;/P&gt;&lt;P&gt;                 is_layout        = gs_lay&lt;/P&gt;&lt;P&gt;       CHANGING  it_outtab        = gt_tabelas&lt;/P&gt;&lt;P&gt;                 it_fieldcatalog  = catalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Finally, activates the events.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET HANDLER event_receiver-&amp;gt;handle_double_click FOR grid1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;The method "handle_double_click"  is executed automatically when you execute a double click on rows.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Marcelo Ramos&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2007 16:40:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530755#M573820</guid>
      <dc:creator>marcelo_ramos1</dc:creator>
      <dc:date>2007-07-19T16:40:38Z</dc:date>
    </item>
    <item>
      <title>Re: class</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530756#M573821</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;As I showed above you DON'T NEED to create a separate class for the events.&lt;BR /&gt;This can ALL be handled in THE SAME CLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thís makes creating a " Global Generalized Class"  which can then be used by any application program very easy. Just save it  with SE24.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All I have to do then in any application program where I need to manipulate a table is simply the following&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;define my data structures&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Any ITAB structure includind DEEP structures&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;just use parts of KNA1 as an example although the elements don't have to be in *  DDIC&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES:  BEGIN OF s_elements,&lt;/P&gt;&lt;P&gt;  kunnr   TYPE kna1-kunnr,&lt;/P&gt;&lt;P&gt;  name1   TYPE kna1-name1,&lt;/P&gt;&lt;P&gt;  stras   TYPE kna1-stras,&lt;/P&gt;&lt;P&gt;  telf1   TYPE kna1-telf1,&lt;/P&gt;&lt;P&gt;  ort01   TYPE kna1-ort01,&lt;/P&gt;&lt;P&gt;  pstlz   TYPE kna1-pstlz,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF  s_elements.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  z_object type ref to zcl_dog,  "Instantiate our class&lt;/P&gt;&lt;P&gt;       grid_container1 type ref to cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;       t_elements   TYPE TABLE OF s_elements, "refers to our ITAB&lt;/P&gt;&lt;P&gt;       wa_elements   TYPE s_elements,&lt;/P&gt;&lt;P&gt;       wa_dyn_table_line TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;       it_fldcat TYPE lvc_t_fcat,&lt;/P&gt;&lt;P&gt;       wa_it_fldcat    TYPE lvc_s_fcat,&lt;/P&gt;&lt;P&gt;       new_table TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;       dy_table TYPE REF TO data,&lt;/P&gt;&lt;P&gt;       dy_line  TYPE REF TO data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Instantiate the CLASS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;B&gt;&lt;/B&gt;CREATE OBJECT z_object EXPORTING z_object = z_object.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      i_parent = grid_container1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL METHOD z_object-&amp;gt;build_dynamic_structures&lt;/P&gt;&lt;P&gt;        CHANGING it_fldcat = it_fldcat.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;poulate the ITAB&lt;BR /&gt;&lt;BR /&gt;and then display the GRID&lt;BR /&gt;&lt;BR /&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD z_object-&amp;gt;display_grid&lt;BR /&gt; CHANGING it_fldcat = it_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;all the events are contained in the class so you can program whatever action you like .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When using classes / OO it's better to totally think OO rather than use classes and object as "super glorified function modules".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once you've built up some decent Z_classes you can probably remove about 95% of the legacy Z_ABAPS most shops have and creating new one's becomes a very quick exercise.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jimbo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2007 11:21:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530756#M573821</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-20T11:21:14Z</dc:date>
    </item>
    <item>
      <title>Re: class</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530757#M573822</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Sep 2007 07:35:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/class/m-p/2530757#M573822</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-24T07:35:52Z</dc:date>
    </item>
  </channel>
</rss>

