Solution for HANA Studio Tables Missing Issue in SLT Data Provisioning (Non-SAP Source System Scenarios)
These days am seeing lot of questions here in LT replication server Space about missing tables from Source even after a successful configuration.(For Non-SAP Source System Scenarios)
We had also faced a similar challenge at one of the customer site and through this document I would like to demonstrate the solution(I would say it’s work around) that was implemented to overcome this challenge.
ISSUE: Even after successful LT configuration(For Non-SAP Source System Scenarios), some tables at the source seems to be missing under the search table option at HANA studio –> Data Provisioning –> Replicate –> Find Source table.
Configurations in which the error happened :
a) HANA Studio
b) Source is a Non Sap Source System
c) LT system(installed in a separate server)
Method /workaround suggested by SAP: We had raised an internal ticket to SAP and as per their suggestion, both these workarounds were tried from our end.
Theory: Basically, during LT replication configuration, we have to give a configuration name, which appears as a schema name in the HANA studio.
In my case, configuration name was MII_EC3 and under the schema MII_EC3, you will find a table name RS_ORDER. The communication between the HANA Studio and the LT Replication Server is handled via table RS_ORDER. The master job of the respective configuration permanently checks table RS_ORDER for new entries. In case of new entries, the requested action will be processed and the record will be deleted from RS_ORDER. Therefore RS_ORDER contains only those data provisioning requests, which are not yet handeld by the LT Replication Server.
Solution: since the missing tables is not having an entry in RS_ORDER, we will manually provide an entry using the INSERT SQL command like follows:
insert into “<TARGET_SCHEMA>”.”RS_ORDER” values(‘SID’,’hostname’,’tablename’,0,’R’,”,”,”)
Here Target_Schema: configuration name/HANA schema name
Source System ID (SID) can be derived from table “SYS_REPL”.”RS_REPLICATION_COMPONENTS” field SID.
Hostname of the Source System (CI_HOST) can be derived from table “SYS_REPL”.”RS_REPLICATION_COMPONENTS” field CI_HOST.
Table name is the missing table which we want to manually insert into the table RS_ORDER.
Once this sql is inserted, you will find the table in the RS_ODDER.
Now, We can start the replication using the following.(TCODE LTRC)
Below are the key points for non ABAP source systems related to LT Configuration.
1. The fundamental concept of the trigger-based replication is designed as for ABAP source systems. And the main differences here is that the connection is a database connection (no RFC connection) and the read modules reside on the SAP LT Replication Server.
2. In case of non ABAP source system, tables DD02L, DD02T which include the metadata of the tables , are just initially loaded and not automatically updated.
3. Newly created tables after successful configuration in SLT will not be automatically updated.
Now our job is to adjust the DD02L, DD02T mechanisms.
Thankfully SAP has come up with the following note to solve this issue:
This Note basically contains a Program which needs to be copied and has to be recreated in SLT system using SE38.
Once the Program is executed, you will be prompted for a configuration ID, which in our case was 15.
Screenshot(Before implementing the solution)
Screenshot(After implementing the solution)
Once that step is done, you will now be able to see all the missing table from that Non-SAP source.
In my Personal Opinion, the 2nd Solution would be the best one as it avoids lot of intermediate steps and all the missing tables will appear as soon as the Program is executed.
Hope this will help you out when you face a similar issue next time.