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 からの応答を受信します。

手順

  1. SAP-BAPI-CreateNewFlightCustomer という名前の Bot を作成します。
    1. Control Room にログインします。
    2. 左側のペインで [オートメーション] をクリックします。
    3. [Bot を作成] アイコンをクリックします。
    4. [名前] フィールドに「SAP-BAPI-CreateNewFlightCustomer」と入力し、[作成と編集] をクリックします。
  2. Bot を SAP システムに接続するには、[アクション] パネルで [SAP BAPI] > [接続] アクションを見つけて、Bot エディターに追加します。
    1. [JCo: [SAP Java コネクター パッケージ] で、Java コネクター .jar ファイルのパスを指定します。
    2. [JCo DLL 依存性] で、DLL ファイルのパスを指定します。
    3. [カスタム アプリケーション サーバー] に [接続タイプ] を選択します。
    4. [アプリケーション サーバーのホスト名] で、SAP アプリケーション サーバーのホスト名を指定します。
      注: ベスト プラクティスとして、Credential Vault を使用して、ホスト名、ユーザー名、パスワードなどの機密情報を指定します。
    5. [システム番号] に、インスタンス番号を入力します。
    6. [SAP インスタンスのシステム ID] に、システム ID を入力します。
    7. [クライアント番号] に、クライアント番号を入力します。
    8. [ログオン言語コード] に、[EN] またはお使いのシステムで使用する言語を入力してください。
    9. [ルーター文字列] に、SAP ルーター文字列を入力します。
    10. [ユーザー名] に、SAP ユーザー名を入力します。
    11. [パスワード] に、パスワードを入力します。
    12. Bot を実行して、接続をテストします。
      指定された接続プロパティが正しい場合、Bot が正常に実行されます。
  3. 関数を作成するには、[SAP BAPI] > [関数を作成] アクションを追加します。
    1. [関数エイリアス名] に、「createNewFlightCustomer」と入力します。
    2. [BAPI 名] に、「BAPI_FLCUST_CREATEFROMDATA」と入力します。
  4. CUSTOMER_DATA パラメーターはタイプ構造なので、インポート パラメーターの構造を取得し、エイリアスに代入します。これを実行するには、[SAP BAPI] > [構造を取得] アクションを実行します。
    1. [関数エイリアス名] に、「createNewFlightCustomer」と入力します。
    2. [構造名] に、「CUSTOMER_DATA」と入力します。
    3. 取得した構造体をエイリアスで保存するには、[送り先] で [エイリアス] タブをクリックします。
    4. [構造のエイリアスを作成] に、「CustomerData」と入力します。
      エイリアスを使用して、取得した構造体内のインポート フィールドに値を設定することができるようになります。
  5. [CUSTNAME] フィールドに値を設定するには、[SAP BAPI] > [フィールド値を設定] アクションを実行します。
    1. [関数エイリアス名] に、「createNewFlightCustomer」と入力します。
    2. [送り元] で、[構造] タブをクリックします。
    3. [構造のエイリアス] に、「CustomerData」と入力します。
    4. [フィールド名] に、「CUSTNAME」と入力します。
    5. [フィールド値] に、「John Doe」と入力します。
  6. ステップ 5 を繰り返し、次の各フィールドに [フィールド値を設定] アクションを追加して構成します。
    フィールド名 フィールド値
    STREET testStreet
    POSTCODE 101001
    CITY testCity
    COUNTR US
    COUNTR 00000000
    EMAIL test@example.com
    CUSTTYPE P
  7. BAPI_FLCUST_CREATEFROMDATA を実行するには、[SAP BAPI] > [関数を実行] アクションを追加します。
    1. [関数エイリアス名] に、「createNewFlightCustomer」と入力します。
    注: BAPI_FLCUST_CREATEFROMDATA がデータを SAP データベースに書き込むようにする場合、[シーケンスを終了] と [トランザクションを確定] オプションを選択する必要があります。[シーケンスを終了] オプションを選択する場合、[関数を作成] アクションで [シーケンスを開始] オプションを選択してください。

    このチュートリアルで作成したサンプル Bot は、SAP BAPI パッケージを使用した場合の Create() BAPI の動作を説明することを目的としています。データベースの修正については説明していません。

    BAPI は、新規顧客レコードの作成後、顧客番号を付与して返します。
  8. 変数に数値を取り込むには、[SAP BAPI] > [フィールド値を取得] アクションを追加します。
    1. [関数エイリアス名] に、「createNewFlightCustomer」と入力します。
    2. [送り元] で、[関数] タブをクリックします。
    3. [フィールド名] に、「CUSTOMERNUMBER」と入力します。
    4. [結果を変数に保存] で、[(x)] をクリックして、「strCustomerNumber」という名前の変数を作成し、その変数を選択します。
  9. 顧客番号を表示するには [メッセージボックス] アクションを追加します。
    1. [表示するメッセージを入力] で、strCustomerNumber 変数を選択します。
  10. Bot を保存して実行します。