(ABAP 코드) ON VALUE-REQUEST FOR
* 프로그램 내에서 Search Help를 만든다.
*- F4 관련 테이블
DATA : F4_RETURN LIKE TABLE OF DDSHRETVAL WITH HEADER LINE,
LT_DYNMAPP TYPE TABLE OF DSELC WITH HEADER LINE,
LT_DYNTAB TYPE TABLE OF STRING.
* Search Help만들기 위한 테이블 선언
DATA : BEGIN OF LS_DEV,
DEVNR LIKE ZTBD2_12_01-DEVNR,
DEVNM LIKE ZTBD2_12_01-DEVNM,
CETCD LIKE ZTBD2_12_06-CETCD,
CETNM LIKE ZTBD2_12_05-CETNM,
END OF LS_DEV,
LT_DEV LIKE TABLE OF LS_DEV.
CLEAR : LT_DYNMAPP[], LT_DYNTAB[], LT_DEV[].
* Search Help 만들기 위한 Field들 받아오기
SELECT A~DEVNR, A~DEVNM, B~CETCD, C~CETNM
INTO TABLE @LT_DEV
FROM ZTBD2_12_01 AS A
LEFT OUTER JOIN ZTBD2_12_06 AS B
ON A~DEVNR = B~DEVNR
LEFT OUTER JOIN ZTBD2_12_05 AS C
ON B~CETCD = C~CETCD
ORDER BY A~DEVNR, A~DEVNM.
* Search Help 만들기 위한 Function
*-> CALL FUNCTION
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'DEVNR'
DYNPPROG = SY-CPROG
DYNPNR = SY-DYNNR
WINDOW_TITLE = '개발자'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = LT_DEV
RETURN_TAB = F4_RETURN
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* F4_RETURN의 첫번째 Line
READ TABLE F4_RETURN INDEX 1.
CHECK SY-SUBRC = 0.
* P_DEV(파라미터 변수 이름)에 FIELDVAL을 입력
P_DEV = F4_RETURN-FIELDVAL.