제목에서처럼 DropDown List Box를 구현하려고 합니다만....ㅠ
책 예제보고 따라하고 있습니다만 생각보다 잘 되지가 않네요.....
이런식으로 도출하고 싶은데
국가(TEXT) 네모(DropDownList Box) 수도(TEXT) 네모(DropDownList Box)
여기서 네모(DropDownList Box) <--요부분이 계속 빈칸으로만 나오네요;;;(Drill Down 속성은 주었습니다)
DropDown List Box에다 해당하는 값들이 들어오지 않아서 질문을 올립니다..
소스올릴테니...
보시고 검토좀 해주세요ㅠ
Table형태!!
tables : zmzts001
mandt zc_code1 zc_number zc_group zc_name
100 AS 0001 001 WASINGTON
.........
tables : zmzts002
mandt zc_key zc_number zc_group zc_name1
100 AS 0001 001 AMERICA
.........
**소스 시작부분**
선언부
*&---------------------------------------------------------------------*
*& Include MZTS2000TOP
*&
*&---------------------------------------------------------------------*
PROGRAM SAPMZTS2000 MESSAGE-ID zmsd.
DATA : ok_code TYPE sy-ucomm,
CODE TYPE sy-ucomm,
COUN(3), CITY(4), OUTPUT(50).
CONSTANTS : c_code1(15) VALUE '0001'. "국가 Default
TABLES : ZMZTS001, ZMZTS002.
* Internal table 선언
DATA : BEGIN OF itab1 OCCURS 0 ,
key LIKE ZMZTS001-ZC_CODE,
Capital LIKE ZMZTS001-ZC_NAME,
END OF itab1.
DATA : BEGIN OF itab2 OCCURS 0,
key LIKE ZMZTS002-ZC_KEY,
Country lIKE ZMZTS002-ZC_NAME1,
END OF itab2.
PBO MODULE
*----------------------------------------------------------------------*
***INCLUDE MZTS2000O01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module STATUS_0100 output.
SET PF-STATUS 'STATUS_0100'.
SET TITLEBAR 'TITLE_0100'.
endmodule. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module list_box OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module list_box output.
TYPE-POOLS VRM.
*----VRM은 KEY와 TEXT로 구성된 table
DATA : values1 TYPE VRM_VALUES WITH HEADER LINE,
values2 TYPE VRM_VALUES WITH HEADER LINE.
FREE : values1, values2.
*국가SELECT
SELECT ZC_GROUP ZC_NAME1 INTO (values1-key, values1-text)
FROM ZMZTS002 WHERE ZC_NUMBER = c_code1.
APPEND values1. CLEAR values1.
ENDSELECT.
**수도SELECT
SELECT ZC_GROUP ZC_NAME INTO (values2-key, values2-text)
FROM ZMZTS001 WHERE ZC_NUMBER = c_code1.
APPEND values2. CLEAR values2.
ENDSELECT.
endmodule. " list_box OUTPUT
************************************************************************
* list box 호출
*=== 국가
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'COUN' "SCREEN FIELD NAME
values = values1[]
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2.
ENDIF.
**** 수도
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'CITY' "SCREEN FIELD NAME
values = values2[]
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2.
댓글 4
-
Hyui
2008.12.20 03:21
-
우락부락
2008.12.22 18:55
답변주신거 감사합니다...그런데 F4 Available기능이 정확히 무엇을 의미하는지 이해가 잘 안되서요ㅠ -
COMAN
2008.12.22 19:24
Screen Program에서 구현하시는거 같은데..혹시 SCREEN FIELD속성에
Drop Down list로 세팅되었는지 확인하셧나요?
아니면
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'CITY' "SCREEN FIELD NAME
-> id = 'ITAB-CITY'.....로 itab name까지 줘보세요..
*윗분의 말씀은 Possible Entry로 구현해보라는 말씀이신거 같습니다.
시간이 오래돼서 이미 해결하셨을수도 있게네요..
-
우락부락
2008.12.22 19:50
네 첫번째는 확인해봤는데 이상없고
두번째대로 바꾸어서 실행해봤는데 그대로네요;;
어떻게 해야할지?ㅠ
개인적인 생각이지만 ALV를 사용하실텐데요...F4 Available 이 기능을 써보시는건 어떠신지요 의외로 간단하게 풀릴수 있는데...
사용 소스까지는 제가 못올려 드려서..죄송합니다.