SAP Table Reader(SAP Data Agent)の設定
SAP Table Readerを使用すると、SAP Data Agentを使用してSAPテーブルデータをデータパイプラインに抽出できます。
この統合では、非同期のパッケージベース抽出方法を使用して、大規模なデータセットを安全かつ効率的に処理します。
概要
SAP Table ReaderはSAP Data Agentを使用して、SAPからWorkatoにデータを転送します。
パイプラインの実行時には、次の処理が行われます。
- WorkatoがSAPに抽出リクエストを送信します。
- SAP Data Agentがデータを収集し、一時パッケージに保存します。
- Workatoがパッケージを順次取得します。
- SAP Data Agentが完了後に一時データを削除します。
トランザクションコードSLG1を使用してSAPでログを監視できます。
SAP Data Agentは抽出リクエストを非同期で処理します。 大規模なデータセットを効率的に処理するために、SAP内でデータを一時的にステージングし、制御されたパッケージでWorkatoに転送します。
サポートされているソースタイプ
SAP Table Readerは次のソースタイプをサポートしています。
- 透過テーブル
- プールテーブル
- クラスターテーブル
- 従来のデータベースビュー
- パラメーターなしのCDSビュー
SAP Table Readerは次をサポートしていません。
- 消費ビュー
- AMDP(ABAP Managed Database Procedures)
- パラメーター付きのCDSビュー
SAP Data Agentのセットアップ
データパイプラインを作成する前に、SAPアプリケーションサーバーにSAP Data Agentをインストールして設定する必要があります。
SAP Data Agentは、SAPシステムにABAP移送としてインストールされます。 /WKTO/名前空間配下でODataサービスを公開し、安全なパッケージベースのデータ抽出を可能にします。
サポートされているSAPシステム
次のSAPシステムはSAP Data Agent: Table Readerをサポートしています。
| SAPシステム | データベース | NetWeaverバージョン | ABAPバージョン |
|---|---|---|---|
| SAP ECC | 任意 | 7.4 EHP7 and above | 7.4以上 |
| SAP S/4HANA | SAP HANA | 1610 and above | 7.5以上 |
| SAP BW | 任意 | 7.4 EHP7 and above | 7.4以上 |
| SAP BW/4HANA | SAP HANA | 2.0 SPS07 and above | 7.5以上 |
SAPユーザーアカウントの作成
必要な権限を持つ専用のSAPユーザーを作成する必要があります。 SAPは次のユーザータイプをサポートしています。
- 基本認証用の通信ユーザー(タイプC)
- OAuth 2.0(Authorization Code GrantまたはClient Credentials Grant)用のシステムユーザー(タイプB)
OAuth 2.0のセットアップ方法については、SAP OData OAuth 2.0認証ガイドを参照してください。
SAP CommunicationユーザーまたはSystemユーザーのSAPユーザー名とパスワードを指定します。
接続性をテストする前に、必要なSAPロールと権限オブジェクトを割り当てます。
SAP Data Agentのインストール
ABAP移送依頼をSAPシステムにインポートして、SAP Data Agentをインストールする必要があります。
移送依頼が必要
ABAP移送依頼パッケージを入手するには、Workato Account ExecutiveまたはCustomer Success Managerにお問い合わせください。
インストールにより、必要なODataサービスが有効化され、ランタイムコンポーネントが割り当てられ、/WKTO/名前空間配下での抽出が可能になります。
SAP Data Agentをインストールするには、次の手順を実行します。
Workatoから提供されたSAP移送依頼をインポートします。
必要なSAP権限とロールをユーザーに割り当てます。
/WKTO/名前空間配下のSICF(SAP Internet Communication Frameworkトランザクション)サービスを有効化します。
トランザクション/IWFND/MAINT_SERVICEでサービスのローカルエイリアスを管理します。
システムユーザーを使用する場合は、OAuth設定を構成します。
トランザクション/WKTO/CONFIGで必要なパラメーターを管理します。
- CSV区切り文字を設定するには
CSV_SEPを管理します。|(パイプ)を使用します。 - 内部マスターテーブルでパイプラインのクリーンアップまでの日数を設定するには、
MSTR_CLEANUPを管理します。 推奨値として7を使用します。 - エクスポートファイルを保存する
AL11パスを設定するには、FILEPATHを管理します。 例:D:\WORKATO\EXPORT\。
大規模なテーブルの場合は、トランザクション/WKTO/PACKを使用してパッケージサイズを調整します。 非常に大規模なテーブルでは、パッケージサイズの調整が必要です。 追加のガイダンスについては、トラブルシューティングガイドを参照してください。
Table Reader用SAPロールの設定
SAP Data Agentに使用するSAPユーザーに、必要なロールと権限を割り当てます。
このロールは、必要なODataサービス、バックグラウンドジョブ処理、およびデータ抽出のためのテーブルレベル権限へのアクセスを付与します。
トランザクションコードPFCGに移動します。
ロール/WKTO/TABLE_READERを開くか、必要な権限オブジェクトを含むカスタムロールを作成します。
Authorizationsタブに移動し、Change Authorization Dataを選択します。
ロールに次の権限オブジェクトとフィールド値が含まれていることを確認します。
ロールに含まれる権限の概要
- S_SERVICE
/WKTO/名前空間配下のSAP Data Agent ODataサービスへのアクセスを許可します。- S_BTCH_ADM
- バックグラウンドジョブ管理権限を制御します。
- S_BTCH_JOB
- 抽出中に使用されるバックグラウンドジョブのリリースと実行を許可します。
- S_TABU_DIS
- テーブル権限グループへのアクセスを制御します。
- S_TABU_NAM
- 特定のテーブル名へのアクセスを制御します。
S_SERVICEオブジェクトの権限フィールド値
- プログラム、トランザクション、または関数
- SRV_NAME
- 値:
- 0AE2A6D56834889146773B86C3B4A4 (/WKTO/DA_CM_SRV)
- 9CB49C41E6503E8A3BF6A9CE025B88 (/WKTO/DA_LOG_SRV_0001)
- B80B26B216EE837EDD71ECBCC2A106 (/WKTO/DA_TBL_SRV_0001)
- BF83C9264549804E40E46A704B73A0 (/WKTO/DA_CM_SRV_0001)
- C45237A6760D58CFA80609CAE052B9 (/WKTO/DA_TBL_SRV)
- ECE235D66D4238FC5D4C2F97A16A4F (/WKTO/DA_LOG_SRV)
- チェックフラグのタイプ(SRV_TYPE)
- HT
S_BTCH_ADMオブジェクトの権限フィールド値
- バックグラウンド管理者
- N
S_BTCH_JOBオブジェクトの権限フィールド値
- ジョブ操作
- RELE
- グループのジョブ概要
- ' '
S_TABU_DISオブジェクトの権限フィールド値
- アクティビティ
- 02, 03
- テーブル権限グループ
- VA
S_TABU_NAMオブジェクトの権限フィールド値
- アクティビティ
- 03
- テーブル名
- *
権限プロファイルを生成し、ロールを保存します。
SAP Data Agentに使用するSAPユーザーにロールを割り当てます。
WorkatoとSAP間のOData接続性の確立
データパイプラインを作成する前に、WorkatoとSAPシステム間の接続性を設定する必要があります。
SAP Data Agentは、Workatoが認証、抽出、およびクリーンアップ操作に使用するODataサービスを公開します。
オンプレミスSAPシステムへの接続
SAPシステムがODataサービスをパブリックインターネットに公開していない場合は、Workatoオンプレミスエージェント(OPA)をデプロイします。
オンプレミスエージェントは、ネットワークからWorkatoへの安全なアウトバウンドコネクションを確立し、内部SAP ODataサービスへのアクセスを可能にします。
オンプレミスSAPシステムに接続するには、次の手順を実行します。
Workatoオンプレミスエージェントをワークスペースにインストールして登録します。
SAPシステムが/WKTO/名前空間配下で必要なODataサービスを公開していることを確認します。
オンプレミスエージェントホストとSAPアプリケーションサーバー間のネットワーク接続性を確認します。
オンプレミスエージェントなしで接続
Workatoからのインバウンドトラフィックを許可するには、SAP HTTPSポートでWorkato IPアドレスをホワイトリストに登録します。 HTTPSポートは、トランザクションSMICMまたはSAP Web Dispatcherで確認できます。
SAP ODataサービスエンドポイントがHTTPS経由で外部から引き続きアクセス可能であることを確認します。
Development Environment(オンプレミスエージェント)の設定
Development Environmentでは、接続性の問題をトラブルシューティングするために、オンプレミスエージェント設定で証明書検証を無効にできます。
OPAのconfディレクトリにあるconfig.ymlファイルを編集します。
http:
trustAll: true
verifyHost: falseHTTPプロファイル設定オプションの詳細については、オンプレミスエージェントHTTPプロファイルのドキュメントを参照してください。
この設定は非本番Environmentでのみ使用してください。
データパイプラインの作成と設定
SAP Data Agentをインストールして接続性を確立した後、SAPテーブルデータを抽出するデータパイプラインを作成します。
SAP ODataコネクションの作成
SAP ODataコネクションを作成するには、次の手順を実行します。
作成 > コネクションをクリックするか、Cを2回押します。
New connectionページでSAP ODataを検索して選択します。
コネクション名フィールドにコネクションの名前を入力します。
SAP ODataコネクションの作成
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
SAP ODataコネクションを確立するには、Workatoで次のフィールドを入力します。
| フィールド | 説明 |
|---|---|
| コネクションタイプ | SAPデプロイメントに基づいてコネクションタイプを選択します。 SAPインスタンスが直接の外部コネクションを許可しないネットワーク上で実行されている場合は、On-premise(Secure Gateway経由)を選択します。 接続を試行する前に、有効なオンプレミスエージェントがあることを確認します。 SAPがODataサービスを公開している場合は、Cloudを選択します。 リクエストはWorkatoサーバーから直接送信されます。 |
| 認証タイプ | 認証方法を選択します。 サポートされている方法には、Basic、OAuth 2.0 Client Credentials、およびOAuth 2.0 Authorization Codeがあります。 SAPユーザー設定に一致する方法を選択します。 |
| ODataバージョン | OData V2を選択します。 |
| ユーザー名 | SAP Communicationユーザー(タイプC)またはSystemユーザー(タイプB)のユーザー名を入力します。 |
| パスワード | 対応するパスワードを入力します。 |
| ホストURL | SAP ODataサービスのベースパスとしてhttps://<hostname>/sap/opu/odata/を入力します。 |
| サービス | SAPで設定されたODataサービス名としてWKTO/DA_CM_SRVを入力します。 |
| SAPクライアント | ログインに使用するSAPクライアントを入力します。 たとえば、サービスURLがhttps://<hostname>/sap/opu/odata/WKTO/DA_CM_SRV?sap-client=800の場合は、800を入力します。 このフィールドは、オンプレミスSAPシステムにのみ適用されます。 |
Connectをクリックして、認証情報とコネクション設定を検証します。
コネクションが失敗した場合は、次を確認します。
- SAP認証情報
- ホストURLの形式
- サービス名
- ネットワークアクセシビリティ
一般的なエラーには、401 UnauthorizedとHost unreachableがあります。
データパイプラインの作成
新しいデータパイプラインを作成するには、次の手順を実行します。
作成 > データパイプラインを選択するか、C+Iを押します。
データパイプライン名フィールドにデータパイプラインの名前を入力します。
データパイプライン設定
ロケーションドロップダウンメニューを使用して、データパイプラインを保存するプロジェクトを選択します。
ビルドを開始をクリックします。
SAPソースの設定
SAPをソースアプリケーションとして設定するには、次の手順を実行します。
ソースアプリから新規/更新済みレコードを抽出トリガーをクリックします。 このトリガーは、パイプラインがソースアプリケーションからデータを取得する方法を定義します。
ソースアプリトリガーから新規/更新済みレコードを抽出の設定
ソースアプリケーションとしてSAP ODataを選択します。
このパイプラインで使用するSAP ODataコネクションを選択します。 または、+ 新規コネクションをクリックして新しいコネクションを作成します。
SAP ODataコネクションの選択
抽出するSAPテーブルを選択するには、Add objectをクリックします。
オブジェクトの追加
検索フィールドにSAPテーブル名の大文字を少なくとも3文字入力します。
SAPテーブル名は大文字と小文字が区別され、大文字を使用します。
検索結果からテーブルを選択します。
SAPテーブルの選択
選択内容を確認するには、Addをクリックします。
CDSビュー
CDSビューの場合は、CDSビュー名ではなくSQLビュー名を検索します。
スキーマの定義
SAPテーブルを追加すると、パイプラインは選択された各オブジェクトのスキーマを自動的に取得します。 スキーマを確認してカスタマイズし、宛先がソースと一致するようにします。
テーブルメタデータを取得するには、Get schemaをクリックします。
任意のテーブルを展開して、使用可能なフィールドのリストを表示します。
すべてのデータを抽出するにはすべてのフィールドを選択したままにするか、特定のフィールドの選択を解除して抽出およびスキーマレプリケーションから除外します。
任意です。 各非キーフィールドのフィールドレベルデータ保護を設定します。
- そのままレプリケート(デフォルト): ソースのデータ値は宛先に同一にレプリケートされます。
- ハッシュ: 宛先に同期する前に、列内の機密データ値をハッシュ化します。
同じフローを使用してさらにオブジェクトを追加するには、もう一度オブジェクトを追加をクリックします。 この手順を繰り返して、複数のSAPテーブルをパイプラインに含めることができます。
スキーマ変更の処理方法を選択します。
- スキーマ変更を自動的に検出して適用するには、新しいフィールドを自動同期を選択します。
- スキーマ変更を手動で管理するには、新しいフィールドをブロックを選択します。 このオプションを使用すると、ソーススキーマが更新された場合に宛先が同期されなくなる可能性があります。
詳細設定の構成
実行動作とSAPシステムへの影響を制御するには、パイプラインレベルの設定を構成します。
Concurrency設定を調整します。
同時実行設定の調整
同時実行は、同時に実行されるパイプラインジョブの数を定義します。
- 値を大きくすると並列実行が可能になり、スループットが向上します。
- 値を小さくするとSAPシステムの負荷が軽減され、テーブルロックやパフォーマンスの問題を防ぐのに役立ちます。
SAPシステムに過度の負荷をかけないように、同時実行を慎重に調整します。
Frequencyを設定します。
頻度の設定
頻度は、数分ごと、毎時、毎日など、パイプラインの実行頻度を定義します。 データの鮮度とSAPシステムのパフォーマンスおよび安定性のバランスが取れた頻度を選択します。
標準の時間ベースのスケジュールを選択するか、カスタムcron式を定義します。
宛先の設定
SAPソースと詳細設定を構成した後、データの宛先を選択します。
宛先アプリのターゲットテーブルにデータをロードアクションをクリックします。 このアクションでは、パイプラインが宛先でデータをレプリケートする方法を定義します。
宛先の設定
宛先アプリケーションを選択します。
既存の宛先コネクションを選択するか、+ New connectionをクリックして作成します。
保存をクリックします。
宛先固有の設定の詳細については、次のガイドを参照してください。
パイプラインの開始
データ抽出を開始するには、Start pipelineをクリックします。
パイプラインの開始
WorkatoはSAP Data Agentに抽出リクエストを送信し、パッケージでデータを取得して、そのデータを宛先にロードします。
同期完了の確認
パイプラインがデータの抽出を完了すると、SAP Data Agentはシステムパフォーマンスとデータセキュリティを保護するために抽出後のクリーンアップを実行します。
完了した同期
次の処理が行われます。
- Workatoは、下流処理のためにパイプラインで完全なデータセットを使用可能にします。
- Workatoは最終クリーンアップAPIコールをSAP Data Agentに送信します。
- SAP Data Agentはパイプライン実行メモリをフラッシュし、SAPシステム内の一時ステージングテーブルを削除します。
このクリーンアッププロセスにより、効率的なリソース利用状況が確保され、SAPに残存ステージングデータが蓄積されるのを防ぎます。
Last updated:
同期頻度を設定