SAP でのリモート関数呼び出しの使用例
- 最終更新日2022/08/04
SAP でのリモート関数呼び出しの使用例
この例では、リモート関数呼び出しメソッドを使用して SAP でドキュメントを作成する Bot をビルドする方法について説明します。
前提条件
SAP の Web サイトから SAP Java コネクター パッケージおよび DLL をダウンロードします。
手順
-
新しい Bot を開きます。
- 左側のペインで [オートメーション] をクリックします。
- [新規作成] > [Bot] をクリックします。
- [TaskBot を作成] ウィンドウで、Bot 名を入力します。
- [作成と編集] をクリックします。
-
[接続] アクションを使用して、SAP アプリケーションとの接続を確立します。
- [SAP BAPI セッション] フィールドに「Default」と入力します。
-
[デスクトップ] オプションを選択し、お使いのデバイスで利用可能な SAP Java コネクター パッケージを参照し、選択します。
例: F:\SAP \SAP JCo 3.1.3\Microsoft Windows and Windows Server\64-bit\sapjco3.jar
-
[デスクトップ] オプションを選択し、お使いのデバイスで利用可能な SAP Java コネクター DLL を参照し、選択します。
例: F:\SAP \SAP JCo 3.1.3\Microsoft Windows and Windows Server\64-bit\sapjco3.dll
- 接続タイプとして、[グループ/サーバー] オプションを選択します。
- [安全でない文字列] を選択し、「AWINAAWO12.bcone.com」と入力して、SAP メッセージ・サーバーのホスト名を指定します。
- [ゲートウェイ ホスト] フィールドに「AWINAAWO12.bcone.com」と入力し、サーバーに接続します。
-
次の値を入力します。
フィールド 値 ログオン グループ 公開 システム番号 01 SAP インスタンスのシステム ID AAI クライアント番号 800 ログオン言語コード EN ルーター文字列 /H/115.112.148.66/S/3299 - [安全でない文字列] を選択し、「ISR3」と入力して、SAP サーバーへの接続に使用するユーザー名を指定します。
- [安全でない文字列] を選択し、「Automation@123」と入力して、SAP サーバーへの接続に使用するパスワードを指定します。
-
SAP BAPI 関数の関数を作成するには、[関数を作成] アクションを使用します。
- SAP BAPI 関数のエイリアスを作成し、エイリアス名で保存します。
- [セッション名] フィールドに「Default」と入力します。
- [関数エイリアス名] フィールドに「BAPI_Post」と入力します。
-
[BAPI 名] フィールドに「BAPI_ACC_DOCUMENT_POST」と入力します。
注: SAP BAPI 関数名とその他のパラメーターは、Automation 360 Bot を作成する際のお客様の環境に固有です。
-
SAP で「BAPI_ACC_DOCUMENT_POST」を作成するには、最初に構造とテーブルを作成する必要があります。関数のエイリアスを使用して構造体からデータを取得する場合は、[構造を取得] を選択します。
- [BAPI 関数のエイリアス] フィールドに、「BAPI_POST」 ([関数を作成] アクションを使用して SAP BAPI 関数に指定したエイリアス) を入力します。
- [構造名] フィールドに、「DOCUMENTHEADER」 (データの取得元の構造名) を入力します。
- [SAP BAPI セッション] フィールドに、「Default」 ([接続] アクションで SAP アプリケーションへの接続に使用したセッション名) を入力します。
- 構造から取得したデータを保存するための [エイリアス] オプションを選択し、[構造のエイリアスを作成] フィールドに「Doc」と入力します。
-
関数のエイリアスを使用してテーブルから表形式データを取得するには、[テーブルを取得] アクションを選択します。
- [BAPI 関数のエイリアス] フィールドに、「BAPI_Post」 ([関数を作成] アクションを使用して SAP BAPI 関数に指定したエイリアス) を入力します。
- [テーブル名] フィールドに、「ACCOUNTGL」 (データの取得元のテーブル名) を入力します。
- [SAP BAPI セッション] フィールドに、「Default」 ([接続] アクションで SAP アプリケーションへの接続に使用したセッション名) を入力します。
- テーブルから取得したデータを保存するために [エイリアス] オプションを選択し、[テーブルのエイリアスを作成] フィールドに「GL」と入力します。
- ステップ 5 を繰り返します。ステップ 5(b) で、[テーブル名] フィールドに値「CURRENCYAMOUNT」を入力し、ステップ 5(d) で、[テーブルのエイリアスを作成] フィールドに値「Currency」を入力します。
-
[フィールド値を設定] アクションを選択して、前に作成した空の構造体とテーブルにデータを設定します。
- [BAPI 関数のエイリアス] フィールドに、「BAPI_Post」と入力します。
- [送り元] フィールドから、[構造] を選択します。
- [構造のエイリアス] フィールドに「DOC」と入力します。
- [フィールド名] フィールドに、「USERNAME」 (データの設定先のフィールド名) を入力します。
- [フィールド値] フィールドに、「sy-uname」 (設定する値) を入力します。
- [SAP BAPI セッション] フィールドに「Default」と入力します。
-
ステップ 7 を 7 回繰り返し、ステップ 7(a)、7(b)、7(c)、7(f) で入力したのと同じ値を入力します。ステップ 7(d) と 7(e) に以下の値を入力します。
フィールド名 フィールド値 BUS_ACT RFBU HEADER_TXT TEST BOC BAPI POSTING COMP_CODE 1000 DOC_DATE 20210127 PSTNG_DATE 20210127 DOC_TYPE SA FIS_PERIOD 00 -
[構造を取得] アクションを選択します。
- [BAPI 関数のエイリアス] フィールドに、「BAPI_POST」と入力します。
- [構造名] フィールドに、「DOCUMENTHEADER」と入力します。
- [SAP BAPI セッション] フィールドに「Default」と入力します。
- 構造体から取得したデータをテーブル変数に格納する場合は、[変数] オプションを選択します。テーブル変数 Sap-Bapi-Table を作成します。
-
[データ テーブル] > [ファイルへの書き込み] アクションをダブルクリックまたはドラッグします。
- [データ テーブル名] リストから、書き込むデータが含まれているテーブル変数 [Sap-Bapi-Table] を選択します。
- データを書き込むファイルの場所を [ファイル名を入力] フィールドで指定します。たとえば、次のようになります。D:/user defined/My Desktop/SAP Test/DOCUMENTHEADER.csv。
- [フォルダー/ファイルが存在しない場合は作成する] チェックボックスを選択します。
- 既存のファイルにデータを書き込む場合は、[既存のファイルを上書き] オプションを選択します。
- [行区切り文字] フィールドから [改行] オプションを選択します。
- [列区切り文字] フィールドから [コンマ] オプションを選択します。
- [エンコード リスト] から [ANSI] オプションを選択します。
-
[フィールドの値を設定] アクションをダブルクリックまたはドラッグして、データをテーブルに設定します。
- [BAPI 関数のエイリアス] フィールドに、「BAPI_POST」と入力します。
- [送り元] フィールドから、[テーブル] を選択します。
- [テーブル エイリアス] フィールドに「GL」と入力します。
- [フィールド名] フィールドに、「ITEMNO_ACC」 (データの設定先のフィールド名) を入力します。
- [フィールド値] フィールドに、「2」 (設定する値) を入力します。
- [SAP BAPI セッション] フィールドに、「Default」 ([接続] アクションで SAP アプリケーションへの接続に使用したセッション名) を入力します。
-
ステップ 11 を 7 回繰り返して、データをテーブルに設定します。
テーブルの値を設定するときに、ステップ 11(a)、11(b)、11(c)、11(f) で前に入力した値と同じ値を保持します。ステップ 11(d) と 11(e) で以下の値を変更します。
フィールド値 フィールド名 GL_ACCOUNT 0000078310 PSTNG_DATE 20210127 ITEM_TEXT TEST POSTING DEBIT ITEM QUANTITY 1000 BASE_UOM EA COMP_CODE 1000 DOC_TYPE SA -
[値を設定] フィールド アクションを選択します。
- [BAPI 関数のエイリアス] フィールドに、「BAPI_POST」と入力します。
- [送り元] フィールドから、[テーブル] を選択します。
- [テーブル エイリアス] フィールドに「GL」と入力します。
- [新しい行を作成] を選択すると、次の行にデータが入力されます。
- [フィールド名] フィールドに、「ITEMNO_ACC」 (データの設定先のフィールド名) を入力します。
- [フィールド値] フィールドに、「1」 (設定する値) を入力します。
- [SAP BAPI セッション] フィールドに、「Default」 ([接続] アクションで SAP アプリケーションへの接続に使用したセッション名) を入力します。
-
[テーブルを取得] アクションを選択します。
- [BAPI 関数のエイリアス] フィールドに、「BAPI_POST」と入力します。
- [テーブル名] フィールドに「ACCOUNTGL」と入力します。
- [SAP BAPI セッション] フィールドに「Default」と入力します。
- テーブルから取得したデータをテーブル変数に格納する場合は、[変数] オプションを選択します。テーブル変数 Sap-Bapi-Table を作成します。
-
[データ テーブル] > [ファイルへの書き込み] オプションをダブルクリックまたはドラッグしますオプション。
- [データ テーブル名] リストから、書き込むデータが含まれているテーブル変数 [Sap-Bapi-Table] を選択します。
- データを書き込むファイルの場所を [ファイル名を入力] フィールドで指定します。たとえば、次のようになります。D:/user defined /My Desktop/SAP Test/ACCOUNTGL.csv。
- [フォルダー/ファイルが存在しない場合は作成する] チェックボックスを選択します。
- 既存のファイルにデータを書き込む場合は、[既存のファイルを上書き] オプションを選択します。
- [行区切り文字] フィールドから [改行] オプションを選択します。
- [列区切り文字] フィールドから [コンマ] オプションを選択します。
- [エンコード リスト] から [ANSI] オプションを選択します。
-
[フィールドの値を設定] アクションをダブルクリックまたはドラッグして、データをテーブルに設定します。
- [BAPI 関数のエイリアス] フィールドに、「BAPI_POST」と入力します。
- [送り元] フィールドから、[テーブル] を選択します。
- [テーブル エイリアス] フィールドに「CURRENCY」と入力します。
- [フィールド名] フィールドに、「ITEMNO_ACC」 (データの設定先のフィールド名) を入力します。
- [フィールド値] フィールドに、「2」 (設定する値) を入力します。
- [SAP BAPI セッション] フィールドに、「Default」 ([接続] アクションで SAP アプリケーションへの接続に使用したセッション名) を入力します。
-
ステップ 16 を 7 回繰り返して、データをテーブルに設定します。
テーブルの値を設定するときに、ステップ 16(a)、16(b)、16(c)、16(f) で前に入力した値と同じ値を保持します。ステップ 16(d) と 16(e) で以下の値を変更します。
フィールド名 フィールド値 CURRENCY USD AMT_DOCCUR -2000 ITEMNO_ACC 1 CURRENCY USD (繰り返し) 43 行目 AMT_DOCCUR 2000 - ステップ 14 を繰り返し、[テーブル名] フィールドに「CURRENCYAMOUNT」を入力します。
- ステップ 15 を繰り返し、ファイルの場所を指定します。D:/user defined /My Desktop/SAP Test/CURRENCYAMOUNT.csv のように指定します。
-
[関数を実行] アクションを選択して、SAP BAPI 関数を実行します。
- [BAPI 関数のエイリアス] フィールドに、「BAPI_POST」と入力します。
- [シーケンスを終了] オプションを選択してプロセスの終了をマークし、[トランザクションを確定] オプションを選択して処理中に行った変更をコミットします。
- [SAP BAPI セッション] フィールドに「Default」と入力します。
-
[テーブルを取得] アクションを選択します。
- [BAPI 関数のエイリアス] フィールドに、「BAPI_POST」と入力します。
- [テーブル名] フィールドに「RETURN」と入力します。
- [SAP BAPI セッション] フィールドに「Default」と入力します。
- テーブルから取得したデータをテーブル変数に格納する場合は、[変数] オプションを選択します。テーブル変数 Sap-Bapi-Table を作成します。
- ステップ 15 を繰り返し、ファイルの場所を指定します。D:/user defined /My Desktop/SAP Test/Return.csv のように指定します。
-
関数から指定したフィールドのデータを取得する場合は、[フィールド値を取得] アクションを選択します。
- [BAPI 関数のエイリアス] フィールドに、「BAPI_POST」と入力します。
- [送り元] フィールドから [関数] を選択します。
- [フィールド名] フィールドに「OBJ_KEY」と入力します。
- [SAP BAPI セッション] フィールドに「Default」と入力します。
- [出力を変数に保存] フィールドで [Prompt-Assignment] を選択します。
-
[メッセージ ボックス] アクションをダブルクリックまたはドラッグします。
- [メッセージ ボックス ウィンドウのタイトルを入力] フィールドに「Automation Anywhere Enterprise Client」を入力します。
- 「$Prompt-Assignment$」を入力します。
- スクロール バーを表示する場合は、[スクロール バーを表示する行数] フィールドに「30」を入力します。
- ステップ 23 とステップ 24 を繰り返します (ステップ 23(c) では「OBJ_SYS」と入力)。
- ステップ 23 とステップ 24 を繰り返します (ステップ 23(c) では「OBJ_TYPE」と入力)。
- [保存]、[実行] の順にクリックします。