메뉴 건너뛰기

SAP 한국 커뮤니티

[re] BAPI에 대해

sapjoy 2007.03.28 10:01 조회 수 : 5152 추천:154

 





    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장

번호 제목 글쓴이 날짜 조회 수
6405 Background (Batch Job) 에 설정한 Selection Screen의 Variant 는 어디서 볼수 있을까요? [1] file 김윤승 2007.07.20 5613
6404 <img src=3.gif>Runtime Error->OBJECTS_OBJREF_NOT_ASSIGNED [2] 써언 2011.02.09 5554
6403 <img src=3.gif>엑셀 매크로를 이용하여 양식을 출력하는 방법 좀 알려주세요..ㅜㅜ [3] 싼타 2010.08.18 5545
6402 <img src=3.gif>alv 테이블 필드 숨기기에 대해 질문드립니다. [4] 유정a 2010.10.20 5535
6401 <img src=3.gif>sap에서 제공하는 스텐더드 툴바 덤프... [6] SAP 사랑 2011.03.23 5511
6400 [요청]BAPI BAPI_GOODSMVT_CREATE 펑션의 기본적인 사용법 [1] 댕댕 2008.05.04 5487
6399 [요청]BAPI_SALESORDER_CREATEFROMDAT2 에서 가격조건(세금부분, 정가) 부분의 값을 가져오지 못합니다. [2] file 효방 ^-^ 2008.12.19 5465
6398 singleton concept에 대해.. [1] kyeinho 2007.07.03 5460
6397 <img src=2.gif border=0>collect 구문에 관한 고수님들의 의견을 듣고 싶습니다. [7] james80 2009.09.16 5445
6396 ALV 프로그램에서 어플리케이션 툴바에 행추가 버튼을 추가하고자 합니다. [2] 초보생 2007.07.24 5405
6395 [ERROR] READ_REPORT_LINE_TOO_LONG 해결 방법좀 알려주세요. [7] file D.Y.Kim 2007.07.24 5402
6394 [요청][초급] 테이터 중에 내가 원하는 문자를 찾기 !!!!!! [6] 사상화 2008.08.28 5394
6393 <img src=3.gif>엑셀 다운로드 질문 엑셀 열리지 않고 자동으로 되도록. [5] 돌맹이 2010.10.28 5374
6392 [요청]insert 로 db테이블에 데이터를 저장할때.... [4] bizarre 2008.05.19 5374
6391 <b>[완료]</b><b>[완료]</b>[BAPI_TRANSACTION_COMMIT] commit work 와 commit and wait 의 차이점 문의 [5] SUGI 2008.01.28 5364
6390 <img src=3.gif>runtime error문제입니다. 무슨 말인지 잘 모르겠어요. 좀 알려주실수있을까요 [2] 쭈니 2010.09.15 5348
6389 <b>[완료]</b><b>[완료]</b>질문이 있습니다. 로미오 2006.12.29 5316
6388 <img src=3.gif>BDC 프로그램 CALL Transaction 옵션 중에서 RACOMMIT 옵션이 하는 역할이 무엇인가요? [8] 카루이안 2009.10.07 5294
6387 [요청]For all entries in 구문에서 GROUP BY ~ SUM 구문이 사용이 안되는거 같은데.. 좋은 방법없을까요? [4] 효방 ^-^ 2008.10.15 5288
6386 <img src=3.gif>GUI_DOWNLOAD 로 다운받은 파일에서 한글이 [3] 하오 2010.01.08 5286