메뉴 건너뛰기

SAP 한국 커뮤니티



Ok 코드 강제생성

greenHair 2009.03.06 02:15 조회 수 : 4971 추천:2

 


먼저...  OK 코드를 강제로 생성시키려면 간단히 cl_gui_cfw=>set_new_ok_code 메소드를 호출하면 됩니다.


 


data: l_ucomm type sy-ucomm.
  l_ucomm = 'DUMMY'.
  call method cl_gui_cfw=>set_new_ok_code
    exporting
      new_code = l_ucomm.


 


이것의 응용은...  주로 Data changed 이벤트에서 화면과 인터널테이블과의 동기를 맞춰주기 위해 사용합니다.


 


예를들면  그리드 화면에 마라에 있는 자재코드 여러개를 쭉 복사해서 붙여 놓으면


관련된 디스크립션이나 수량정보 등을 가져오는 프로그램을 생각할 수가 있는데요...


 


이때 Ctrl + V 만으로 Data Change Event 가 발생이되고...


그러나...


화면의 붙여넣은 데이터는 Internal Table 에 존재하지 않습니다..


그래서 이것을 동기화 시켜주기위해 mt_modi_cells 를 이용하여 로직을 구현하여야 하는데...


 


이런 불편함을 덜기 위해..


ok_code 를 발생시키고 user_command 에서 받아 처리해 주면...  화면값과 iternal table 간의 동기화는


자동으로 되므로.. 애써 로직 구현을 하지 않아도 됩니다..


 


그리고 이 메소드를 사용하기 위해 그리드 생성시  application event 는 주면 안됩니다..


 


제가 간단히 만든 실 예제 참조.... 하세요..