BAPI는 SAP R/3에서 사용되는 API(응용프로그램 인터페이스)이다. R/3 시스템은 BOR(Business Object Repository) 내에 Data와 Process를 BO(Business Object)의 형태로 가지고 있다. 외부로부터 R/3내부 BO로의 연결의 방법으로서 SAP에서 제공하고 있는 API가 바로 BAPI이다. BAPI는 Visual Basic, JAVA, C++, Lotus Notes등 다양한 외부시스템에서 SAP의 내부적 Business Process를 이용하도록 하는 방법이다.
BAPI의 기능은 BO의 생성,조회,변경이며, 실질적으로는 생산,영업,자재오더 및 인사Infotype의 생성,조회,변경 등 R/3 시스템의 전 모듈의 Process를 대상으로 한다.
<그림1 : BAPI 개념도 >
일반적으로 API는 프로그램 내에서 실행을 위해 특정 서브루틴에 연결을 제공하는 함수를 호출함으로써 구현된다. 그러므로 하나의 API는 함수 호출에 의해 요청되는 작업을 수행하기 위해 필요한 몇 개의 프로그램 모듈이나 루틴을 가진다. BAPI 또한 이와 유사하게 구성되어 있으며, 단순히 관련 함수의 모음이 아닌 Process를 제어하는 API로서 기능한다.
BO는 각각의 키필드와 Methods로 구성되어 있고, 각각의 Methods는 Function과 1:1로 매칭된다.
SAP R/3 시스템은 BAPI Explorer라는 BAPI전용 Tool을 내장하고 있으며, 여기서 각각의 BO에 지정되어있는 BAPI Function을 조회할 수 있다. R/3가 Function관련 Tool로서 지원하는 Function Builder에서는 이러한 각각의 BAPI Function module을 RFC interface generation 기능을 사용하여 C나 Visual Basic등의 text code를 생성할 수 있다.
< 그림2 : RFC Interface의 생성 >
< 그림3 : RFC Call을 통한 BAPI Function module의 사용 >
SAP에서는 R/3, BAPI에 새로운 인터페이스 기능을 지속적으로 추가하고 있다. XML을 BAPI에 도입하였고, IBM의 자바용 툴인 Visual Age를 자바 통합 개발 툴로서 인증했으며, MS의 Visual Studio 6.0를 R/3와 결합하여 유저가 제작한 응용프로그램과 R/3의 Business Framework를 통합할 수 있도록 하였다. 따라서 향후 SAP R/3 시스템과 외부 응용프로그램과의 연동은 더욱 강화될 전망이다.
SAP Online Help (Ver. 4.6C) : SAP Library à Cross-Application Components à Business Framework Architecture à BAPI User Guide
R/3 System : Tools à Business Framework à BAPI Browser (T-code : BAPI)
TABC41 1/2 : 19장
잘 보았습니다.