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 |