BAPI(ビジネスアプリケーションプログラミングインターフェイス)は、オブジェクト指向プログラミングメソッドのプログラミングインターフェイスのセットです。これにより、プログラマーはSAPを介してサードパーティソフトウェアをR / 3プロプライエタリ製品に統合できます。トランザクションデータのアップロードなど、いくつかの特別なビジネスタスクを完了するために、BAPIがR / 3システムに組み込まれています。
ABAPでのBAPIの概要
1.BAPI –ビジネスアプリケーションプログラミングインターフェイス
2.実際には、取引活動のための外部プログラムの使用を提供するための特別なタイプのリモート汎用モジュール(RFC)です。
3.ビジネスオブジェクトテクノロジに基づくインターフェイスアプリケーションインターフェイスを提供します
4. SAPはオブジェクト指向技術を採用し、SAP R / 3システムのすべての機能目標を論理的に定義し、すべての目標(オブジェクト)とBAPIをビジネスオブジェクト(ビジネスオブジェクトリポジトリ)に保存します。
5. SAP R / 3エンタープライズターゲットのオブジェクトタイプは、ターゲット設計言語のクラスの概念に相当します。その定義構造は、基本データ、インタフェースインタフェース、キー(キーフィールド)、メソッド(メソッド)で構成されています。 )、機能(属性)、イベント(イベント)
–BAPIプログラムの作成方法
1. BAPI構造を定義します(BAPIがリリースされると、その構造が凍結されるため、構造をBAPIで再利用することはできません)
2.汎用モジュールを作成します
各BAPIには独自の機能グループが必要であり、機能グループ属性はRFCである必要があります
3.ビジネスオブジェクトを作成します
4. BAPIWIZARDを使用してAPIメソッドを作成します
このようにして、BAPIを外部プログラムから呼び出すことができます。
5.汎用モジュールはBOR方式に準拠しています
4.BAPI汎用モジュールをリリースします。
ビジネスオブジェクトタイプのリリース、
BORの方法としてBAPIをリリースする
SAP BAPI
BAPIは、Business Application ProgrammingInterfaceの略語です。
BAPIは、SAP外部のプログラムがSAP内部データおよびプログラムにアクセスするための標準的な方法です。
?
BAPIは、SAPシステム内の汎用モジュールの方法で実装されます。すべてのBAPI機能は
-外部リモート関数呼び出し(RFC)
-処理中にダイアログウィンドウをアクティブにしないでください
?
BAPIは、ビジネスオブジェクトリポジトリ(BOR)でSAPビジネスオブジェクトタイプまたはSAPインターフェイスタイプのメソッドとして定義され、汎用モジュール方式で実装されます。定義と実装を分離するこの方法では、2つの方法でBAPIにアクセスできます。
-オブジェクト指向メソッドを介してBORでBAPIを呼び出す
-RFCを介して汎用モジュールを直接呼び出す
BAPIの簡単な実装手順
1つは、汎用モジュールを作成することです。
1. SM11で、必要な構造を作成します
2. SE80で、機能グループを作成します
3. SE37で、汎用モジュールを登録します
注:汎用グループには1つのBAPIのみを含めることができます。パラメーターは値で渡されます。BAPIRETURNタイプのEXPORTパラメーターが必要です。
第二に、パッケージ
1. SWO1で、オブジェクトタイプを作成します
2.汎用モジュールをメソッドとして追加、ユーティリティ-> APIメソッド->メソッドの追加
3.オブジェクトとモジュールを解放します。BAPIブラウザで表示できるようにします。つまり、外部から呼び出すことができます。
三、電話
1. ABAPを使用して別のシステムを呼び出す場合は、最初にSM59でRFCを構築し、BAPIを使用してR / 3に接続します(ZGOGO)。
SE38のプログラムで呼び出され、関数「ZBAPIXXXXX」を呼び出します。宛先ZGOGOエクスポート…
2.JAVAを使用して呼び出すなど
パッケージのインポート;(必ずしもIBMを使用する必要はありません)
インポートcom.sap.rfc。*;
インポートcom.sap.rfc.exception。*;
インポートcom.ibm.sap.bapi。*;
インポートcom.ibm.sap.bapi.generated。*;
接続を確立します;呼び出します。。。(CALL_BAPI.javaを参照)
SAP用VBA
Private Sub CommandButton1_Click()
Set oFunction = CreateObject(“ SAP.LogonControl.1”)
Set oConnection = oFunction.NewConnection
oConnection.Client =“ 500”
oConnection.Language =“ EN”
oConnection.User =“ user”
oConnection.Password =“ pasword”
oConnection.ApplicationServer =“ sap1.yok.com.cn”
oConnection.SystemNumber =“ 01”
result = oConnection.Logon(0、True)
Set ofun = CreateObject(“ SAP.FUNCTIONS”)
Set ofun.Connection = oConnection
Set func = ofun.Add( "RFC_READ_TABLE")
func.Exports( "QUERY_TABLE")= "MARA"
If func.Call = True Then
Set oline = func.tables.Item( "DATA")
Row = oline.rowcount
i = 1
Do While i <= Row
Cells(i、1)= Mid(Trim(oline.Value(i、1))、4、22)
i = i + 1
Loop
Else
MsgBox“ FAIL”
End If
End Sub
VBA2
Private Sub CommandButton1_Click()
Dim sapFunctionCtrl As Object '関数コントロール(集合オブジェクト)
Dim sapConnection As Object'接続オブジェクト
DimtheFunc AsObject '関数オブジェクト
Set sapFunctionCtrl = CreateObject(“ SAP.Functions”)
Set sapConnection = sapFunctionCtrl.Connection
sapConnection.Client =“ 800”
sapConnection.user =“ user”
sapConnection.Language =“ EN”
If sapConnection.logon(0、False)<> True Then
MsgBox「R / 3への接続がありません!」
End If
Set theFunc = sapFunctionCtrl.Add(“ ZRFCPING”)
If theFunc.call Then'RFC FMMsgBoxを呼び出します
“ RFC call is OK”
End If
sapFunctionCtrl.Connection.logoff
Set sapConnection = Nothing
Set sapFunctionCtrl = Nothing
End Sub