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

Internal table modification in ABAP object event

Hi Gurus

I have an internal table displayed using ALV - OOPS concept. THe internal table has 15 rows in my test program but it can go up depending on user inpout.

I am able to display it . on the screen . One of the fields is editable . It is required that it take input from user and on pressing enter , the value entered in that cell should be subtracted from a total amout displayed in the cell next to it.

I have used the following code . There are no errors , but nothing happens when I edit it. The screen remains as it is.

Any help will be very useful

DATA : ITAB type ITABT occurs 0.

DATA : itab_w like line of itab.

CLASS LCL_EVENTS_D0100 IMPLEMENTATION.

METHOD handle_data_changed.

DATA: ls_good TYPE lvc_s_modi.

DATA : L_PLANETYPE TYPE ITABT-SEL_QUANT.

LOOP AT er_data_changed->mt_good_cells INTO ls_good.

CASE ls_good-fieldname.

  • check if column PLANETYPE of this row was changed

WHEN 'SEL_QUANT'.

CALL METHOD pr_data_changed->get_cell_value

EXPORTING

i_row_id = ls_good-row_id

i_fieldname = ls_good-fieldname

IMPORTING

e_value = l_planetype.

ENDCASE.

LOOP AT ITAB INTO ITAB_W .

read table itab into itab_w WITH KEY FINDEX = LS_GOOD-ROW_ID .

itab_w-f_balquant = itab_w-f_balquant - l_planetype.

modify itab FROM itab_w .

endloop.

ENDLOOP.

ENDMETHOD.

ENDCLASS.

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

3 Answers

  • Posted on Sep 09, 2007 at 05:50 AM

    Hi,

    check this program

    BCALV_TEST_GRID_EVENTS

    u've to register the edit event with the Enter attribute, something like this

    call method gr_grid_d0100->register_edit_event

    exporting

    i_event_id = cl_gui_alv_grid=>mc_evt_enter.

    Add a comment
    10|10000 characters needed characters exceeded

    • .Subramony A R .Subramony Ramakrishnan .Subramony A R .Subramony Ramakrishnan

      Hi,

      Hi,

      AND also use

      *----------------------------------------------------------------------*
      * Module Pai INPUT                                                     *
      *----------------------------------------------------------------------*
      * PAI module                                                           *
      *----------------------------------------------------------------------*
      module pai input.
        save_ok = ok_code.
        clear ok_code.
      
        call method grid1->check_changed_data
          importing
            e_valid = v_valid.
      
      " After this system will automatically update your changed data into 
      " internal table t_zthlog
      
      
        case save_ok.
          when 'EXIT'.
            perform f_exit_program.
          when 'CANC'.
            perform f_exit_program.
          when 'BACK'.
            perform f_exit_program.
          when 'SAVE'.
            perform f_save_data.
        endcase.
      endmodule.                               " Pai INPUT
      
      
      

      aRs

  • author's profile photo Former Member
    Former Member
    Posted on Sep 09, 2007 at 06:48 AM

    Hi

    Well the problem is not solved, The code int he PAI , well it has its problems , like what is the type for v_valid. If I give it the data type of my internal table field , I get a type mismatch error.

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Sep 09, 2007 at 07:01 AM

    Hi,

    data : v_valid     type c.
    

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member .Subramony A R .Subramony Ramakrishnan

      I appreciate your support.

      Its actually very simple , I just want to get the input from user , and make changes to fields on the same row of the displayed ALV on which the user entered a value.

      THanks for your help

Before answering

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

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