SAP BAPI パッケージを使用した SAP へのデータ書き込み例
- 最終更新日2022/09/21
SAP BAPI パッケージを使用した SAP へのデータ書き込み例
SAP BAPI パッケージを使用して Bot をビルドし、SAP データベースにデータを書き込みます。
前提条件
SAP Java コネクターと DLL を SAP の Web サイトからダウンロードします。
このチュートリアルでは SAP デモ フライト データ アプリケーションから BAPI_FLCUST_CREATEFROMDATA を呼び出す Bot をビルドします。CUSTOMER_DATA インポート パラメーターを使用して、顧客データを BAPI に渡します。実行すると、Bot は、SAP データベースに新規の顧客レコードを作成し、BAPI から返された顧客番号を表示します。
このチュートリアルでは、次の操作の実行方法を紹介します。
- インポート パラメーターに値を設定するには、[構造を取得] コマンドを使用します。
- SAP のテーブルに新しいレコードを作成します。
- BAPI からの応答を受信します。
手順
-
SAP-BAPI-CreateNewFlightCustomer という名前の Bot を作成します。
- Control Room にログインします。
- 左側のペインで [オートメーション] をクリックします。
- [Bot を作成] アイコンをクリックします。
- [名前] フィールドに「SAP-BAPI-CreateNewFlightCustomer」と入力し、[作成と編集] をクリックします。
-
Bot を SAP システムに接続するには、[アクション] パネルで [SAP BAPI] > [接続] アクションを見つけて、Bot エディターに追加します。
- [JCo: [SAP Java コネクター パッケージ] で、Java コネクター .jar ファイルのパスを指定します。
- [JCo DLL 依存性] で、DLL ファイルのパスを指定します。
- [カスタム アプリケーション サーバー] に [接続タイプ] を選択します。
-
[アプリケーション サーバーのホスト名] で、SAP アプリケーション サーバーのホスト名を指定します。
注: ベスト プラクティスとして、Credential Vault を使用して、ホスト名、ユーザー名、パスワードなどの機密情報を指定します。
- [システム番号] に、インスタンス番号を入力します。
- [SAP インスタンスのシステム ID] に、システム ID を入力します。
- [クライアント番号] に、クライアント番号を入力します。
- [ログオン言語コード] に、[EN] またはお使いのシステムで使用する言語を入力してください。
- [ルーター文字列] に、SAP ルーター文字列を入力します。
- [ユーザー名] に、SAP ユーザー名を入力します。
- [パスワード] に、パスワードを入力します。
-
Bot を実行して、接続をテストします。
指定された接続プロパティが正しい場合、Bot が正常に実行されます。
-
関数を作成するには、[SAP BAPI] > [関数を作成] アクションを追加します。
- [関数エイリアス名] に、「createNewFlightCustomer」と入力します。
- [BAPI 名] に、「BAPI_FLCUST_CREATEFROMDATA」と入力します。
-
CUSTOMER_DATA パラメーターはタイプ構造なので、インポート パラメーターの構造を取得し、エイリアスに代入します。これを実行するには、[SAP BAPI] > [構造を取得] アクションを実行します。
- [関数エイリアス名] に、「createNewFlightCustomer」と入力します。
- [構造名] に、「CUSTOMER_DATA」と入力します。
- 取得した構造体をエイリアスで保存するには、[送り先] で [エイリアス] タブをクリックします。
-
[構造のエイリアスを作成] に、「CustomerData」と入力します。
エイリアスを使用して、取得した構造体内のインポート フィールドに値を設定することができるようになります。
-
[CUSTNAME] フィールドに値を設定するには、[SAP BAPI] > [フィールド値を設定] アクションを実行します。
- [関数エイリアス名] に、「createNewFlightCustomer」と入力します。
- [送り元] で、[構造] タブをクリックします。
- [構造のエイリアス] に、「CustomerData」と入力します。
- [フィールド名] に、「CUSTNAME」と入力します。
- [フィールド値] に、「John Doe」と入力します。
-
ステップ 5 を繰り返し、次の各フィールドに [フィールド値を設定] アクションを追加して構成します。
フィールド名 フィールド値 STREET testStreet POSTCODE 101001 CITY testCity COUNTR US COUNTR 00000000 EMAIL test@example.com CUSTTYPE P -
BAPI_FLCUST_CREATEFROMDATA を実行するには、[SAP BAPI] > [関数を実行] アクションを追加します。
- [関数エイリアス名] に、「createNewFlightCustomer」と入力します。
注: BAPI_FLCUST_CREATEFROMDATA がデータを SAP データベースに書き込むようにする場合、[シーケンスを終了] と [トランザクションを確定] オプションを選択する必要があります。[シーケンスを終了] オプションを選択する場合、[関数を作成] アクションで [シーケンスを開始] オプションを選択してください。このチュートリアルで作成したサンプル Bot は、SAP BAPI パッケージを使用した場合の Create() BAPI の動作を説明することを目的としています。データベースの修正については説明していません。
BAPI は、新規顧客レコードの作成後、顧客番号を付与して返します。 -
変数に数値を取り込むには、[SAP BAPI] > [フィールド値を取得] アクションを追加します。
- [関数エイリアス名] に、「createNewFlightCustomer」と入力します。
- [送り元] で、[関数] タブをクリックします。
- [フィールド名] に、「CUSTOMERNUMBER」と入力します。
- [結果を変数に保存] で、[(x)] をクリックして、「strCustomerNumber」という名前の変数を作成し、その変数を選択します。
-
顧客番号を表示するには [メッセージボックス] アクションを追加します。
- [表示するメッセージを入力] で、strCustomerNumber 変数を選択します。
- Bot を保存して実行します。