Overview
Syniti Replicate provides an incremental replication from SAP ECC systems. This replication option is called Mirroring, allows our users to create a transactional replication using the Change Data Capture (CDC) capabilities from SAP. Ensure that you have completed the Prerequisites steps before proceeding to configure Mirroring replications for an SAP ECC system. Transparent Tables data extraction objects are supported in Change Data Capture.
SAP Environment Compatibility ECC
Transport is compatible with SAP installations of ECC6 SAP ECC Basis 750 and higher.
User Authorization for Mirroring or CDC
The following Authorization Objects must be assigned to the user performing the generation steps.
Authorization Object | Authorization Field | Authorization Value |
S_TCODE | TCD | /BOA/GENERATOR |
/BOA/SDRMP | PROGRAM | /BOA/GENERATOR |
ACTVT | 16 (Execute) | |
S_DEVELOP | DEVCLASS | <Customer’s Package> |
OBJTYPE | TABL | |
OBJNAME | SDR | |
P_GRP | ||
ACTVT | 02 | |
S_TRANSPRT | TTYPE | |
ACTVT | 03 |
The following Authorization Objects must be assigned to the user using the Consumption APIs Read Capabilities.
Authorization Object | Authorization Field | Authorization Value |
S_RFC | RFC_NAME | /BOA/SDRM_READ_TABLE /BOA/SRTT_GET_TABLE_SIZE_RFC /BOA/SDRM_RFC_API |
RFC_TYPE | FUNC or FUGR | |
ACTVT | 16 | |
/BOA/SDRMF | RFC_NAME | /BOA/SDRM_READ_TABLE |
ACTVT | 16 (Execute) | |
S_TABU_NAM | TABLE | <Name of Tables in scope> |
ACTVT | 03 (Display) | |
S_TABU_DIS | DICBERCLS | <Authorization Group of Tables in scope> |
ACTVT | 03 (Display) |
The following Authorization Objects must be assigned to the user using the Consumption APIs Update Capabilities.
Authorization Object | Authorization Field | Authorization Value |
S_RFC | RFC_NAME | /BOA/SDRM_UPDATE_MASTER_TABLE /BOA/SDRM_UPDATE_LOG_TABLE /BOA/SDRM_DELETE_MASTER_TABLE /BOA/SDRM_DELETE_LOG_TABLE /BOA/SDRM_RFC_API |
RFC_TYPE | FUNC or FUGR | |
ACTVT | 16 | |
/BOA/SDRMF | RFC_NAME | /BOA/SDRM_UPDATE_MASTER_TABLE /BOA/SDRM_UPDATE_LOG_TABLE /BOA/SDRM_DELETE_MASTER_TABLE /BOA/SDRM_DELETE_LOG_TABLE |
ACTVT | 16 (Execute) | |
S_TABU_NAM | TABLE | <Name of Tables in scope> |
ACTVT | 02 (Display) | |
S_TABU_DIS | DICBERCLS | <Authorization Group of Tables in scope> |
ACTVT | 02 (Display) |
Note
Refer to Executing the Consumption APIs for more information on how different components of Consumption APIs are used.
Setup SAP ECC for Mirroring
Download and Install Syniti Replicate
Refer to Installing Syniti Replicate for more information on the Syniti Replicate installation process.
Install Mirroring Transport for ECC
Install the provided transport in the SAP Application Server. The transport files are listed in this article. To install them, please contact the Customer Basis team.
Transport Contents ECC (Mirroring)
Object Name | Type | Description |
/BOA/SDRM /BOA/SDRM_API /BOA/SDRM_CONSTANTS /BOA/SDRM_EXCEPTIONS | Package | Packages that contain all objects related to Syniti Replicate – Mirroring. |
/BOA/ERROR_LOG /BOA/GEN_DB_OBJS /BOA/GEN_TR_OBJS /BOA/MASTER_LOG /BOA/TGT_OBJECTS | Table | Syniti Replicate – Mirroring delivered tables. These tables contain the names of the generated ABAP and HANA objects as well as mappings between standard tables and mirroring target tables. The Master Log table contain the header entry for all mirroring actions and the Error Log table store the messages raised when errors occur when populating target tables. |
/BOA/TID_RANGE | Structure | Syniti Replicate – Mirroring delivered Structures. |
/BOA/TID_RANGE_TT | Table Type | Syniti Replicate – Mirroring delivered Table Types. |
/BOA/SDRM_RFC_API | Function Group | Syniti Replicate – Mirroring Consumption API Function Group. Refer to Executing the Consumption APIs for more information |
/BOA/SDRM_READ_TABLE /BOA/SDRM_UPDATE_LOG_TABLE /BOA/SDRM_UPDATE_MASTER_TABLE /BOA/SDRM_DELETE_LOG_TABLE /BOA/SDRM_DELETE_MASTER_TABLE /BOA/SRTT_TABLE_SIZE_RFC | Function Module | Syniti Replicate – Mirroring Consumption API Function Modules. Refer to Executing the Consumption APIs for more information |
/BOA/GENERATOR | Program | Syniti Replicate – Mirroring – ABAP and HANA DB objects generation program. |
/BOA/GENERATOR | Transaction | Syniti Replicate – Mirroring – Generator |
/BOA/GENERATOR /BOA/MESSAGE_PROVIDER /BOA/SPECIFICATION | Interface | Syniti Replicate – Mirroring – OO Interfaces |
/BOA/DATA_CLASS /BOA/DATA_TYPE /BOA/DDL_TYPE /BOA/DELIVERY_CLASS /BOA/MESSAGE_SEVERITY /BOA/RANGE_OPTION /BOA/RANGE_SIGN /BOA/SIZE_CATEGORY /BOA/TABLES /BOA/TABLE_CLASS /BOA/VIEW_ACTION | Class | Syniti Replicate – Mirroring – Constants Enumeration Classes |
/BOA/CX_GENERATION_ERROR /BOA/CX_SDRM /BOA/CX_SPECIFICATION_ERROR | Class | Syniti Replicate – Mirroring – Exception Classes |
/BOA/DB_SPECIFICATION /BOA/DDL_GENERATOR /BOA/DDL_SPEC /BOA/DROP_TRIGGER_DELETE_SPEC /BOA/DROP_TRIGGER_INSERT_SPEC /BOA/DROP_TRIGGER_UPDATE_SPEC /BOA/LOG_TABLE_SPEC /BOA/MASTER_SEQUENCE_SPEC /BOA/MESSAGE_LOGGER /BOA/SEQUENCE_SPEC /BOA/TABLE_GENERATOR /BOA/TABLE_SPECIFICATION /BOA/TRIGGER_DELETE_SPEC /BOA/TRIGGER_INSERT_SPEC /BOA/TRIGGER_SPEC /BOA/TRIGGER_UPDATE_SPEC | Class | Syniti Replicate – Mirroring – Classes |
/BOA/SDRM_API /BOA/SDRM_GENERATION /BOA/SDRM_SPEC | Message Class | Syniti Replicate – Mirroring – Message Classes |
/BOA/SDRMF /BOA/SDRMP | Authorization Object | Syniti Replicate – Mirroring – Authorization Objects |
Executing the Generation Program
The Syniti Replicate Mirroring solution uses a mix of Transportable Objects (Transparent Tables) and Data Base Objects (Sequences and Triggers) to implement the change data capture solution. The Transparent Tables can be separated into the following four groups:
Control Tables:
The Control tables are provided with the installation packaged and are used to keep up an inventory of what Log Transparent Tables (/BOA/GEN_TR_OBJS) and Database Objects (/BOA/GEN_DB_OBJS) were generated, as well as the mapping between Standard SAP Tables in scope for Mirroring and their corresponding Log Tables (/BOA/TGT_OBJECTS).Master Log Tables:
The Master Log Table (/BOA/MASTER_LOG) is also provided with the installation package and is used to track all Mirroring activities.Error Log Tables:
The Error Log Table (/BOA/ERROR_LOG) is also provided with the installation package and is populated with any error message raised during the execution of Triggers during the Mirroring activities.Log Tables:
Log Tables are not provided with the installation package and must be generated in the source system's development environment. Log tables are Transportable Objects and need to be placed in Transport Requests and promoted through the landscape to the desired production environment.
No Database Object is provided with the installation package. All Database Objects must be generated directly in each environment of the source system.
To generate both Log Tables and Database Objects, report /BOA/GENERATOR (transaction code /BOA/GENERATOR) is available.
Master Log Table Database Objects - Sequence
As explained in the previous section, the Master Log Tables is provided with the installation package and does not need to be generated using /BOA/GENERATOR. However, the Database Objects associated with it must be created. In this case, only a Sequence will be created in the database as no Triggers are required for Master Log Table.
To execute this step, all that is required is to select the Master Table radio button under Generation Control in the selection screen and execute the report as shown in Image A.

Transaction SE80

Object Navigator Execution

Image A: Master Log Table Database Objects Generation
After the report is executed, Sequence /BOA/MASTER_LOG_SEQ will be created, and the execution log will be displayed. In the following example, the Master Log Table Sequence had previously been created, therefore in the execution log the message states that a new one cannot be created. When the program is executed in an environment where the Master Log Table Sequence does not exist, a successful message would be displayed.
Log Table Transportable Objects – Transparent Table
The Transportable Objects need to be created for the tables in scope for Mirroring/CDC.
To execute this step using /BOA/GENERATOR, the Log Table radio button must be selected under Generation Control section, and the Transportable Objects radio button must be selected under Transportable or Database Objects section. On the main section, the following fields must be entered:
Transport Request: Transport Request to be used to promote the Log Tables to other environments;
Package: Development Package in which the Log Table should be created;
Prefix: Used to construct the name of the Log Table - SDR<TABLE_NAME>;
Table Name: Name of the table for which a Log Table should be created.
Image B: Log Tables Transportable Objects Generation shows an example of how create Log Table ZSDRLFA1 for table LFA1 in package ZSDRGEN.

Image B: Log Tables Transportable Objects Generation
During the execution of the report for the creation of Log Tables Transportable Objects, the Package assignment and Transport Request assignment must be confirmed.

Log Tables Transportable Objects Generation - Package Assignment

Log Tables Transportable Objects Generation - Transport Request Assignment
Once the report is executed, Table SDR<TABLE_NAME> will be created and the execution log will be displayed.

Image C: Log Tables Transportable Objects Generation Log
Log Table Database Objects – Triggers & Sequence
The Database Objects need to be created for the tables in scope for Mirroring/CDC.
To execute this step using /BOA/GENERATOR, the Log Table radio button must be selected under Generation Control section, and the Database Objects radio button must be selected under Transportable or Database Objects section. On the main section, the following fields must be provided:
Prefix: Used to construct the name of the Log Table Sequence and Triggers- SDR<TABLE_NAME>_[SEQ, _INS, _UPD, DEL];
Table Name: Name of the table for which a Log Table should be created.
Image C: Log Tables Database Objects Generation shows an example of how create Sequence ZSDRLFA1_SEQ and Triggers ZSDRLFA1_INS, ZSDRLFA1_UPD, ZSDRLFA1_DEL for table LFA1.

Log Tables Database Objects Generation
Once the report is executed, the following objects will be created, and the execution log will be displayed.
Sequence: SDR<TABLE_NAME>_SEQ;
Triggers:
SDR<TABLE_NAME>_INS;
SDR<TABLE_NAME>_UPD;
SDR<TABLE_NAME>_DEL;

Log Tables Database Objects Generation Log
It is possible to execute /BOA/GENERATOR to drop the created triggers for a table. To perform this action, radio button Log Table must be selected under Generation Control section, and radio button Database Objects must be selected under Transportable or Database Objects section as well as the check box Drop Triggers Only. On the main section, the following fields must be provided:
Prefix: Used to construct the name of the Log Table Triggers- SDR<TABLE_NAME>_[INS, UPD, DEL];
Table Name: Name of the table for which a Log Table should be created.
Image D: Log Tables Database Objects Generation - Drop Triggers shows an example of how create Sequence ZSDRLFA1_SEQ and Triggers ZSDRLFA1_INS, ZSDRLFA1_UPD, ZSDRLFA1_DEL for table LFA1.

Image D: Log Tables Database Objects Generation - Drop Triggers
Once the report is executed, the Triggers will be dropped, and the execution log will be displayed.

Log Tables Database Objects Generation - Drop Triggers Log
Steps for Replicating CDC Enabled Tables
Extracting data from SAP ECC Systems using Syniti Replicate requires software to be installed on the application server running Syniti Replicate.
Configure the Enable Transactional Replication Wizard
This section assumes you have selected the Source Connection wizard option to launch the Enable Transactional Replication wizard. To open the wizard from the Management Center, right-click a connection in the Metadata Explorer, and then select Transactional Setup > Enable.

In the Enable Transactional Replication wizard:
Select the Triggers option.
On the Triggers Based Log Setting page, complete the required fields using the following table:
Field | Description |
|---|---|
User and Password | These fields are automatically filled from the connection string properties. |
Tablespace | Before selecting the Master Table, make sure to assign the proper tablespace name for ECC systems: /BOA/ |
Master Table | Once selected the Tablespace name, you will be able to select or create a new Mater Table. |
Retention Time | The amount of time in hours that a transaction is kept in the log tables. The default value is 72 hours. When the amount of time a transaction resides in the log exceeds the retention time, the transaction is permanently removed from the log tables. Tuning the retention time provides control over the size of the log tables. It is also possible to instruct Syniti Replicate to remove all the processed transactions at the end of each mirroring interval. Tuning the retention time provides control over the size of the log tables. |
Delete Block Size | Based on the retention time, Syniti Replicate deletes items from the log. This field specifies the maximum number of records to delete from the Syniti log tables with a single SQL statement. The default value is 10,000 records. You do not typically need to edit this value. |
Lower-case Trigger Identifiers | Check this option if your database installation uses lower-case trigger identifiers. Always inactive for SAP ECC sources. |
Trigger Order | Always inactive for SAP ECC sources. |
Uncommitted Transactions Recovery Option | This section can be used to indicate how uncommitted transactions should be handled during replication.
|

Define Replications
Refer to the Define the Replication section for more information to define Mirroring Replications.
Syniti SAP RFC .NET Data Provider Connection Properties
The tables below defines the available Syniti SAP RFC .NET driver connection properties along with recommended values to be used for properties.
| Required Parameters | Description |
| AppServerHost | IP Address or host name of application server |
| System ID | Unique identifier assigned to each individual SAP system |
| Client | SAP client number |
| System Number | Unique identifier for an SAP instance |
| User | User ID authenticating to the SAP System |
| Password | Password |
| Optional Parameters | Description |
| System Language | Select your system language |
| Read Table | Function allowing direct access to database tables.
|
| Stream Read Table | Function for efficient data retrieval. By default:
|
| Logon Group | Logon Group when connection is loading balanced/SAP Message Server |
| SNC Mode | Secure Network Communications mode enhances security for SAP connections. Set in True to use SNC |
| SNC Partner Name | Identification of the secure network partner |
| SNC Library Path | Directory containing secure network communications libraries |
| SNC QOP | Quality of Protection specifies the level of security using SNC |
| SNC SSO | Secure store and forward enhances security for message transmission |
| SAP Router | Secure communication tool for connecting SAP systems |
| Message Server Host | Server responsible for managing communication between SAP instances |
| Message Server Service | Service of the SAP system (message server). This can be the numeric description of the service port of the message server or the alphanumeric equivalent (for example, sapmsXXX, where XXX is the system ID of the SAP system). |
| Gateway Host | Entry point for communication between SAP systems and external applications |
| Gateway Service | The service that facilitates communication between SAP systems and external applications |
| Destination Server | Name of the destination defined in SM59 in SAP, for example: NCO_SERVER |
| Program ID | Unique identifier for a program running in the SAP system, for example: SKPStreamServer |
| Connection Count | SAP connection count refers to the total number of active connections to an SAP system |
| Max Pool Size | Maximum number of connections allowed in the pool |
| Fetch Block Size | Read Block Size. Specifies the amount of data retrieved in each fetch operation |
| Fetch Queue Size | Specifies the number of data blocks kept in memory during fetch |
Retry Delay | Period of time (in seconds) that a read operation should wait before attempting to recover a fetch error. Possible values:
|
| Extended Properties | Additional properties not listed in the grid. |
Remove Components Used in a Triggers-Based Replication
In this scenario, follow these steps:
Disable the Mirroring replication
Delete the replication from the Replication Monitor. The following message will be displayed:
.png?sv=2022-11-02&spr=https&st=2026-02-13T08%3A01%3A13Z&se=2026-02-13T08%3A23%3A13Z&sr=c&sp=r&sig=g%2BUM0kPXCJE6ck4%2BQBzcfm%2ByhAz2%2BqMF0M0LnCZuCY0%3D)
Click Yes. A Confirmation dialog box is displayed to remove your Triggers from your source database.
.png?sv=2022-11-02&spr=https&st=2026-02-13T08%3A01%3A13Z&se=2026-02-13T08%3A23%3A13Z&sr=c&sp=r&sig=g%2BUM0kPXCJE6ck4%2BQBzcfm%2ByhAz2%2BqMF0M0LnCZuCY0%3D)
Click Yes.
If you are removing a group of replications, select Yes All.
Uninstall Transactional Components
Select and right-click the source connection and select Transactional Setup > Disable.
.png?sv=2022-11-02&spr=https&st=2026-02-13T08%3A01%3A13Z&se=2026-02-13T08%3A23%3A13Z&sr=c&sp=r&sig=g%2BUM0kPXCJE6ck4%2BQBzcfm%2ByhAz2%2BqMF0M0LnCZuCY0%3D)
This wizard offers two options to disable the Transactional setup:
Disable Transaction Replication: Choose this option to disable transactional replication from this connection and leave all settings on the database unchanged.
Complete Uninstall: The database’s transactional setup will be uninstalled. If other connections are using the same server as source for transactional replication, they will no longer work correctly.
Uninstall components on SAP
Remove the Database Object on SAP
Go to transaction SE80, select /BOA/GENERATOR program and execute it.
.png?sv=2022-11-02&spr=https&st=2026-02-13T08%3A01%3A13Z&se=2026-02-13T08%3A23%3A13Z&sr=c&sp=r&sig=g%2BUM0kPXCJE6ck4%2BQBzcfm%2ByhAz2%2BqMF0M0LnCZuCY0%3D)
On Generator Control, select Log Table.
On Transportable or Database object section, select Database Object and select the Drop Triggers Only checkbox.
Complete the information with you Transport Request, Package, Prefix used when you enable Mirroring, and enter the table name.
.png?sv=2022-11-02&spr=https&st=2026-02-13T08%3A01%3A13Z&se=2026-02-13T08%3A23%3A13Z&sr=c&sp=r&sig=g%2BUM0kPXCJE6ck4%2BQBzcfm%2ByhAz2%2BqMF0M0LnCZuCY0%3D)
Once you execute this action, a confirmation page will be displayed.
.png?sv=2022-11-02&spr=https&st=2026-02-13T08%3A01%3A13Z&se=2026-02-13T08%3A23%3A13Z&sr=c&sp=r&sig=g%2BUM0kPXCJE6ck4%2BQBzcfm%2ByhAz2%2BqMF0M0LnCZuCY0%3D)
Remove Custom Tables for Mirroring
Syniti Replicate creates a Zxxx table in SAP for Mirroring activities, and it must be removed manually by following these steps:
Go to Transaction SE14, and remove the temporal table created for replications, in this example we enable mirroring replication for table AUSP. The custom table created for Mirroring is called ZSDRAUSP

To remove a custom table in SAP you have to make sure it is empty. Select the option processing Type - Direct, check the option “Delete Data” and click on “Activate and Adjust Database” button.

Go back to transaction SE80, select the Package used for Mirroring, in this example we used “Z001”, select the table and Delete it.
.png?sv=2022-11-02&spr=https&st=2026-02-13T08%3A01%3A13Z&se=2026-02-13T08%3A23%3A13Z&sr=c&sp=r&sig=g%2BUM0kPXCJE6ck4%2BQBzcfm%2ByhAz2%2BqMF0M0LnCZuCY0%3D)
