Function

F4IF_FIELD_VALUE_REQUEST

오늘은 기존에 존재하는 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가 변경된다    

화면1

              dynprofield 값을 입력하지 않으면  search help 의 모든 필드가  return_tab에 반환되면

              자동으로 화면이 변경되는 값은 없다

화면2

                 

(**참고3)

callback_form 에는 parameter setting을 지정하는 FORM 명 (EX.CALL_VALUE_REQUEST) 을 추가한다.

 

아래와 같이 선언해서 사용해야 하며 callback_form 에 값을 입력하고 parameter setting을 지정하면

search help 팝업을 띄우기 전에 조건을 입력할 수 있는 창을 하나 더 띄운다( parameter setting). (화면3)

(*해당 form문을 두번 타게되니 디버깅해서 확인해보시길 바립니다)

 

화면3

 

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