오늘 하루 죙일~ 이것 때문에 고생아닌 고생을 ㅠㅠ
질문은 ALV에 하나의 Field에 Drop Down선택 값(Row의 Click이벤트로여~)을 알수 있는 방법이 있는지 해서여~
안된다믄 ㅠㅠ
답변 부탁드리겠습니다.
ㅋㅋ 졸립내영 ㅠㅠ
댓글 2
-
e-abap
2008.02.22 22:38
-
Lee Hyun
2008.02.23 00:51
해결 했습니다. ^^ 오전에 외근 나갔다가 오면서 꿈속에서 ㅋㅋㅋ
-----------------------------------------------------------------
CALL METHOD g_grid->set_table_for_first_display
EXPORTING
it_toolbar_excluding = lt_exclude
is_layout = gs_layout
CHANGING
it_fieldcatalog = pt_fieldcat
it_outtab = pt_outtab[].
더블 클릭시 인덱스를 알아..
pt_outtab << 여기서 그 Row의 Drop Down List가 있는 필드 값을 확인 해보니 선택된 값이 있더라구요 ㅋㅋ
그래서 해결 했습니다.
-----------------------------------------------------------------
정리된 내용이 있어 공유합니다.
-------------------
Dropdown 리스트는 Search Help와 같이 사용자의 입력 편의를 위해서 많이 사용된다. "16장 Module Pool Program"에서 Dropdown 리스트는 입력 도움말이 존재할 때 스크린 페인터의 속성을 이용하면 편리하게 설정할 수 있었다. 그러나 ALV는 스크린에 Custom Control만 존재하기 때문에 스크린 페인터에서 속성을 설정할 수 없다. ALV에 Dropdown 리스트를 추가하려면 소스레벨에서 필드카탈로그의 Dropdown 속성을 설정한 후에 set_drop_down_table이라는 메소드를 호출하여야 한다.
다음과 같은 순서로 AVL 셀 속성을 변경하여 Dropdown 리스트를 생성한다.
① 필드 카탈로그 속성 Dropdown 순번 지정
handle 속성은 필드 카탈로그에서 drdn_hndl에 설정된 값과 연결되며, 숫자 값만 사용할 수 있다. 만약 ALV에서 여러 개의 필드에 Dropdown 리스트를 생성해야 할 경우 1, 2, 3 순번을 지정하여 사용한다.
<BOX>
ls_fieldcat-fieldname = 'CARRID'.
ls_fieldcat-drdn_hndl = '1'.
</BOX>
② Dropdown 리스트 데이터 선언하기
Dropdown 리스트를 저장하게 되는 인터널 테이블과 구조체를 선언한다.
그림과 같은 구조로 이루어져 있다.
<BOX>
DATA : lt_dropdown TYPE lvc_t_drop,
DATA : ls_dropdown TYPE lvc_s_drop.
</BOX>
③ Dropdown 리스트 데이터 생성하기
Dorpdown 구조체에 값을 할당하여 인터널 테이블에 추가한다.
<BOX>
ls_dorpown-handle = '1'.
ls_dropdown-value = 'AA'.
APPEND ls_dropdown TO lt_dropdown.
</BOX>
④ Dropdown 리스트 ALV 필드에 적용하기
Dropdown 리스트를 생성하는 set_drop_down_table 메소드를 호출한다.
<BOX>
CALL METHOD g_grid->set_drop_down_table
EXPORTING
3
</BOX>
Dropdown 리스트를 생성하기 위해 앞에서 단계별로 정의한 것을 실제 프로그램에 적용하여 보자.
<예제18-9-1 >
REPORT Z18_031 .
~중략~
FORM setting_catalog .
DATA ls_fieldcat TYPE lvc_s_fcat.
ls_fieldcat-fieldname = 'CARRID'.
ls_fieldcat-edit = 'X'.
ls_fieldcat-drdn_hndl = '1'.
ls_fieldcat-checktable = '!'. "do not check foreign keys
ls_fieldcat-outputlen = '5'.
APPEND ls_fieldcat TO gt_fieldcat.
ENDFORM.
~중략~
FORM setting_dropdown .
DATA: lt_dropdown TYPE lvc_t_drop,
ls_dropdown TYPE lvc_s_drop.
ls_dropdown-handle = '1'.
ls_dropdown-value = 'AA'.
APPEND ls_dropdown TO lt_dropdown.
ls_dropdown-handle = '1'.
ls_dropdown-value = 'AZ'.
APPEND ls_dropdown TO lt_dropdown.
ls_dropdown-handle = '1'.
ls_dropdown-value = 'UA'.
APPEND ls_dropdown TO lt_dropdown.
CALL METHOD g_grid->set_drop_down_table
EXPORTING
3
ENDFORM. " setting_dropdown
</예제>
참고하자.