Skip to Content

Hi All

In this blog we are going to discuss how to prevent archive deletes from being replicated to a target system.

Archiving Data in Source Systems:

The trigger-based replication also considers the deletion in source tables by archive activities (since it is not possible to distinguish on the database level between delete actions caused by archiving versus regular deletion of data records). Consequently, SAP LT Replication Server will also replicate archiving activities as delete actions in the SAP HANA database.

Archive Impact to Target(HANA) System:

Archiving activities can occur in the source system at any time. If data is being replicated from a source system, it is important to understand the impact that any archiving activities can have on the target system. When SAP LT Replication Server replicates a table to the target system, it creates a database trigger that records any changes in a logging table. If a table is being replicated, and a record in the table is archived, the database trigger interprets the archiving operation as a DELETE statement, and SAP Landscape Transformation Replication Server deletes the corresponding record from the target table. However, you may want to prevent the record from being deleted in the target system.

Options to Prevent the Record From Being Deleted in the Target System:

1. Specify a User (SLT DMIS Version 2011 SP11 or Latest Versions)

2. Specify an Application Server (Older than DMIS 2011 SP11 Version)

Step By Step Settings:

1. Specify a User (SLT DMIS Version 2011 SP11 or Latest Versions)

If a user archives data from any table in the source system, you can prevent the data from being deleted from the corresponding table in the target system. To do this, proceed as follows:

1. In the SAP Landscape Transformation Replication Server system, open transaction LTRS (Advanced Replication Settings)

2. Select the configuration for which we wanted to apply archive settings.

3. Under Advanced Replication Settings go to Trigger Options and Double click General Settings as shown below.

4. Under Trigger Options, select the option Do Not Delete Corresponding Target Table Record.

5. Specify the relevant user (or users).

We need to add either single user or multiple user id’s which we are using for archive deletes in source system.

6. Once above settings are done please check below table checks to make sure there are no flags maintained for the field NO_DEL_TRIG. This settings should be unchecked for tables which check updated.

7.After SLT archive settings please stop and start your replication to check trigger code is re-generated with archive user deletion as shown below.

How to check Trigger Code:

  1. Login to source system and open SE11 for table which we wanted to check.
  2. Go to Utilities and Database Object then go for Display as shown below.

How to make sure our user updated in the data base table for archive exclusion:

Go to source system and display table IUUC_ARCH_USERS for entry which we updated in step 4.

8. If some reason trigger code not updated with archive user exclusion(refer step 7) then go to SLT system and execute below program for table which trigger not updated.

IUUC_REDEFINE_DB_TRIGGERS

After successful execution of above step now you can see trigger code updated with archive user exclusion for deletes.

Thanks.
Jagadeesh Mandepudi

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply