AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_posid-low.
DATA : BEGIN OF lt_wbs OCCURS 0,
post1 LIKE prps-post1,
posid LIKE prps-posid,
END OF lt_wbs.
DATA : lt_rtntab LIKE ddshretval OCCURS 0 WITH HEADER LINE.
SELECT DISTINCT b~post1 b~posid
INTO CORRESPONDING FIELDS OF TABLE lt_wbs
FROM ztco0029 AS a JOIN prps AS b ON a~posid = b~poski.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'SO_POSID-LOW'
dynpprog = sy-cprog
dynpnr = sy-dynnr
window_title = 'WBS 요소'
value_org = 'S'
TABLES
value_tab = lt_wbs
return_tab = lt_rtntab.
READ TABLE lt_rtntab INDEX 1 .
so_posid-low = lt_rtntab-fieldval.
위와 같이 코드를 작성해서 Possible Entry를 나오게 했는데
더블클릭하면 자꾸 두번째 값이 리턴이되는데 첫번째 값을 받고 싶으면 어떻게 해야 할까요..?
고수님들 답변부탁드립니다..
RETFIELD 는 ITAB 에서 반환해야하는 필드를 얘기합니다. POST1 을 받고 싶다면
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'POST1'
dynpprog = sy-cprog
dynpnr = sy-dynnr
window_title = 'WBS 요소'
value_org = 'S'
TABLES
value_tab = lt_wbs
return_tab = lt_rtntab.
으로 바꿔보세요. 좀 이상한건 선택화면 필드는 POSID 인데 탐색도움말 결과가
POST1 이라면 좀 이상할 듯 하네요. ^^;