본문 바로가기

Abap

[ALV-Class] Data Changed Event

   METHODShandle_data_changed  FOR EVENT data_changed OF
cl_gui_alv_grid
                IMPORTING er_data_changed
                          e_ucomm.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

   METHODhandle_data_changed.

    PERFORM handle_data_changed USING er_data_changed
                                e_ucomm .
  ENDMETHOD.                    "handle_data_changed

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

  FORM handle_data_changed  USING   pr_data_changed
                             TYPE REF TO cl_alv_changed_data_protocol
                        e_ucomm.

  DATA ls_modi TYPE lvc_s_modi,
        l_value(30TYPE c.


  SORT pr_data_changed->mt_mod_cells BY row_id.

  LOOP AT pr_data_changed->mt_mod_cells INTO ls_modi.
    READ TABLE gt_data INDEX ls_modi-row_id.

    CASE ls_modi-fieldname.

      WHEN 'ZPLOC_T'.
        CALL METHOD pr_data_changed->get_cell_value
          EXPORTING
            i_row_id    ls_modi-row_id
            i_fieldname ls_modi-fieldname
          IMPORTING
            e_value     l_value.

        CALL METHOD pr_data_changed->modify_cell
          EXPORTING
            i_row_id    ls_modi-row_id
            i_fieldname 'ZPLOC'
            i_value     l_value+0(1).

    ENDCASE.

  ENDLOOP.
ENDFORM.                    " HANDLE_DATA_CHANGED

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

Alv 에 Event 등록 하면 끝.