Function

F4IF_INT_TABLE_VALUE_REQUEST

SAP 스탠다드에서 제공하는 Secrch Help 펑션 F4IF_INT_TABLE_VALUE_REQUEST 에 대해 알아보겠습니다.


 

Function parameter에 대해서 설명드리겠습니다.(많이 사용하는 parameter)

 

 

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield           =  Search help pupup창에 뜨는 필드중 value 값을 읽어올 필드 

                              ( Name of return field in FIELD_TAB )
      dynpprog        = export 파라미터를 내보낼 프로그램 (보통 SY-REPID)
      dynpnr           export 파라미터를 내보낼 프로그램의 스크린 번호 (보통 SY-DYNNR)
      dynprofield     = export 파라미터를 내보낼 프로그램의 스크린 필드 (EX. PA_MATNR)
      window_title    = 팝업창 타이틀
      value_org       ' C' 인지 'S'인지에 따라 사용하는  파라미터들이 다름
    TABLES
      value_tab       = Popup창에 보여줄 search help 데이터

                            ( value_org가 S일때와 C일때가 구성형태가 다름)
      field_tab        =  value_org가 C일때만 사용하는 POPUP 필드 카탈로그

                            ( TYPE DFIES)
      return_tab      = popup에서 선택했을때 리턴되는 데이터

                            (TYPE DDSHRETVAL )

     dynpfld_mapping =  POPUP에서 어떤 데이터들을 리턴값에 넣어줄지 설정하는 테이블

                               value_org가 C일때만 사용 (TYPE DSELC)
    EXCEPTIONS
      parameter_error 1
      no_values_found 2
      OTHERS          3.

 


 

** 일반적으로 F4펑션을 사용하기전에 화면에 어떠한 데이터를 읽어와서

   해당 데이터로 다른 테이블을 조회하거나 가공한 후 펑션을 사용하여 F4 데이터를 보여주고/

   POPUP창에서 데이터를 선택하여 화면에 업데이트합니다. 

   화면의 데이터를 읽어오고 / 화면에 데이터를 업데이트하는 펑션은 아래 URL을 참고하시면 됩니다.

 

**화면 읽어오기

https://moon-7.tistory.com/31

 

DYNP_VALUES_READ

조회화면에 보여지는 데이터를 읽어오는 펑션 에 대해 알아보겠습니다.   DATA: lt_dynpfields TYPE TABLE OF  dynpread WITH HEADER LINE.   CALL FUNCTION 'DYNP_VALUES_READ'     EXPORTING..

moon-7.tistory.com

**화면 업데이트

https://moon-7.tistory.com/28

 

DYNP_VALUES_UPDATE

화면에 데이터를 업데이트하는 펑션 < DYNP_VALUES_UPDATE >에 대해서 알아보겠습니다.

moon-7.tistory.com

 

 


 

 

파라미터  value_org 가  ' C' 인지 'S'인지에 따라 사용법이 다르기 때문에 구분해서 알아보겠습니다.

 (용이한 설명을 위해 조회화면(screen1000)에서의 구현으로 예시를 들겠습니다.)

 

1. value_org = 'S'

 

장점: 구현이 용이하다. 

단점: popup 창에서 한 라인의 하나의 필드만 return값으로 돌려줄수있다.

 

 < 파라미터 >

    value_tab : 일반적인 인터널 테이블

                    (TYPE 에 따라서 팝업창에 보여주는 헤더명이등 속성이 결정된다)

    return_tab  : TYPE DDSHRETVAL 으로 선언한 테이블

 

 <예제>

  YYTEST라는 테이블에서 SO_MANTR 을 조건으로 데이터를 조회하여 search help를 보여준 후

  PA_MATKL의 데이터를 업데이트한다.

  <popup>

 

<gt_return>

  

GT_RETURN 값을 살펴보면 RETFIELD값 에 PA_MATKL이 있으므로 POPUP 데이터 클릭시,

 PA_MATKL에  데이터가 들어갑니다.

 

 그런데 펑션 사용시  < dynprofield > 가 PA_MATKL로 설정되어있지 않으면 (필수값이 아님) 

 GT_RETURN-RETFIELD 가 비어있으므로 GT_RETURN의 FIELDVAL을 READ TABLE하여 

 직접 화면에 데이터를 업데이트해야 합니다.

 

 

 

2. value_org = 'C'

 

장점: 여러개의 CELL을 리턴값으로 받아 사용할 수 있다.

단점: 구현이 다소 복잡하다.

 

 < 파라미터 >

      value_tab       = CHAR으로 선언된 데이터 테이블
      field_tab        =  value_org가 C일때만 사용하는 POPUP 필드정보 정의 테이블
           
      return_tab      = popup에서 선택했을때 리턴되는 데이터
                    

     dynpfld_mapping =  POPUP에서 어떤 데이터들을 어떤 리턴값에 넣어줄지 설정하는 테이블

                              

 

 <예제>

  YYTEST라는 테이블에서 SO_MANTR 을 조건으로 데이터를 조회하여 search help를 보여준 후

  PA_MATKL, SO_MATNR-LOW 의 데이터를 업데이트한다.

 

 

** GT_FIELD에 다른 속성들도 있으니 필요시 사용

** 필드속성을 하나씩 정의할 수 도 있지만 펑션 <DDIF_FIELDINFO_GET> 을 사용하여 정의할 수도 있습니다.

  https://moon-7.tistory.com/30

 

 

GT_RETURN값에 있는 데이터를   GT_UPDATE (LIKE DYNPREAD ) 테이블에 담아, DYNP_VALUES_UPDATE

화면을 업데이트한다.

 

 

 

 

'Function' 카테고리의 다른 글

DYNP_VALUES_READ  (0) 2021.07.07
DDIF_FIELDINFO_GET  (0) 2021.07.07
DYNP_VALUES_UPDATE  (0) 2021.07.07
POPUP_TO_SELECT_MONTH  (0) 2021.06.22
세금 계산 함수: CALCULATE_TAX_FROM_NET_AMOUNT  (0) 2021.06.15