Presentation is loading. Please wait.

Presentation is loading. Please wait.

- 1 - BAPI( Business Application Programming Interface ) 목 차목 차 1. Objects 와 Business Objects 2. R/3 에서 Object 기술 3. Business Object Repository(BOR) 4.

Similar presentations


Presentation on theme: "- 1 - BAPI( Business Application Programming Interface ) 목 차목 차 1. Objects 와 Business Objects 2. R/3 에서 Object 기술 3. Business Object Repository(BOR) 4."— Presentation transcript:

1 - 1 - BAPI( Business Application Programming Interface ) 목 차목 차 1. Objects 와 Business Objects 2. R/3 에서 Object 기술 3. Business Object Repository(BOR) 4. Business APIs 5. 요약 6. 첨부 ( 예제 )

2 - 2 - Objects 소개 전통적인 관점 : Functions and Data 객체지향 관점 : Objects 현실 세계 Function Data Method Data Method Encapsulation Abstraction Abstraction Employee, Sales Order 와 같이 현실세계의 Object 들이 SAP R/3 와 같은 Business Application System 에서 Business Object 로 Modeling 됨 R/3 Data 와 Process 를 같이 Encapsulation 한 Black Box

3 - 3 - SAP Business Objects 의 구조 Kernel Integrity Busi- ness Rules Interface Access COM/DCOM Java CORBA BAPI Encapsulation 을 위하여 SAP BO 를 다음과 같은 Multi-Layer 형태로 구성하였다 First Layer : SAP BO 의 Core 부분에는 Object 의 Inherent data 를 나타내는 Kernel. Second Layer : Object 의 Business Logic 을 나타내는 Integrity Layer Third Layer : 외부와의 Interface 를 제공 Fourth Layer : Access Layer, Object Data 의 외부 Access 를 가능하게 기술을 의미 (e.g: COM/DCOM,CORBA)

4 - 4 - Business Objects 의 사례 Object Name : CompanyCode Attribute: Asset Account CostCenter SalesAndDistrOrgan Vendor Partners Location EquipmentType Methods: GetList GetDetail GetRelatedObjects GetDetail ChangeBright GetListForCustomer Object Type : BUS0002 EQUI PieceOfEquipment

5 - 5 - Object 의 이점 다형성 (Polymorphism) 상속성 (Inheritance) 재사용 (Reuse) 유지보수 (Maintainability)

6 - 6 - SAP Business Objects l 현재 R/3 에는 170 여개의 SAP Business Object 를 제공 l 예 : l Finance : n Accounts n Chart of accounts n... l Plant Maintenance n Equipment n Service notification n... l Controlling : n Cost accounting area n Cost type n Reconciliation ledger n... l Materials Management : n Purchase organization n Purchase requisition n Purchase order n Purchase outline agreement n...

7 - 7 - SAP Business Objects Browser Transaction Code :SWO2

8 - 8 - Objects Type ● Object Type and Object Instances 각각의 BO 는 Object 의 일반적인 특성을 가지고 있는 특정 Object Class 에 포함되어 있는데, 이 Object Class 를 Object Type 이라 한다. ● Object Type ■ Key fields : Object Type 의 특정 Instance 를 유일하게 구별 ■ Methods : BAPI ■ Attributes : 한 Attribute 는 BO 에 관한 Data 포함 (Object Property) ■ Events : BO 의 상태 변화

9 - 9 - Business Object Repository( BOR ) SAPGUI Business Object Business Object BROKER Business Object Repository R/3 Application R/3 Database l SAP Business Objects 는 BOR( Business Object Repository ) 에서 관리되며, BAPI ( Business Application Programming Interface ) 를 제공한다. l The Business Object Broker 는 수행시 SAP Business Objects 에 접근할수 있도록 한다 BAPI

10 - 10 - SAP R/3 BOR Transaction Code : SWO1

11 - 11 - SAP Business Object Repository Object type Basic data Key Fields Attribute Methods Events Interfaces Entities e.g. Material Parameters Field reference Object reference Parameters, Result, Exception

12 - 12 - 프로세스와 Business Object 의 관계 Purchase Requsition Workflow Purchase Requisition Release Purchase Order Goods Receipt event Workflow 프로세스 요소 SAP Business Objects Purchase Requsition Purchase Order Goods Receipt (BUS2105)(BUS2012) (BO Type) (MKPF)

13 - 13 - BAPIs... l 외부 Application 에서 SAP Business Objects( Implemented as function module ) 에 접근할 수 있도록 한 수단 (SAP BO 의 Method 로 정의 ) l Microsoft 의 COM/DCOM 표준을 이용 l 향후 OMG CORBA 표준과도 호환

14 - 14 - “Purchase Order Entry” 의 BAPI 예제 l PurchaseOrder.CreateFromData Purchase Order 생성 l PurchaseOrder. GetDetail Purchase Order 세부사항조회 l PurchaseOrder. GetItems PurchaseOrder 품목 리스트작성 l PurchaseOrder. Release PurchaseOrder Release l PurchaseOrder. GetReleaseInfo PurchaseOrder 에 대한 세부 릴리즈정보

15 - 15 - BAPI 와 SAP R/3 Function Modules 의 관계 l 하나의 Function group 은 하나의 Object 에 할당된다 l 메시지 Type E, I, A 발생하는 Dialog Function 은 사용할 수 없다 l 인터페이스를 위한 새로운 데이타 구조를 설계한다 l Function Modules 을 위한 Naming Rule : BAPI_ _ (BAPI_COMPANYCODE_GETLIST) l 가능 Parameters ( Import, Export, Tables, Exceptions ) l 가능 Data Types : all ABAP/4 data types l 가능 Data Structure : define new data structure l 가능 Data-Elements : all comon data-elements

16 - 16 - R/3 Access via COM Windows( 32bit ) Visual Basic, MS Excel MS Project ActiveX Control(BAPI-OCX) Automation SAP Business Objects BAPI Business Object Repository SAP R/3 Remote Function Call( RFC )

17 - 17 - BAPI 를 이용한 R/3 시스템 접근 방법 SAP Assistant BAPI Component RFC Component RFC Class Library GUI CodeGen GUI Component RFC LibraryGUI Library VisualBasic,VisualC++,MSExcel,PowerBuilder Transaction Component Business Object OCX BROKER Object Business Object Repository R/3 Application BAPI Internet Explorer, Netscape COBAR Client (To be) R/3 Appl. SAP Business Workflow R/3 Internet Application Server CORBA Server SAPGUI R/3 Database COM/DCOMHTMLCORBA

18 - 18 - 요약 l SAP 에 의해 정의된 BAPI 는 거의 변하지 않기 때문에, BAPI 를 이용하는 외부 Application 의 경우에 R/3 의 변화에 거의 영향을 받지 않는다. l 잘 정의된 BAPI 는 R/3 시스템의 Object 및 비지니스 프로세스를 외부에서 사용할 수 있도록 할 것이다. Application Program 에서 BAPI 를 이용시 필요한 일들 필요한 SAP BO 와 BAPI 를 찾아내고, 적절한 위치에 배치 BAPI Interface 에 관한 Parameter 정보를 알아내고, 필요로 하는 값들을 준비한다. BAPI 를 포함하고자 하는 Application Program 에 적절하게 BAPI call or Function Call, Parameter 선언.

19 - 19 - 1. BAPI ActiveX Control Object 생성 Set oBAPICtrl = CreateObject( “ SAP.BAPI.1 ” ) 2. SAP Business Object 의 Local Instance 생성 요청 Set boCompanycode = oBAPICtrl.GetSAPObject( “ CompanyCode ” ) 3. Business Object 의 BAPI 를 Call boCompanyCode.GetList Return:=oReturn,_ CompanyCodeList:=oDetail Accessing BAPIs Using The ABPI ActiveX Control

20 - 20 - Visual Basic Screen Layout 1 2 3 BAPI 예제 (Get CompanyCode List)

21 - 21 - Data 선언 – Object 선언 Dim oBapiControl As Object Dim oConnection As Object 1) Logon Button Click Private Sub Command1_Click() Const APPID = "Purchase Order Create Sample Program" Set oBapiControl = CreateObject("SAP.BAPI.1") - BAPI ActiveX Control Object 생성 On Error Resume Next Set oConnection = oBapiControl.connection oConnection.ApplicationServer = Text1.Text oConnection.SystemNumber = Text2.Text oConnection.System = "SFT( 재무 C 운영 )" oConnection.Client = Text3.Text oConnection.User = Text4.Text oConnection.Password = Text5.Text oConnection.Language = "3 “ oConnection.tracelevel = 6 Visual Basic Source

22 - 22 - 2) Create Purchase Order Button Click Private Sub Command2_Click() Dim boOrder As Object Dim oHeader As Object Dim oItems As Object Dim oSchedules As Object Dim oAccount As Object Dim oReturn As Object Set boOrder = oBapiControl.GetSAPObject("PurchaseOrder") - SAP Business Object 의 Local Instance 생성 요청 boOrder.CreateFromData PoHeader:=oHeader, _ SkipItemsWithError:="", _ PoItems:=oItems, _ PoItemSchedules:=oSchedules, _ PoItemAccountAssignm:=oAccount, _ Return:=oReturn - Business Object 의 BAPI 를 Call Visual Basic Source

23 - 23 - 3) Program Exit Button Click Private Sub Command3_Click() End End Sub Visual Basic Source * 초기값 설정 Private Sub Form_Load() Text1.Text = "150.2.2.30" Text2.Text = "00" Text3.Text = "301" Text4.Text = "BAEJR" Text5.Text = "BJR0719" Text6.Text = "KO" 'Text7.Text = "20000" Text8.Text = " " Text12.Text = "1000000209" Text13.Text = "1" Command2.Enabled = False End Sub


Download ppt "- 1 - BAPI( Business Application Programming Interface ) 목 차목 차 1. Objects 와 Business Objects 2. R/3 에서 Object 기술 3. Business Object Repository(BOR) 4."

Similar presentations


Ads by Google