화면 선택조건에서
A 라는 셀렉트 옵션의 값을 변경하였을 경우에
그 밑에 있는 B 셀렉트 옵션의 값을 SPACE로 반환하고 싶은데요,
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'MATNR' "참조 필드.
dynpprog = sy-cprog
dynpnr = sy-dynnr
dynprofield = 'S_MATNR-LOW'
value_org = 'S'
TABLES
value_tab = l_tab.
이 펑션을 써서 서치헬프에서 선택한 값이 화면에 들어가게 하는 것처럼
A의 값을 변경했을 때 B의 값을 0으로 반환하도록 하는 펑션이 있을까요??
찾아보고 있는데 도통 모르겠네요 ^^;;;
알려주시면 매우 감사하겠습니다 (__)*
댓글 5
-
페리
2009.08.10 17:23
-
홍구나라국민
2009.08.10 18:00
쿵푸ㅋ 님의 코딩에 해당 펑션 밑에다가 A에 값이 들어올 경우 B를 그냥 refresh 해주는 로직을 넣으면 될거 같은데요
-
쿵푸ㅋ
2009.08.11 06:25
감사합니다 (__)*
-
쿵푸ㅋ
2009.08.11 06:27
말씀하신 방법은 안 되네요;;; 더 찾아봐야겠어요... ;;; -
요요
2009.08.15 02:31
로직만 말씀드리면
1. posssible entry 선택후 선택값과 현재 화면필드가 같은지 비교
2. 다르다면 위에처럼 초기화하고자 하는 select-option 필드를 refresh.
3. 2에서 데이터는 클리어 되었으나 select-option 에 대한 selection-screen의
화면값은 클리어가 되지 않았으므로 dynp_values_update 펑션을 이용하여
selection-screen 의 화면값도 클리어.
이렇게 구현하시면 원하시는 결과를 얻으실 수 있을 거예요.
DATA: SCR_FIELDS LIKE DYNPREAD OCCURS 0 WITH HEADER LINE.
DATA: LV_BUKRS LIKE T001-BUKRS.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-B01.
PARAMETERS: P_BUKRS LIKE T001-BUKRS,
P_CHAR(5).
SELECTION-SCREEN END OF BLOCK B1.
AT SELECTION-SCREEN OUTPUT.
IF LV_BUKRS IS INITIAL.
LV_BUKRS = P_BUKRS.
ENDIF.
IF LV_BUKRS NE P_BUKRS.
CLEAR: P_CHAR, LV_BUKRS.
ENDIF.
펑션은 잘 모르겠고... 로직으로 한다면 저렇게 해도 될듯한데욤.