• RFC 란
    • Remote Function Call 의 약자 (원격 함수 호출)
    • 비즈니스 애플리케이션이 다른 시스템과 정보를 교환하고 통신 할 수 있도록 하는 메커니즘
    • ABAP 프로그램을 위한 호출 인터페이스 & 비 SAP 프로그램에 대한 호출 인터페이스로 구분
    • CALL FUNCTION ... DESTINATION 문을 사용
    • DESTINATION 매개변수 는 호출된 함수가 호출자가 아닌 시스템에서 실행됨을 SAP 시스템에 알림

    • RFC 는 SAP는 CPIC(Common Programming Interface for Communication) 프로토콜을 사용, 프로그래밍을 단순화 하기 위해 시스템 간 통신을 처리하는 SAP 프로토콜, 호출자 프로그램과 다른 시스템에 있는 함수 모듈을 호출하는 프로세스
    • SAP Tutorial의 원격 함수 호출(RFC)

    • 기능 빌더(트랜잭션 SE37) 는 로컬 또는 원격으로 호출 할 수 있는 기능 모듈을 프로그래밍, 문서화, 테스트 하기 위한 환경을 프로그래머에게 제공

    • 트랜잭션 SM59를 사용하여 RFC 연결에 대한 매개변수를 유지 관리


트랜잭션 SM59(?) 테이블 RFCDES (?) - 뭔소린지 모르겠다~





  • RFC 인터페이스의 기능
    • 모든 매개변수 데이터를 원격 시스템에 필요한 표현으로 변환
    • 원격 시스템과 통신하는데 필요한 통신 루틴을 호출
    • 통신 오류를 처리하고 원하는 경우 호출자에게 알림 (EXCEPTION 매개변수 사용)

SAP Tutorial의 원격 함수 호출(RFC)





  • RFC 유형

SAP Tutorial의 원격 함수 호출(RFC)

  • sRFC (동기)
    • 승인이 필요한 시스템 간 통신 (?)
    • 시스템 간 통신, SAP Web App Server 와 SAP GUI 간 통신에 사용

  • aRFC(비동기)
    • 승인이 필요하지 않은 시스템 간 통신
    • 시스템 간 통신, 병렬 처리

  • tRFC(트랜잭션)
    • Transactional RFC는 어떤 네트워크 문제로 인해 데이터가 여러 번 전송되더라도 RFC 서버에서 호출된 함수 모듈을 한 번만 실행하는 비동기식 통신 방식 (트랜잭션 보장)
    • SAP 데이터베이스에 고유 트랜잭션 ID 로 저장 (TID)
    • 비동기 RFC 확장, 시스템 간 안전한 통신

  • qRFC
    • tRFC의 확장, 여러 LUW (논리적 작업단위/트랜잭션) 이 애플리케이션에서 지정한 순서대로 처리되도록 보장
    • tRFC의 확장
    • 정의된 처리 순서의 경우, 여러 트랜잭션이 미리 정의된 순서대로 처리되도록 하려면 qRFC를 구현하는 것이 좋음





  • RFC 연결 유형


    • Type 3
      • ABAP 시스템 간의 연결을 지정
    • Type I
      • 시스템과 동일한 데이터베이스에 연결된 ABAP 시스템 지정
    • Type T
      • RFC API 를 사용하여 RFC를 수신하는 외부 프로그램에 대한 연결






  • RFC 기능 개발
    • SAP GUI 로그인 후, 기능 모듈 속성 탭 (트랜잭션 코드 SE37) 에서 처리 유형을 원격 활성화 모듈로 설정하여 원격 기능 모듈 생성

.... 유저 생성 T-CODE : SU 01

기존 Function Group 을 사용하여 RFC 개발 하려고 했지만 Developer Access Key 가 필요한 듯 하다 (생성 안됨)