Configure SLT (SAP Landscape Transformation Replication Server)

The SAP Landscape Transformation Replication Server (SLT) is a data replication tool that uses database triggers to perform change data capture (CDC), thus enabling efficient data replication from source SAP systems to a target system.

The SLT and the Palantir Foundry Connector 2.0 for SAP Applications ("Connector") can be configured to work together to enable CDC replication from SAP to Foundry.

In this setup, an SLT configuration will be created with a dedicated context (queue alias).

To replicate an SAP table to Foundry, a Foundry dataset sync will be configured per object. Once a dataset sync is configured, SLT will configure triggers on the relevant SAP object and changes to the object in SAP will then be captured and stored in the queue in the SLT server for an ODP (Operational Data Provisioning) scenario. Foundry will poll this queue on a preconfigured schedule to synchronize these changes to the Foundry dataset.

When a Foundry dataset sync is first configured for an SAP object, SLT will perform a full load. Consecutive triggers will fetch only the changes for the object. The purging of SLT queues is managed by SLT.

You can also configure a Foundry dataset sync to have SLT perform a full load (snapshot) of specific SAP objects rather than operate in CDC mode (incremental).

This guide assumes the Connector has already been installed on the instance. You can review installation instructions for the Connector.

Prerequisites

  • SAP NetWeaver 7.4 SP14+ for Connector installation
  • DMIS 2011_1_730 Component SP15+ for SAP SLT and source system
  • SAP SLT configuration that allows 1:N replication for all Mass Transfer IDs (MTIDs)

Ensure that the following SAP notes are implemented on the SLT system:

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

Ensure that the following SAP notes have been read and the relevant steps followed where applicable:

  • 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

In SAP SLT scenarios, there can be 1:4 registrations (max 4 consumers) for a table in older DMIS versions. Starting with DMIS 2018 SP4, SAP's new CDC functionality was enabled and there is no longer a limit on the number of consumers allowed.

Using the Connector with SLT can be resource-intensive for the SAP system. Therefore, official SAP sizing documents should be reviewed for SLT before starting replication. Prior to beginning data extraction from the SAP environment, ensure there are free background and dialog processes on the SLT server (and also the SAP Application Server where the Connector is installed if SLT and the Connector are in different servers).

  • Go to transaction SM50 to see if there are free background and dialog processes. If there are no free processes, transferring data to Foundry will fail.
  • Refer to the official SAP SLT Sizing Guide ↗ for more guidance on sizing the system.

SLT configuration

Only one of steps 2a and 2b is required. We recommend following step 2a and using the Post-Installation Wizard. Steps 3 and 4 are only required for a remote SLT scenario.

1. Create an RFC destination connection to the source system

To create a Remote Function Call (RFC) connection that SLT will use to replicate data from the SAP source system, refer to Create an RFC connection.

2a. Create an SLT configuration for the source system using the Post-Installation Wizard

To create an SLT configuration using the Connector Post-Installation Wizard, use the /n/PALANTIR/POST_INST transaction code and only enable step 7 Create SLT configuration. The parameters of an SLT configuration are as follows:

ParameterDescription
Context NameUnique configuration name
Context DescriptionContext description that will be shown to the user in SAP transaction LTRC and in Foundry
Data Transfer JobsNumber of data transfer jobs
Initial Load JobsNumber of jobs for initial loads
Calculation JobsNumber of calculation jobs for initial load range calculations
Authorization GroupNo Authorization Group by default
Source RFC DestinationLogical Destination - RFC Destination name of source system
Read from Single ClientCheck this option if data will be read from a single client
Allow Multiple UsageCheck this option if multiple usage is allowed

2b. Create an SLT configuration for the source system using the SLT tools

Only one of steps 2a and 2b is required. We recommend using the Post-Installation Wizard detailed in step 2a.

  1. To create an SLT configuration, use the LTRC transaction code.

  2. Create a new configuration.

  3. In the General Data section, fill in the Configuration Name and Description.

  4. In the Source System section:

    • Select RFC Connection.
    • Select the RFC Destination connection we created previously (eg, SAP_SOURCE in our example).

    Do not be confused by the name “RFC Destination” when you are configuring a source – you should select the connection for the source system in this setting.

    • Enable Allow Multiple Usage.

    This setting enables multiple subscribers to retrieve replicated data from the source system and cannot be changed after configuration creation. As Allow Multiple Usage does not have an impact if a single subscriber is used, we recommend enabling it during the first configuration. To enable multiple usage at a later time requires you to delete the configuration and create a new one.

    • In the production environment, enable Read from Single Client. The client number used will be the one defined in the RFC Connection. This setting will ensure only production data is replicated to Foundry. In existing SLT environments, all configurations should have the same settings. Therefore, check SAP OSS Note 2372636 - Cannot replicate data when different trigger options exist - SLT.
  5. In the Target System section:

    • Select RFC Connection.
    • Select Operational Data Provisioning (ODP) for Scenario. For higher support package levels of SAP NetWeaver, this scenario is listed under Other instead of RFC Connection.
    • Set RFC Destination as NONE.
    • Set any alias name as the Queue Alias. It is good practice to name the queue that shows the source system SAP System ID (SID). This queue alias name is used as the context later on, when defining Foundry dataset syncs.
  6. In the Data Transfer Settings section, set the number of data transfer jobs, initial load jobs and data calculation jobs to be run on the SAP SLT server. Refer to the SLT Sizing Guide ↗ for the number of jobs needed for complex scenarios.

  7. Review and create the connection.

  8. Back on the main SLT screen, for transaction code LTRC, ensure that BAdI implementation is active on the SLT system for ODP scenarios. To check the setting, open the configuration by selecting the configuration name, and then click the Expert Functions tab. Ensure BAdI implementation is active or ODP will not function correctly.

  9. Go to SA38 transaction from the main menu. As described on the SAP OSS note 1660374 - Fetch does not wait long enough; timeout, run the program SAP_RSADMIN_MAINTAIN to set the parameter RODPS_FETCH_TIMEOUT. Specify the value in seconds.

3. Create an RFC destination connection to the Connector (remote SLT scenario)

The Connector can be deployed on a separate SAP instance which fulfills the requirements. In this case, the Connector communicates with the SLT server via an RFC connection. Therefore, an RFC connection is required to enable the communication channel.

Refer to RFC connection guide for setup instruction.

4. Configure the Connector to use SAP SLT (remote SLT scenario)

If SLT and the Connector are on separate instances, follow these additional configuration steps:

  • Open transaction /n/PALANTIR/PARAM
  • Enter the following parameter values:
    • Param ID: SLT
    • Param Name: RFC_CONFIGURATION
    • Param Value: RFC configuration name created in the beginning of this section (eg, SLT_SERVER_RFC)

If these parameters are not set in the configuration table, they will default to the following values:

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

Performance considerations for large table syncs

The Connector uses SAP's ODP Framework to replicate data to Foundry. ODP replicates the data from the source system to the ODP Queue (table name ODQDATA_F). The data is staged in ODQ, and once the data is transferred to the ODP queue, the Connector starts to page the requested data to the /PALANTIR/PAG_01 and /PALANTIR/PAG_02 tables. After a successful transfer of all pages to Foundry, Foundry sends a close request to housekeep the tables, and this close request deletes entries in /PALANTIR/PAG* tables.

When running initial (for instance, historical or bulk) syncs, review database sizing and consider space requirements carefully. Insufficient space may lead to failed SLT replication jobs and transfers to Foundry so first carry out database sizing preparations based on the tables to be replicated.

Parameters used to address known SAP issues

There are two other parameters which are used as a solution to known issues in SAP.

Issue: The SAP SLT server does not provide the exact field length of date/time fields

Problem: The SAP SLT server does not provide the exact field length of date/time fields. This has been fixed with an SAP note. However, if you do encounter any issues regarding data type lengths, the following parameter can be set until the note is implemented:

  • Param ID = SLT
  • Param Name = SLT_DATA_XXX (XXX refers to technical name of the field)
  • Param Value = Length of the data type

In an earlier support package of SAP NetWeaver (SP 14), DATS fields were set as 16 characters by SAP. However, DATS fields should have 8 characters (YYYYMMDD). TIMS fields were also set as 16 characters by SAP; TIMS data has 6 characters (HHMMSS).

To address this problem, set the following parameters:

Param IdParam NameParam Value
SLTSLT_DATA_DATS8
SLTSLT_DATA_TIMS6

Issue: SAP QUAN data types that do not have 3 decimal places

Problem: SAP has specific data types to be used for quantity and amount. Quantity data type QUAN contains 3 decimal places by default. When the Connector tries to fetch data which contain QUAN data types, it automatically creates 3 decimal places for these QUAN data types. However, some of the SAP tables which contain QUAN data types have a different number of decimal places but are sent to Foundry as if they have 3 decimal places.

To address this problem, use the following parameter:

  • Param ID = SLT
  • Param Name = SLT_DTYPE_XXX (XXX refers to data type of the field)
  • Param Value = Data Type Name which will be taken Into account

Set the parameter as follows to change QUAN data types to decimal data types:

Param IdParam NameParam Value
SLTSLT_DTYPE_QUANDEC