기본적으로 ALV 구현 방법에는
1. Function을 이용 : REUSE_ALV_GRID_DISPLAY
2. Class Method를 이용 : CL_GUI_ALV_GRID=>SET_TABLE_FOR_FIRST_DISPLAY
위 두가지 방법이 있는 것으로 알고 있습니다.
그럼, 여기서 질문입니다.
1번의 Function을 이용해서 ALV를 구현할 경우, ALV 리스트내에 DropDown 리스트는
어떻게 구현하나요?? 아무리 이러저리 머리를 굴려봐도 답이 안나오네요. ㅜ_ㅜ;;
고수분들의 한 수 가르침을 부탁드립니다.
댓글 4
-
김지성
2008.08.01 18:01
클래스는 가능한데..펑션을 이용해서는 불가능 한 듯 자료가 없네요 -
아기걸음마
2008.08.02 02:22
REUSE_ALV_GRID_DISPLAY의 소스를 보시게 되면 500번 스크린을 사용해 뿌려주게 되어 있습니다.
500분 스크린의 PBO로직을 보게 되면 set_table_for_first_display 를 호출하기 전
i_callback_caller_exit에 등록된 서브루틴을 호출하게 되는데요. 여기서
alv 리스트의 dropdown에 관한 설정 및 다른 설정들도 해줄 수 있습니다.
BCALV_TEST_FULLSCREEN 프로그램에서 f01_alv_event_caller_exit 서브루틴이
i_callback_caller_exit을 통해 호출되는 서브루틴이니까 이 프로그램을 조금만 분석하시면
원하시는 처리를 하실 수 있을 것입니다.
REUSE_ALV_GRID_DISPLAY 의 파라미터중 it_events 파라미터에 넣어주면 되구요.
이 파라미터는 slis_t_event 테이블 타입입니다. 그리고 꼭 서브루틴을 만들때 꼭 call_exit가 들어가야 합니다.
-
아기걸음마
2008.08.02 02:27
그리고 등록된 서브루틴에서 get_globals_from_slvc_fullscr 펑션을 사용하시게 되면 REUSE_ALV_GRID_DISPLAY에서 사용하게 되는 그리드의 속성을 가져올 수가 있습니다. -
비안개
2008.08.05 06:01
저도 그 질문 했었는데... 한번 검색을 이용해보셨음 하는데..
Function인가.. Class 에서 하려는 방법을 모색해서 그 비슷한거 찾아 올렸던거 같거든요...