오늘은 기존에 존재하는 Search help를 사용하는 펑션 <F4IF_FIELD_VALUE_REQUEST> 에 대해 알아보겠습니다.
(예시로 들 Search help: H_T001L 은 스탠다드에서 제공하는 플랜트,저장위치관련 Search help 이며
쉬운 설명을 위해 조회화면 1000번에서의 적용 방법으로 설명드리겠습니다.)
<파라미터>
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname = search help 가져올 테이블
fieldname = search help 가져올 필드
searchhelp = search help 이름 (**참고1)
shlpparam = popup창에서 선택할 필드
dynpprog = 리턴 파라미터를 내보낼 프로그램 (보통 SY-REPID)
dynpnr = 리턴 파라미터를 내보낼 프로그램의 스크린 번호 (보통 SY-DYNNR)
dynprofield = export 파라미터를 내보낼 프로그램의 스크린 필드
(EX. PA_MATNR) (**참고2)
callback_program = callback_form 있는 프로그램명
callback_form = parameter setting을 지정하는 FORM 명
(EX.CALL_VALUE_REQUEST) (**참고3)
TABLES
return_tab = 리턴받는 데이터
<추가사항>
(**참고1) tabname과 fieldname이 있으면 해당 값은 무시된다
(**참고2) dynprofield 값을 입력하면 return_tab-retfield 에 값이 들어가며
popup창에서 필드 선택시 자동으로 해당입력값의 value가 변경된다 ↓.
dynprofield 값을 입력하지 않으면 search help 의 모든 필드가 return_tab에 반환되면
자동으로 화면이 변경되는 값은 없다 ↓
(**참고3)
callback_form 에는 parameter setting을 지정하는 FORM 명 (EX.CALL_VALUE_REQUEST) 을 추가한다.
아래와 같이 선언해서 사용해야 하며 callback_form 에 값을 입력하고 parameter setting을 지정하면
search help 팝업을 띄우기 전에 조건을 입력할 수 있는 창을 하나 더 띄운다( parameter setting). (화면3)
(*해당 form문을 두번 타게되니 디버깅해서 확인해보시길 바립니다)
search help 팝업에서 필드 선택후에는 화면2 와 같이 return_tab에 반환되니
필요한 데이터를 read 하여 사용하면 된다.
<예시>
아래예시는 callback_form 을 사용하지 않고 SEARCH HELP를 실행한 것이다.
'Function' 카테고리의 다른 글
SAPGUI_PROGRESS_INDICATOR (0) | 2021.08.25 |
---|---|
CLOI_PUT_SIGN_IN_FRONT (0) | 2021.08.24 |
DYNP_VALUES_READ (0) | 2021.07.07 |
DDIF_FIELDINFO_GET (0) | 2021.07.07 |
F4IF_INT_TABLE_VALUE_REQUEST (1) | 2021.07.07 |