SAP ABAP에서 RFC Function 모듈 생성하는 방법


SAP에서 RFC Function Module을 생성하는 방법은 일반 Function Module을 생성하는 방법과 동일합니다.
단지 Processing Type을 Remote-Enabled Module로 체크만 해주면 됩니다.

SAP ABAP에서 RFC Function Module을 생성하는 설명을 하기 전에 RFC에 대해 간략히 소개를 하자면 RFCRemote Function Call의 약자입니다.
SAP와 Non-SAP 시스템 사이에 서로 커뮤니케이션 하고 정보를 교환할 목적으로 RFC Function을 만들어 사용하게 됩니다.

윈도우 프로그램에서 SAP 시스템으로 데이터를 주고 받거나 웹사이트에서 SAP 시스템으로 데이터를 주고 받을 목적으로 많이 활용됩니다.

이번 글에서는 SAP ABAP에서 RFC Function 모듈 생성하는 방법에 대해 알아보겠습니다.

RFC Function 모듈 생성하기

SAP에서 Function Module을 생성하는 트랜잭션코드는 SE37 입니다.

T-Code : SE37 (Function Builder)

아래 예제는 Remote에서 고객번호를 넘겨 받아 SAP 고객 테이블에서 고객명을 찾아 Remote로 다시 리턴해 주는 아주 간단한 Function Module 입니다.
추가로 쿼리문 실행 결과 고객번호 존재 여부도 함께 리턴해 주고 있습니다.

Attributes

Attrubutes에는 Function의 기본 정보를 정의해 줍니다.

RFC Function 모듈 생성하기 - Attributes

– Function module : Function의 이름을 지정합니다.

– Function Group : 해당 Function이 속할 Function 그룹 이름을 지정합니다.

– Remote-Enabled Module : RFC Function을 만드는 경우 선택해 줍니다.

– Normal Function Module : 일반적인 Function을 만드는 경우 선택해 줍니다.

Import

Import에는 Function을 호출한 쪽에서 보내준 Parameters를 받는 매개변수를 정의해 줍니다.

RFC Function 모듈 생성하기 - Import

여기서는 고객번호를 받는 매개변수를 정의해 주었습니다.

Export

Export에는 Function이 처리된 결과를 호출한 쪽으로 Return 해줄 매개변수를 정의해 줍니다.

RFC Function 모듈 생성하기 - Export

리턴해 줄 고객명과 쿼리문 실행 결과를 리턴할 매개변수 이렇게 두개의 매개변수를 정의해 주었습니다.

실제 예제 Source Code

아래 예제 소스 코드는 실제로 사용 가능 중인 고객번호에 대한 고객명 가져오는 RFC Function 코드입니다.

FUNCTION Z_BAPI_SD_KUNNR_NAME .
*”———————————————————————-
*”*”Local interface:
*”  IMPORTING
*”     VALUE(IM_KUNNR) LIKE  KNA1-KUNNR
*”  EXPORTING
*”     VALUE(EX_NAME1) LIKE  KNA1-NAME1
*”     VALUE(RETURN) LIKE  ZBAPISD003S-ZRETURN
*”———————————————————————-
 
CALL FUNTION ‘CONVERSION_EXIT_ALPHA_INPUT’
  EXPORTING
    INPUT = IM_KUNNR
  IMPORTING
    OUTPUT = IM_KUNNR.

SELECT SINGLE NAME1 INTO EX_NAME1
  FROM KNA1 CLIENT SPECIFIED
 WHERE MANDT = SY-MANDT AND
       KUNNR = IM_KUNNR.

IF SY-SUBRC = 0.
   RETURN = ‘1’.
ELSE.
   RETURN = ‘0’.
ENDIF.
 
ENDFUNCTION.
 
 

– 고객번호에 대한 고객명이 있으면 고객명(EX_NAME1)과 RETURN 값으로 ‘1’을 리턴하고,
– 고객번호에 대한 고객명이 없으면 고객명에 Blank와 RETURN 값으로 ‘0’을 리턴하게 됩니다.

실제로 RFC Function 모듈을 활용한 예제는 C#에서 SAP RFC Function(BAPI Function)을 사용하는 방법(예제포함)에서 확인해 볼 수 있습니다.



이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기