SAP Program/ALV

ALV Change or method call 이후에 넣어야 하는 code

유부사모 2017. 3. 20. 09:11

- alv 관련 method (gc_grid_1->get_selected_rows 등) 호출 후에 넣어야 하는 code


CALL METHOD gc_grid_1->get_selected_rows
    IMPORTING
      et_index_rows gt_rows_1.

  CALL METHOD cl_gui_cfw=>flush. ===> 솔직히 무슨 기능인지 파악 안됨.


- alv grid change 후에 넣어야 하는 code ( 보통 User command 실행 하기전에 넣어줌 )


  DATA: lw_valid(1),
          lw_refresh(1VALUE 'X'.

  "변경 확인 및 DATA_CHANGED 이벤트 발생
  CALL METHOD gc_grid_2->check_changed_data
    IMPORTING
      e_valid   lw_valid
    CHANGING
      c_refresh lw_refresh.


check_changed_data 는 alv_changed event 처리 루틴안에 넣으면 무한 loop에 걸리게 됨.


check_changed_data 는 alv-grid 의 변경사항여부를 점검하여 변경사항이 있을 경우

data_chaged 이벤트로 분기시켜주는 역할을 합니다. 

grid 에서 변경 후처리가 끝난 후라면 변경사항이 없기 때문에 해당 메쏘드를 타지 않을 것이고 

변경하고 후처리가 되지 않았다면 변경사항에 대한 처리가 되지 않았으므로 data_changed 로 분기 되겠죠.