注: 以下の翻訳の正確性は検証されていません。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によって管理されます。

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

このガイドでは、インスタンスに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メモ 1660374 - フェッチが十分に待機しない; タイムアウト
  • SAP OSSメモ 2215583 - 抽出中のODQからのデータコンテンツの移動によるエラー

以下のSAPメモを読んで、該当する場合は関連する手順に従ってください。

  • SAP OSSメモ 2697016 - CNV_IUUC_DB_CONN131でテーブルを複製できない - 他の設定に異なるトリガー設定がある - SAP Landscape Transformation Replication Server.
  • SAP OSSメモ 2787584 - ユーザーにSAP_ALLがあるにもかかわらず、LTRCでの認証問題 - SLT
  • SAP OSSメモ 3032108 - 1:Nレプリケーションはサポートされていますか? - 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サイジングガイド を参照してください。

SLT設定

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

1. ソースシステムへのRFC宛先接続を作成する

SLTがSAPソースシステムからデータを複製するために使用するRemote Function Call(RFC)接続を作成するには、RFC接続の作成を参照してください。

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

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デフォルトでは認証グループなし
Source RFC Destination論理宛先 - ソースシステムのRFC宛先名
Read from Single Clientデータが単一のクライアントから読み取られる場合は、このオプションをチェックします。
Allow Multiple Usage複数の使用が許可されている場合は、このオプションをチェックします。

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

ステップ 2a と 2b のうち、どちらか一方が必要です。 ステップ 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 を選択します。
    • Scenario には Operational Data Provisioning (ODP) を選択します。SAP NetWeaver のサポートパッケージレベルが高い場合、このシナリオは RFC Connection ではなく Other の下にリストされています。
    • RFC DestinationNONE に設定します。
    • Queue Alias に任意のエイリアス名を設定します。ソースシステムの 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. コネクタへの RFC destination 接続を作成する(リモート SLT シナリオ)

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

セットアップ手順については、RFC connection guide を参照してください。

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

SLT とコネクタが別のインスタンスにある場合、以下の追加設定手順に従ってください:

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

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

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

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

コネクタは、SAP の ODP フレームワークを使用して、データを Foundry に複製します。ODP は、ソースシステムからデータを ODP キュー(テーブル名 ODQDATA_F)に複製します。データは ODQ にステージングされ、データが ODP キューに転送されると、コネクタは要求されたデータを /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

問題:3 つの小数点を持たない SAP QUAN データ型

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

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

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

QUAN データ型を小数データ型に変更するために、次のようにパラメーターを設定します。

Param IdParam NameParam Value
SLTSLT_DTYPE_QUANDEC