Tuesday, 9 July 2024

How to fix SLT trigger(s) in an inconsistent state in SAP SLT / SAP Landscape Transformation Replication Server ?

  Error: 

  • CNV_IUUC_REPLICATION057
  • System Landscape Transformation (SLT) triggers are in an inconsistent state. 
  • The missing trigger for table XXXXX for MT_ID XXX. Replication Suspended.”
  • You recently upgraded the HANA DB of the source system.
  • There was a change to the triggers.
  • Missing entry in IUUC_LOGTAB_ID 
  • The trigger(s) have been removed on the source system.
  • The trigger check failed when SLT tried to or did access the source system. 
  • Network issues with the source system cause the replication to be blocked and triggers become inconsistent, this is because SLT performs a trigger check to confirm the trigger exists.

Resolution


Check Trigger State: 

       Option A: on Source System:

  1. Log in to the Source system of SLT configuration.
  2. Go to Transaction SE11
  3. In the Database table section type in the table name
  4. Click Display
  5. Click Utilities (M) in the ribbon at the top.
  6. Click on Database Object
  7. Click Display
  8. Scroll to the bottom and triggers are there.
  9. Note that SLT triggers follow the notion: /1LT/<IDENT><OP> where <IDENT> is a 8 digit number Identifier and <OP>  represents the operations INS, DEL, UPD1 or UPD2

      Option B on the SLT Server

Log into LTRC
Type in Mass Transfer ID or click on MT_ID
Click on the Expert Function Tab
Click on ‘View Trigger Source Code’ (This works for both SAP & Non-SAP data source)
Confirm the 'Mass Transfer ID', type in the 'Table Name in Database' and click on the 'Active Code' radial button, and click execute (green check mark)
Note that SLT triggers follow the notion: /1LT/<IDENT><OP> where <IDENT> is a 8 digit number Identifier and <OP>  represents the operations INS, DEL, UPD1 or UPD2

One of these two things will occur:

A: If the trigger is missing on the source system, the table will need to be reloaded to ensure record consistency between the source and target system.
B: If triggers are still in the source system

  1. Go to transaction LTRC on the SLT system
  2. Type in MT_ID ( Like 002 or 001 etc)
  3. Select Administration Data
  4. Select Deactivate
  5. Click on the Expert Function tab
  6. Click on 'Reset Status for Triggers and Logging Tables'
  7. Type in 'Mass Transfer ID', 'Table Name in Database', check the box next to 'Reset "Trigger Created" Flag' and 'Reset "Failed" Flag', and click execute (green check mark)
  8. This will reset the trigger status
  9. Click on Processing Steps
  10. Create Database Trigger
  11. Enter the table and execute
  12. Select Administration Data
  13. Select Activate.
I observed that we need to follow the below steps those are related to "SLT tables are in status 'Load /Replication blocked'

  1. Log into the SLT system
  2. Go to transaction LTRC | Expert Functions | 'Reset Load and Replication Status'
  3. Fill in the MT_ID
  4. Put in the table name
  5. Uncheck the boxes under the 'Reset Status'
  6. Check the box next to the 'Reset "Blocked Data Trans." flag'