Warning

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

SLT(SAP Landscape Transformation Replication Server)の設定

SAP Landscape Transformation Replication Server(SLT)は、データベーストリガーを使用して変更データキャプチャ(CDC)を実行し、ソースSAPシステムからターゲットシステムへの効率的なデータレプリケーションを可能にするデータレプリケーションツールです。

SLTとPalantir Foundry Connector 2.0 for SAP Applications(「Connector」)は、SAPからFoundryへのCDCレプリケーションを可能にするために連携して設定できます。

このセットアップでは、専用のコンテキスト(キューエイリアス)を持つSLT構成が作成されます。

SAPテーブルをFoundryにレプリケートするには、オブジェクトごとにFoundryデータセット同期が設定されます。データセット同期が設定されると、SLTは関連するSAPオブジェクト上にトリガーを設定し、SAPでのオブジェクトへの変更がSLTサーバーのキューにキャプチャされ、ODP(Operational Data Provisioning)シナリオに保存されます。Foundryは、事前に設定されたスケジュールでこのキューをポーリングし、Foundryデータセットにこれらの変更を同期します。

Foundryデータセット同期が最初にSAPオブジェクト用に設定されると、SLTはフルロードを実行します。連続したトリガーは、オブジェクトの変更のみをフェッチします。SLTキューのパージは、SLTによって管理されます。

また、SLTが特定のSAPオブジェクトのフルロード(スナップショット)を実行して、CDCモード(インクリメンタル)ではなく、Foundryデータセット同期を設定することもできます。

このガイドでは、インスタンスにConnectorがすでにインストールされていることを前提としています。Connectorのインストール手順を確認してください。

前提条件

  • ConnectorのインストールにはSAP NetWeaver 7.4 SP14+が必要
  • SAP SLTおよびソースシステム用のDMIS 2011_1_730 コンポーネント SP15+
  • すべてのMass Transfer ID(MTID)に対して1:Nレプリケーションを許可するSAP SLT設定

SLTシステムに以下のSAPノートが実装されていることを確認してください:

  • SAP OSS Note 1660374Fetch does not wait long enough; timeout
  • SAP OSS Note 2215583Error due to moved data content during extraction from ODQ

以下のSAPノートが読まれ、該当する場合は関連する手順が実行されていることを確認してください:

  • SAP OSS Note 2697016Unable to replicate table in CNV_IUUC_DB_CONN131 - Other configuration have different trigger settings - SAP Landscape Transformation Replication Server.
  • SAP OSS Note 2787584 - Authorization issues in LTRC despite user having SAP_ALL - SLT
  • SAP OSS Note 3032108 - Is 1:N replication supported? - SLT

SAP SLTシナリオでは、古いDMISバージョンのテーブルに対して1:4登録(最大4消費者)があります。DMIS 2018 SP4から、SAPの新しいCDC機能が有効になり、消費者の数に制限はなくなりました。

ConnectorとSLTを使用すると、SAPシステムに大きなリソースが必要になることがあります。そのため、SLTの公式SAPサイジング文書をレプリケーションを開始する前に確認してください。SAP環境からのデータ抽出を開始する前に、SLTサーバー(およびSLTとConnectorが別のサーバーにある場合はSAPアプリケーションサーバー)に空きバックグラウンドおよびダイアログプロセスがあることを確認してください。

  • トランザクションSM50で空きバックグラウンドおよびダイアログプロセスがあるかどうかを確認します。空きプロセスがない場合、Foundryへのデータ転送が失敗します。
  • システムのサイジングに関するより詳細なガイダンスについては、公式SAP SLT Sizing Guide ↗ を参照してください。

SLT構成

ステップ2aと2bのどちらか1つだけが必要です。ステップ2aに従ってPost-Installation Wizardを使用することをお勧めします。ステップ3と4は、リモートSLTシナリオでのみ必要です。

1. ソースシステムへのRFCディスティネーション接続を作成する

SLTがSAPソースシステムからデータをレプリケートするために使用するリモート関数コール(RFC)接続を作成するには、Create an RFC connectionを参照してください。

2a. ソースシステムのSLT設定をPost-Installation Wizardを使用して作成する

Connector Post-Installation Wizardを使用してSLT設定を作成するには、トランザクションコード /n/PALANTIR/POST_INST を使用し、ステップ7 SLT設定の作成のみを有効にします。SLT設定のパラメーターは次のとおりです。

パラメーター説明
Context Name一意の構成名
Context DescriptionSAPトランザクションLTRCおよびFoundryでユーザーに表示されるコンテキストの説明
Data Transfer Jobsデータ転送ジョブの数
Initial Load Jobs初期ロードのジョブ数
Calculation Jobs初期ロード範囲の計算に関するジョブ数
Authorization GroupデフォルトではAuthorization Groupはありません
Source RFC Destinationロジカルディスティネーション - ソースシステムのRFCディスティネーション名
Read from Single Clientシングルクライアントからデータを読み取る場合は、このオプションにチェックを入れます。
Allow Multiple Usage複数の使用が許可される場合は、このオプションにチェックを入れます。

2b. SLTツールを使用してソースシステムのSLT設定を作成する

ステップ2aと2bのどちらか1つだけが必要です。ステップ2aで詳述されているPost-Installation Wizardの使用をお勧めします。

  1. SLT設定を作成するには、LTRCトランザクションコードを使用します。

  2. 新しい設定を作成します。

  3. General Dataセクションで、Configuration NameDescriptionを入力します。

  4. ソースシステムセクションで:

    • RFC Connectionを選択します。
    • 以前に作成したRFC Destination接続を選択します(例:SAP_SOURCE)。

    ソースを設定するときに「RFC Destination」の名前に混乱しないでください。この設定では、ソースシステムの接続を選択する必要があります。

    • Allow Multiple Usageを有効にします。

    この設定は、複数のサブスクライバーがソースシステムからレプリケートされたデータを取得することを可能にし、設定の作成後には変更できません。Allow Multiple Usageは、単一のサブスクライバーが使用されている場合には影響がないため、最初の設定で有効にすることをお勧めします。後で複数の使用を有効にするには、設定を削除して新しい設定を作成する必要があります。

    • 本番環境では、Read from Single Clientを有効にします。使用されるクライアント番号は、RFC Connectionで定義されたものです。この設定により、本番データのみがFoundryにレプリケートされることが保証されます。既存のSLT環境では、すべての設定が同じ設定を持つ必要があります。したがって、SAP OSS Note 2372636 - Cannot replicate data when different trigger options exist - SLTを確認してください。
  5. ターゲットシステムセクションで:

    • RFC Connectionを選択します。
    • ScenarioOperational Data Provisioning (ODP)を選択します。SAP NetWeaverのサポートパッケージレベルが高い場合、このシナリオはOtherの下にRFC Connectionではなくリストされます。
    • RFC DestinationNONEに設定します。
    • キューエイリアスとして任意のエイリアス名を設定します。ソースシステムSAP System ID(SID)が表示されるキュー名を付けることが良い方法です。このキューエイリアス名は、後でFoundryデータセット同期を定義する際に、コンテキストとして使用されます。
  6. Data Transfer Settingsセクションで、SAP SLTサーバーで実行されるデータ転送ジョブ、初期ロードジョブ、およびデータ計算ジョブの数を設定します。複雑なシナリオで必要なジョブ数については、SLT Sizing Guide ↗を参照してください。

  7. 接続を確認し、作成します。

  8. トランザクションコードLTRCのメインSLT画面に戻り、ODPシナリオに対してSLTシステムでBAdI実装がアクティブであることを確認します。設定を確認するには、設定名を選択して設定を開き、Expert Functionsタブをクリックします。BAdI実装がアクティブでないと、ODPが正しく機能しません。

  9. メインメニューからSA38トランザクションに移動します。SAP OSSノート1660374 - Fetch does not wait long enough; timeoutで説明されているように、プログラムSAP_RSADMIN_MAINTAINを実行して、パラメーターRODPS_FETCH_TIMEOUTを設定します。値は秒単位で指定します。

3. ConnectorへのRFCディスティネーション接続を作成する(リモートSLTシナリオ)

Connectorは、要件を満たす別のSAPインスタンスにデプロイできます。この場合、ConnectorはRFC接続を介してSLTサーバーと通信します。そのため、通信チャネルを有効にするためにRFC接続が必要です。

設定方法については、RFC接続ガイド を参照してください。

4. SAP SLTを使用するようにConnectorを設定する(リモートSLTシナリオ)

SLTとConnectorが別のインスタンスにある場合は、以下の追加設定手順を実行してください。

  • トランザクション/n/PALANTIR/PARAMを開きます
  • 以下のパラメーター値を入力します:
    • Param ID: SLT
    • Param Name: RFC_CONFIGURATION
    • Param Value: このセクションの最初に作成したRFC構成名(例:SLT_SERVER_RFC)

これらのパラメーターが設定テーブルに設定されていない場合、デフォルト値は次のようになります。

  • timestamp: OFF
  • fetchOption: XML
  • pageSize: 50000

大規模なテーブル同期のパフォーマンスに関する考慮事項

Connectorは、SAPのODPフレームワークを使用してデータをFoundryにレプリケートします。ODPは、ソースシステムからのデータをODPキュー(テーブル名ODQDATA_F)にレプリケートします。データはODQでステージングされ、データがODPキューに転送されると、Connectorは要求されたデータを/PALANTIR/PAG_01および/PALANTIR/PAG_02テーブルにページングを開始します。Foundryにすべてのページが正常に転送されると、Foundryはテーブルのハウスキーピングを行うためのクローズリクエストを送信し、このクローズリクエストは/PALANTIR/PAG*テーブルのエントリを削除します。

初期同期(例:履歴またはバルク)を実行する際には、データベースのサイジングを検討し、スペース要件を慎重に考慮してください。スペースが不足していると、SLTレプリケーションジョブやFoundryへの転送が失敗する可能性があります。まず、レプリケートされるテーブルに基づいてデータベースのサイジング準備を実施してください。

既知のSAP問題に対処するために使用されるパラメーター

SAPの既知の問題に対するソリューションとして使用される他の2つのパラメーターがあります。

問題:SAP SLTサーバーは、日付/時刻フィールドの正確なフィールド長を提供しない

問題:SAP SLTサーバーは、日付/時刻フィールドの正確なフィールド長を提供しません。これはSAPノートで修正されました。ただし、データ型の長さに関する問題が発生した場合は、ノートが実装されるまで次のパラメーターを設定できます。

  • Param ID = SLT
  • Param Name = SLT_DATA_XXX (XXXはフィールドの技術名を指します)
  • Param Value = データ型の長さ

SAP NetWeaverの以前のサポートパッケージ(SP 14)では、DATSフィールドはSAPによって16文字に設定されていました。ただし、DATSフィールドは8文字(YYYYMMDD)であるべきです。TIMSフィールドもSAPによって16文字に設定されましたが、TIMSデータは6文字(HHMMSS)です。

この問題に対処するために、次のパラメーターを設定します。

Param IdParam NameParam Value
SLTSLT_DATA_DATS8
SLTSLT_DATA_TIMS6

問題:SAP QUANデータ型で3つの小数点がない

問題:SAPには数量と金額に使用する特定のデータ型があります。デフォルトでは、数量データ型QUANには3つの小数点が含まれています。ConnectorがQUANデータ型を含むデータを取得しようとすると、自動的にこれらのQUANデータ型に3つの小数点が作成されます。ただし、SAPテーブルの一部には、QUANデータ型が含まれていますが、異なる小数点数があり、Foundryに3つの小数点があるかのように送信されます。

この問題に対処するには、次のパラメーターを使用します。

  • Param ID = SLT
  • Param Name = SLT_DTYPE_XXX (XXXはフィールドのデータ型を指します)
  • Param Value = 考慮されるデータ型名

QUANデータ型を10進データ型に変更するには、次のパラメーターを設定します。

Param IdParam NameParam Value
SLTSLT_DTYPE_QUANDEC