cancel
Showing results for 
Search instead for 
Did you mean: 

Strategy for ensuring replication is complete before initating query from source system

Former Member
0 Kudos

Hi,

I am using HANA as a side-car scenario with reports running in SAP ECC being accelerated by querying replicated tables in SAP HANA instead. This works well, however I don't have a good mechanism to validate before running a report whether the underlying data has already been replicated to HANA or is still queued up.

Often users would want to run the reports soon after large data changes have been made in the source tables. It is unknown, based on the overall workload, how long it might take for the most recently written records to get replicated to the corresponding HANA table.

What is a good practice approach to handle this. I have seen some separate threads on doing record counts between HANA and ECC. I think that is not a good idea at all. Firstly, for large tables, the time overhead of doing the record count is very large. In the time it takes for me to query the record count in ECC, the HANA report could have run 10 times over. But more importantly, for very large source tables, I may have opted to only replicate more recent data, leaving old historical data from ECC un-replicated to HANA.

I know this is not a new problem. SAP must have already addressed it a number of ways for their own delivered application accelerators. The COPA accelerator for instance must be doing something along these lines. Possibly querying most recent records in ECC and comparing them to the most recent records in HANA for the same tables might be a way to go.

Does anyone else have insights into how to best approach this? Does SLT expose a mechanism to check whether replication is completed for any given table?

thanks,

Nitin Goel

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos


Hi Nitin,

SLT can never confirm whether replication is completed for any given table..Replication is a continous process,if records are there in the logging table of ECC then that will be replicated via SLT.

So the best way to check Replication completion is :

1. Go to SE16(ECC)--give the Logging table for which you want to check the replication.Copy the Logginng table from LTRC.If the number of entries is 0,then nothing is there in the logging table.

You can verify the replication in LTRC(SLT)--Expert functions to check replication is working fine or not.

2. Then go toi SE16(ECC)--Check the number of entries of the original table

3. Check in HANA--The number of entries should be same as the source table.

It takes a minute to verfify each table replication,not more than that.

Regards,

Joydeep.

Former Member
0 Kudos

Thank you Joydeep. Are you aware of any programmatic hooks/RFCs etc that have been made available to programmatically query the current replication status of any table in SLT? Does SLT expose any API?

Querying the logging table in the source system is definitely a good step to build upon. Will experiment with that.

thanks,

Nitin

Answers (1)

Answers (1)

Sandeep_Kumar
Advisor
Advisor
0 Kudos

Hi,

You can check the replication status of the required tables using LTR transaction in your SLT server or in the HANA Studio under Provisioning.

You can find more info about SLT here: http://scn.sap.com/community/replication-server

BR,
Sandeep