注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

よくある質問

このページでは、Palantir Foundry Connector 2.0 for SAP Applications(「コネクター」)についてよくある質問を詳しく説明します。

接続する

全般

コネクターを使用するために、ソース SAP システムの SAP ABAP プラットフォームに ABAP アドオンをインストールする必要があるのはなぜですか?

このアプローチには、次のような利点があります。

  • SAP のリソース使用量を監視し、システムの過負荷を防止できます。
  • SAP の作成物へのアクセスやクエリの対象範囲が広がります(生データだけでなく、ビュー、BW InfoProvider、BEx クエリなども対象になります)。
  • Foundry で充実したソース探索機能を利用でき、SAP 内の関連データを見つけるプロセスが大幅に高速化され、データ同期を一括で作成できます。
  • インクリメンタル(差分)データ同期(変更データキャプチャ)を、より幅広くサポートします。
  • データ同期に失敗したときに問題を調査するためのデバッグ機能が充実しています。

システムとバージョン

コネクターはどの SAP システムをサポートしていますか?

  • SAP R/3、SAP ECC、SAP S/4HANA
  • SAP SLT Replication Server(変更データキャプチャ用)
  • SAP BW(APO などのツールを含む)

コネクターはどのバージョンの SAP をサポートしていますか?

SAP 認定アドオンは SAP ABAP プラットフォーム(旧称 SAP NetWeaver Application Server)上で動作するため、SAP_BASIS コンポーネントのバージョンが最も重要です。SAP_BASIS は技術コンポーネントのバージョンであり、SAP NetWeaver と SAP S/4HANA の両方のシステムに適用されます。 推奨する SAP_BASIS の最小バージョンは次のとおりです。

  • SAP_BASIS 7.4 SP5 以上
  • SAP_BASIS 7.5(最小 SP レベルの要件なし)

これらは最小バージョンです。コネクターは、SAP_BASIS 8.x に基づく SAP S/4HANA リリース(たとえば、SAP_BASIS 816)を含め、それ以降のすべての SAP_BASIS バージョンをサポートしています。

OData 経由の SLT を使用する場合、OData コンポーネント(PALODATA)には SAP_BASIS 7.50 SP09 以上が必要です。

主要な SAP システムが 7.4 より前の SAP_BASIS バージョンで動作している場合は、コネクターの機能の一部を利用できるソリューションがあります。ただし、このソリューションでも、Foundry が旧バージョンに接続するためのゲートウェイとして、SAP_BASIS バージョン 7.4 以上のシステムが必要です。このアプリケーションサーバーは、空のものでも、BW などの新しい SAP システムで使用中のものでも構いません。

コネクターは SAP IBP / SAP Ariba / ... をサポートしていますか?

SAP システムまたはモジュールが SAP ABAP プラットフォーム上で動作している場合、コネクターでデータを抽出できます。

ただし、SAP システムがクラウドベース(たとえば、SAP IBP)の場合や、ABAP プラットフォームベースではない場合(SAP Ariba など)、このコネクターはデータ抽出に適したソリューションではありません。これらのシステムからデータを抽出するほかのオプションについては、Palantir サポートにお問い合わせください。

認定

「SAP 認定」とは、具体的に何を意味しますか?

SAP 認定の公式な定義は、SAP のサイト ↗ で確認できます。

アドオンの認定の詳細はどこで確認できますか?

アドオンの認定は、SAP の Web サイト ↗ で確認できます。

アンインストール

アドオンはアンインストールできますか?

はい。アンインストールは認定プロセスの一環としてテストされています。アドオンは独自の名前空間を使用しており、アンインストールすると SAP システムからすべて削除されます。唯一残る記録は SAINT のインストールログで、アドオンがいつインストールされ、アンインストールされたかを示します。

負荷とパフォーマンス

コネクターが SAP システムに過負荷をかけないことを、どのように確認できますか?

コネクターは、SAP システムの負荷とパフォーマンスを最重要事項として設計されています。SAP システムからのデータレプリケーションが、エンドユーザーの利用体験やその他の重要なプロセスに悪影響を及ぼさないようにするためのリソースチェック機能を備えています。

データ抽出はページ単位で行われ、各ページのリクエスト前に、アドオンがメモリー使用率、CPU 使用率(システムとユーザーの両方)、実行中のワークプロセス数(ダイアログとバックグラウンドの両方)を評価します。これらのメトリクスのいずれかが、すべて設定可能なしきい値の範囲外になると、抽出は中止され、十分なリソースを利用できる可能性がある後の時点で再試行されます。

この機能は、多くの大企業の複雑な本番 SAP システムランドスケープで使用されており、そこでコネクターは数十億行のデータをレプリケーションしています。エンドユーザーやその他の実行中のプロセスに支障をきたす可能性のある過剰な負荷から、これらのシステムを保護することが確認されています。

ライセンス

コネクターを使用するには、追加の SAP ライセンスが必要ですか?

SAP ライセンスの遵守はお客様の責任です

Palantir は SAP と提携しておらず、SAP ライセンスに関する法的助言を提供できません。そのため、SAP システムとコネクターの現在の利用または今後想定される利用の範囲と詳細、およびそれらが SAP ライセンスと契約に及ぼす影響を評価する責任は、お客様のみが負います。

これまでの経験では、アプリケーションレイヤーを介して SAP ERP システムからスケジュールに従ってデータを抽出することは、SAP が「間接的な静的読み取り」と呼ぶものとみなされる場合があり、そのデータを SAP 以外のサードパーティーシステムで利用する際には、ライセンスが不要な場合があります。ただし、ユーザーが SAP 以外のサードパーティーシステムから SAP にデータを書き戻す場合は、追加の SAP ライセンスが必要になることが多いです。

懸念がある場合は、法務担当者や SAP の担当者に確認し、SAP の利用とライセンスについてご相談ください。

セキュリティ

すべてのデータは転送中および保存時に暗号化されますか?

はい。SAP から Data Connection Agent へのデータ転送、および Agent から Foundry へのデータ転送には HTTPS が使用されます。Data Connection Agent のホストマシンに一時的にステージングされるデータは暗号化されます。

アドオンはどのような種類の権限ロールを使用しますか?

アドオンは4種類の権限ロールを使用します。

  • サービスロール: アドオンの実行に必要なロールです。これらのロールは変更しないでください。
  • コンテンツロール: SAP システムからデータを抽出するために必要なロールです。これらのロールは、コピーしてビジネス要件に応じて変更できます。
  • ライトバックロール: Foundry から SAP システムへのライトバックが有効な場合に必要なロールです。
  • 監視およびデバッグロール: リモート監視を可能にする SAP システム情報を Foundry に公開するために必要なロールです。

詳細については、権限ロールを参照してください。

Foundry にデータを同期しようとしたときに発生する SSL の問題にはどう対処できますか?

  • javax.net.ssl.SSLHandshakeException: PKIX path building failed
    • これは、SAP システムへの HTTPS 接続が有効であることを検証するための情報が Data Connection Agent に不足していることを意味します。
    • 多くの場合、該当する SSL 証明書を Data Connection Agent のトラストストアにアップロードすると、この問題を解決できます。
    • SSL 証明書をダウンロードするには、Data Connection Agent がインストールされている(仮想)マシンから次のコマンドを実行します($HOST と $PORT は SAP システムのホストとポート番号に置き換えます)。
    openssl s_client -showcerts -servername $HOST -connect $HOST:$PORT </dev/null 2>/dev/null |sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | python3 -c "from sys import stdin; text = stdin.read(); ca_cert = text.split('-----BEGIN CERTIFICATE-----')[-1][:-26]; ca_cert = ca_cert.replace('\n', ''); print('\n' + ca_cert)"
    
    これは、マシンに openssl と python3 がインストールされていることを前提としている点に注意してください。
    • このコマンドは、SSL 証明書を表す長い文字列を出力します。この文字列をクリップボードにコピーします。
    • 次に、Foundry UI で Data Connection Agent の設定ページに移動します。
    • Agent 設定 > Agent 証明書を管理 > 新しい証明書を追加をクリックします。
    • 証明書にエイリアス(証明書の取得元の SAP システム名など)を付け、クリップボードから証明書を pem... という名前のボックスに貼り付けます。
    • 変更を保存してから、Agent を再起動します。
  • javax.net.ssl.SSLPeerUnverifiedException: Hostname XXXXX not verified
    • これは通常、証明書に SAN(サブジェクト代替名)が設定されていないことを意味します。
    • ドメインの検証に CN(コモンネーム)を使用することは非推奨となっているため、SAP ベーシスコンポーネントチーム(またはセキュリティチーム)に、SAN を使用した新しい証明書の発行を依頼することを推奨します。
    • 推奨はしませんが、本番環境以外では、Foundry の SAP ソース設定で次の設定を使用して、レガシーのホスト名検証機能を有効にできます: useLegacyHostnameVerifier: true。

データ統合のアプローチ

なぜ(たとえば SAP BW ではなく)ソース ERP からデータを抽出するべきなのですか?

利用可能な最も粒度の細かいソースデータから始めることで、データ統合による下流の活用を最大限に柔軟で有用なものにできます。前処理済みのデータを使うことは近道に見えるかもしれませんが、そうすると、将来対処できる問題の範囲がすぐに狭まってしまいます。

使用したい既存の BW レポートやクエリがある場合は、生の ERP データと BW データの両方を抽出する方法が適しています。

データ抽出

全般

SAP からどの種類のテーブルを抽出できますか?

透過テーブル、プールテーブル、クラスターテーブルは、すべて SAP から抽出できます。

データを抽出するときに、ABAP データ型はどのように Foundry データ型に変換されますか?

次のテーブルは、システム間で各データ型がどのようにマッピングされるかを示しています。

SAP ABAP データ型Foundry データ型説明
ACCP文字列転記期間
CHAR文字列固定長の文字列
CLNT文字列クライアントフィールド
CUKY文字列通貨キー(CURR から参照)
CURRDecimal通貨フィールド
D16DDecimalBCD 形式で保存された10進浮動小数点数
D16NDecimal10進浮動小数点数
D16RDecimal2進数として保存された10進浮動小数点数
D16SDecimalスケーリング付き10進浮動小数点数(廃止済みですが、古いシステムでは引き続き使用されています)
D34DDecimalBCD 形式で保存された10進浮動小数点数
D34NDecimal10進浮動小数点数
D34RDecimal2進数として保存された10進浮動小数点数
D34SDecimalスケーリング付き10進浮動小数点数(廃止済みですが、古いシステムでは引き続き使用されています)
DATNDateYYYYMMDD 形式の日付(HANA のネイティブデータ型 DATE)
DATSDate日付値
DECDecimal符号付き固定小数点10進数
FLTPDouble浮動小数点数
INT1Integer非常に小さい符号付きの正確な整数
INT2Integer小さい符号付きの正確な整数
INT4Integer通常の符号付きの正確な整数
LANG文字列言語キー
LCHR文字列固定長の文字列
LRAWBinary解釈されない可変長バイト列
NUMC文字列テキスト文字列
PREC文字列QUAN フィールドの精度
QUANDecimalDEC フィールドの数量
RAWBinary解釈されないバイト列
RAWSTRINGBinary可変長の文字列データ
TIMS文字列*時刻値
UNIT文字列単位キー(QUAN から参照)

Foundry には専用の Time データ型(Date や Timestamp とは異なるデータ型)がないため、TIMS 型は String として表現されます。Foundry のデータ変換パイプラインの最初のステップとして、TIMS 型フィールドを対応する DATS 型フィールドと組み合わせ、新しい Date または Timestamp フィールドを作成することを推奨します。

コネクターはビューの抽出をサポートしていますか?

SAP には、いくつかの種類の「ビュー」があります。

  • ERP ビュー:「ERP テーブル」オブジェクトタイプを使用して抽出できます。同期設定のドロップダウンリストでは、オブジェクト名の横に「VIEW」が表示されます。
  • ABAP CDS ビュー: これらのビューのサポートは、アドオンの SP21 で追加されました。
  • HANA Information ビュー: これらのビューのサポートは、アドオンの SP22 で追加されました。

技術的な詳細

指定した SAP ソースのデータ同期が Foundry で実行されると、何が起こりますか?

指定した SAP ソースのデータ同期が Foundry で実行されると、次のステップが行われます。

  1. Data Connection Coordinator は、同期を開始するために適切な Data Connection Agent への接続を試みます。
  2. Data Connection Agent 上で実行されている SAP プラグインが起動され、同期プロセスを開始します。
  3. SAP アドオンへの最初のリクエストは、ページング初期化リクエストです。これにより、SAP アドオンは該当するテーブルまたはオブジェクトをクエリし、/PALANTIR/ スペース内のテーブルに、高度に圧縮されたデータページの書き込みを開始します。
  4. SAP アドオンへの後続のリクエストは、最後のデータページに到達するまで、データページを順番にポーリングします(指定したページがまだ利用できない場合は、一時停止して再試行します)。これらのデータページは、Data Connection Agent のホストマシン上に暗号化された Apache Parquet ファイルとして書き込まれます。
  5. 最後のデータページが取得されると、ページング終了リクエストが SAP アドオンに送信されます。
  6. 続いて Data Connection Agent は、すべてのデータが対象データセットに転送されるまで、Apache Parquet ファイルを Foundry にアップロードします。

次のデータ同期エラーを解決するにはどうすればよいですか?

  • Unexpected value encountered in SAP data Failed to parse value XXX in field YYY
    • 日付または数値が不正で、パースできない場合に発生することがあります。同期で予期しない値を無視を有効にすると、パースできない値が null に設定され、処理が続行されます。
  • Current CPU user load(X%) is higher than the max. CPU user parameter(Y%)., Please increase CPU_USER threshold value!, System resources are below threshold values.
    • CPU、メモリー、またはワークプロセスのリソースチェックに失敗すると、この形式のエラーが表示されることがあります。これは、システムの過負荷を防ぐために定義されたしきい値に基づくと、該当するシステムリソースが不足していることを示します。場合によっては、これが望ましい結果であり、システムの負荷が下がるまで待ってから同期を再試行するのが適切な対処方法です。ただし、該当するリソースチェックのしきい値が慎重すぎる設定になっている可能性もあります。しきい値を再設定する方法については、パフォーマンスパラメーターを参照してください。
  • ERROR : User XXXXX does not have enough authorization for this service call.
    • このエラーは、SAP アドオンが使用する技術ユーザーに必要な権限ロールが生成されていないか、ロールが正しく割り当てられていないことを示します。権限ロールを確認してください。

変更データキャプチャ

コネクターは、インクリメンタル(差分)同期 / 変更データキャプチャにどのようなオプションを提供していますか?

  • SAP SLT Replication Server(利用可能な場合)
    • ソース ERP のトリガーに基づいて、データが Foundry にレプリケートされます。
  • SAP ERP または S/4HANA
    • BW エクストラクター(利用可能な場合)を使用すると、エクストラクターが管理する差分に基づいて、データを Foundry にレプリケートできます。
    • また、アドオンには、変更データキャプチャに対する独自の包括的かつ柔軟なアプローチが含まれており、幅広い標準 SAP テーブルで動作するように設定できます。詳細については、インクリメンタル同期を参照してください。

SAP の任意のテーブル/オブジェクトにインクリメンタル同期を設定する場合、incrementalField にはどのフィールドを選ぶとよいですか?

指定するインクリメンタルフィールドの値は、単調増加することが理想的です。ただし、そのようなフィールドが常に見つかるとは限りません。時刻要素を含まない日付フィールドが最適な選択肢となる場合があります。このため、システムは単に「より大きい」ではなく「以上」の比較を使用し、前回の同期が特定の日付の途中で実行された場合でも、データが欠落しないようにします。その結果、Foundry の出力データセットに重複した値が含まれる可能性があります。これらの重複した値は、Foundry のデータ変換パイプラインの最初のステップで削除してください。たとえば、主キーに基づいて重複行をチェックする方法があります。詳細については、インクリメンタル同期を参照してください。

インクリメンタルデータ同期を開始するためにトランザクションタイプを SNAPSHOT から APPEND に切り替えると、テーブル全体が重複するのはなぜですか?

データ同期を SNAPSHOT トランザクションタイプで開始した場合、コネクターはインクリメンタル状態を追跡しません。その後 APPEND に切り替えると、最初のインクリメンタル同期では SAP システムからすべてのデータが抽出され、それ以降は「差分」(前回の同期以降に変更された内容)のみが抽出されます。そのため、どのデータ同期をインクリメンタルにするかを事前に計画し、それらを APPEND トランザクションタイプで開始することを推奨します。

SNAPSHOT から APPEND への切り替えによってデータセット内のデータが重複した場合は、インクリメンタル状態のリセットの手順に沿って進めてください。

リソースチェック

どの種類のリソースチェックが利用可能ですか?

3種類のリソースチェックが利用可能です。

  • CPU_CHECK: CPU 使用率が指定したしきい値を超えている場合に、同期の実行を防ぎます
  • MEMORY_CHECK: メモリー使用率が指定したしきい値を超えている場合に、同期の実行を防ぎます
  • PROCESS_CHECK: 利用可能なプロセス数が指定したしきい値を下回っている場合に、同期の実行を防ぎます

デフォルトの動作はどのようなもので、どのようにオーバーライドできますか?

デフォルトでは、すべてのリソースチェックが有効になっており、さらに、これらのリソースチェックは「継続的に」適用されます。つまり、同期の開始時だけでなく、各ページを要求する前にチェックが行われます。

個々のデータ同期でデフォルトの動作をオーバーライドするには、Data Connection の UI で次の手順を実行します。追加設定 > リソースチェック / 継続的なリソースチェック > オフ。

SAP Business Warehouse(BW)の機能

どの SAP BW 機能がサポートされていますか?

次のソースからデータを抽出できます。

  • SAP BW InfoProvider – DataStore オブジェクト(DSO)、InfoCube、InfoObject を含みます
  • SAP BW BEx クエリ

機密データ

必要な非機密データの抽出を妨げずに、機密データが SAP システムの外部に出ないようにするには、どのようなオプションが利用可能ですか?

最も大きな単位では、アドオンのコンテンツ認可ロールを変更して、テーブルやオブジェクト全体の抽出を防ぐことができます。

行単位で抽出可能なデータを制限するには、フィルターを使用します。フィルターは、データが SAP システムの外部に出る前に適用されます。

  • フィルターは、Foundry の Data Connection UI にある同期設定で定義できます。
  • ただし、SAP システム自体の Connector Cockpit で「事前フィルター」を設定することもできます。これらのフィルターは、Foundry からのフィルターに加えてテーブルに適用されるため、Source Explorer および同期設定 UI に表示されるデータプレビューにも適用されます。詳細については、事前フィルターを参照してください。

列単位でデータの抽出を制限するには、2つの方法があります(これらの方法も、上記のフィルターと同様に、データが SAP システムの外部に出る前に適用されます)。

  • 同期設定 UI には、データ抽出から除外する列を選択する「列を削除」機能があります。
  • Connector Cockpit では、さまざまな暗号化およびデータマスキングの設定が利用可能です。

ライトバック

技術的な詳細

Foundry から SAP へのライトバックはどのように実現されますか?

SAP 認定アドオンは、Foundry から SAP 関数を呼び出す機能を提供します。構造が明確に定義され、エラーメッセージも明確な BAPI(Business API)関数を推奨しますが、必要に応じて、アドオンはあらゆる種類の汎用モジュールの呼び出しをサポートします。

ライトバックを設定するには、Foundry Webhook を作成する必要があります。詳細については、概要を説明した Webhook と、SAP 固有の詳細を説明した Webhook の設定 - SAP を参照してください。

名前付きユーザーへの帰属

Foundry から SAP に、技術ユーザーやサービスアカウントではなく、名前付きユーザーとしてライトバックできますか?

はい。OAuth 2.0 Authorization Code フローを使用してサポートされています。このシナリオでは、SAP システムが OAuth 2.0 サーバーとして、Foundry が OAuth 2.0 クライアントとして機能します。ユーザーが Foundry から SAP へのライトバックを初めて試みると、SAP システムの認可ダイアログにリダイレクトされ、Foundry がユーザーに代わって SAP にライトバックすることを許可するかどうかを確認します。

詳細については、OAuth 2.0 によるユーザーに帰属する SAP ライトバックを参照してください。

コネクターのメンテナンス

アップグレード

SAP アドオンはどのようにアップグレードしますか?

新しいサポートパッケージ(SP)が提供されます。ドキュメントに記載されたアップグレード手順に従ってください。

SAP アドオンの新しいリリースはどのくらいの頻度で提供されますか?

固定のリリーススケジュールはありませんが、通常、新しいサポートパッケージ(SP)は2~3か月ごとに提供されます。

ハウスキーピング

SAP アドオンは、テーブルスペースがいっぱいにならないよう、ログテーブルを定期的に切り詰めますか?

はい。ただし、関連するハウスキーピングジョブを有効にする必要があります。これらは SAINT のインストールプロセスでは自動的に有効にできません。詳細については、ハウスキーピングジョブをセットアップして設定するを参照してください。