SAPからBAPIを使ってデータを取得したい(SAP BC)
キーワード:SAP BC,BAPI,RFC
概要
SAPからBAPIを使ってデータを取得したい場合、SAP BCアダプタのインバウンド実行処理を使用します。SAP BCアダプタのインバウンド実行処理を使用するためには、SAP Business Connector(以下、SAP BC)の設定が必要です。
サンプルプロジェクトの説明
SAPシステムに登録されている銀行情報を取得するBAPI(Bank.GetList)を実行し、取得したデータをXMLファイルに書き出します。
処理の流れ
サンプルプロジェクトの処理の流れは以下の通りです。- 「XMLファイル読み取り処理」でインバウンド実行処理の入力スキーマとするXMLファイルを読み取ります。
- 「インバウンド実行処理」でSAPシステムのBAPIをSAP BC経由で実行します。
- 「XMLファイル書き込み処理」で取得したデータをXMLファイルに書き込みます。

ポイントとなる機能
名前 | 説明 | ツールパレット上の場所 |
---|---|---|
インバウンド実行処理 | SAPシステムのBAPIを含むRFC汎用モジュールまたはIDocをSAP Business Connector経由で実行します。 | 「アプリケーション」-「SAP BC」-「インバウンド実行」 |
処理のポイント
インバウンド実行処理の入力スキーマとするXMLテンプレートは、SAP Business Connectorから取得します。サンプルプロジェクトの使用方法
上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。サンプルプロジェクトのダウンロード | 逆引きリファレンス シナリオ075のサンプルプロジェクト |
---|
- サンプルプロジェクトの展開
サンプルプロジェクト「rl_reference_075.zip」を展開します。 - プロジェクトのアップロード
「rl_reference_075.zip」を展開後に作成される「rl_reference_075プロジェクト」ディレクトリがプロジェクトファイルとなります。
DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_075プロジェクト」をアップロードしてください。 - サンプルデータの準備
「rl_reference_075.zip」を展開後に作成される「samples」ディレクトリがサンプルデータとなります。
$DATASPIDER_HOME/server/samplesディレクトリに上書きしてください。 - RFCユーザの準備
RFCユーザを接続先のSAPに登録します。
一般的に、ユーザタイプが「通信」または「システム」のユーザを作成します。
- SAP BCの設定
SAP BCアダプタでインバウンド処理を行うため、SAP BCの設定を行います。- SAP BCの起動を確認し、SAP BCユーザを作成します。
- SAP BCからSAPシステムへの接続設定を行います。
- SAP BCアダプタの入力スキーマとするため、以下モジュールのXMLテンプレートを取得します。
項目名 値 Business Object Bank BAPI GetList - 表示されたXMLテンプレートに以下のテスト値を入力し、テスト実行をします。
要素名 値 BankCtry JP MaxRows 10 - 実行結果が表示されたら、XMLテンプレートの<doc>要素から</doc>要素までをコピーし、以下のディレクトリにXMLファイル「bank_getlist_input.xml」として保存します。
$DATASPIDER_HOME/server/samples/rl_reference_075
「RFCユーザの準備」および「SAP BCの設定」の詳細については、DataSpider Servistaヘルプの「インバウンド処理チュートリアル」を参照してください。
- グローバルリソースの設定
コントロールパネルのグローバルリソースの設定から、[新しいグローバルリソースの追加]を選択し、SAP BCのグローバルリソースを追加します。
グローバルリソースの設定方法については、DataSpider Servistaヘルプの「グローバルリソースのプロパティ」を参照してください。
スクリプトの作成手順

- デザイナのツールパレット「ファイル」-「XML」-「XMLファイル読み取り」から、XMLファイル読み取り処理をスクリプトキャンバスに配置します。
- XMLファイル読み取り処理の設定は、以下のように行います。
[必須設定]タブ
- XMLファイル読み取り処理の設定は、以下のように行います。
- デザイナのツールパレット「アプリケーション」-「SAP BC」-「インバウンド実行」から、インバウンド実行処理をスクリプトキャンバスに配置します。
- インバウンド実行処理の設定は、以下のように行います。
[必須設定]タブ
処理のポイント
- [送信者]および[受信者]は、SAP BCで設定したルーティングルールと一致する必要があります。
- インバウンド実行処理の設定は、以下のように行います。
- デザイナのツールパレット「ファイル」-「XML」-「XMLファイル書き込み」から、XMLファイル書き込み処理をスクリプトキャンバスに配置します。
- XMLファイル書き込み処理の設定は、以下のように行います。
[必須設定]タブ
[書き込み設定]タブ
- XMLファイル書き込み処理の設定は、以下のように行います。
- スクリプトを実行し、正常終了すれば成功です。