Drunken Lion

[ALV] DATA_CHANGED EVENT 본문

SAP/ALV

[ALV] DATA_CHANGED EVENT

DrkLion 2009. 6. 2. 16:55

DATA_CHANGED EVENT 에서 데이터의 정합성을 판단하고 ADD_PROTOCOL_ENTRY 를 이용해 메세지를 띄울수 있다.

 
FORM handle_data_changed USING ir_data_changed
                         TYPE REF TO cl_alv_changed_data_protocol.
 
  DATA : ls_mod_cell  TYPE lvc_s_modi  ,
         lv_value      TYPE lvc_value  .
 
  SORT ir_data_changed->mt_mod_cells BY row_id .
  LOOP AT ir_data_changed->mt_mod_cells
                         INTO ls_mod_cell
                         WHERE fieldname = 'SEATSMAX' .
    CALL METHOD ir_data_changed->get_cell_value
                  EXPORTING i_row_id     =  ls_mod_cell-row_id
                            i_fieldname  =  'CARRID'
                  IMPORTING e_value      =  lv_value .
 
    IF lv_value = 'THY' AND ls_mod_cell-value > '500' .
      CALL METHOD ir_data_changed->add_protocol_entry
           EXPORTING
             i_msgid = 'SU'
             i_msgno = '000'
             i_msgty = 'E'
             i_msgv1 = 'This number can not exceed 500 for '
             i_msgv2 = lv_value
             i_msgv3 = 'The value is et to ''500'''
             i_fieldname = ls_mod_cell-fieldname
             i_row_id = ls_mod_cell-row_id .
 
      CALL METHOD ir_data_changed->modify_cell
             EXPORTING i_row_id    = ls_mod_cell-row_id
                       i_fieldname = ls_mod_cell-fieldname
                       i_value     = '500' .
    ENDIF .
  ENDLOOP .
ENDFORM " handle data changed

참조 문서 : 2009/03/09 - [SAP R/3/ALV] - ReferenceForALV_Grid

'SAP > ALV' 카테고리의 다른 글

[ALV] Function ALV 에서 데이터 변환 강제 인식  (0) 2009.10.12
[ALV] LIST BOX 만들기  (0) 2009.06.03
[ALV]툴바에 버튼 추가하기  (0) 2009.06.02
CLASS ALV에서 간단한 FIELD CATALOG 생성  (0) 2009.03.23
ReferenceForALV_Grid  (0) 2009.03.09