ALV GRID

CL_GUI_ALV_GRID 의 DATA_CHANGED 이벤트

 

 

ALV GRID를 사용하여 화면을 출력 후 , 

수정기능에서 라인 INSERT, DELETE를 직접 TOOLBAR에 만들어 사용할 수도 있고,  

ALV 기능에서 제공하는 INSERT, DELETE 기능을 사용할수도 있다.

 

오늘은 ALV 기능에서 제공하는 INSERT, DELETE 기능을 사용했을떄 DATA_CHANGED 이벤트에서

사용하는 기능에 대해서 알아보자

(ALV EVENT 사용법은 알고있다는 전제로)

 

FORM handle_data_changed  USING    pr_data_changed  TYPE REF TO cl_alv_changed_data_protocol.

  DATA ls_mod_cells  TYPE lvc_s_modi.
  DATA ls_del_rows   TYPE lvc_s_moce.

 

1.  변경된 라인 체크하기
  LOOP AT pr_data_changed->mt_good_cells INTO ls_mod_cells.


    CALL METHOD pr_data_changed->modify_cell
      EXPORTING
        i_row_id    ls_mod_cells-row_id
        i_fieldname = 변경할 필드
        i_value     = 변경할 VALUE값

    AT END OF row_id.

      gv_changed abap_true.


      CALL METHOD pr_data_changed->modify_cell
        EXPORTING
          i_row_id    ls_mod_cells-row_id
          i_fieldname 'FLAG'  "change flag
          i_value     abap_true.
    ENDAT.

  ENDLOOP.

 

  => 라인이 추가되거나 변경되었을때 어떠한 필드의 값을 변경할 수 있고,

       FLAG 필드를 추가해 저장등 후처리 할때 변경된값을 인식할수있다.

       

 

 

2. 삭제되는 라인 체크하기 
  LOOP AT pr_data_changed->mt_deleted_rows INTO ls_del_rows.
    gv_changed abap_true.

    READ TABLE gt_disp INTO gt_disp_d INDEX ls_del_rows-row_id.
    CHECK sy-subrc 0.
    APPEND gt_disp_d.
  ENDLOOP.

 

 => 삭제되는 라인을 GT_DISP_D에 옮겨 담아 후처리 할 떄 중복체크등등을 처리할 수 있다.

       

      

 

 

'ALV GRID' 카테고리의 다른 글

ALV GRID에 SEARCH HELP 추가하기  (0) 2021.07.14
ALV 색상 표  (0) 2021.07.01
ALV GRID 색상 추가 3가지 방법  (0) 2021.07.01
ALV GRID TITLE 설정  (0) 2021.06.15
SCREEN TITLE 동적 사용 : PBO 설정  (1) 2021.06.15