Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
raphael_walter
Advisor
Advisor

A few months back I authored a post detailling the process of data replication from an ECC or S4 system into Google Big Query through the utilization of SAP Data Intelligence. In this prior post, I used a data pipeline for replication, specifically chosen to accommodate the requirements of Google Big Query as a target (it would have been the same for a Snowflake target). But for other targets, I could have used a feature known as Replication flow.


As you are aware, on the 8th of March, SAP made a significant announcement concerning the release of SAP Datasphere. This innovative evolution of SAP Data Warehouse Cloud incorporates several key attributes from SAP Data Intelligence, including Replication Flows. Currently, this feature facilitates data replication within SAP Datasphere itself, SAP HANA Cloud, SAP HANA Datalake Files, or SAP HANA (On Prem). Notably, the roadmap for Q4 2023 includes the expansion of target options to encompass Google Big Query, Google Cloud Storage, Amazon S3 and Microsoft Azure Data Lake Storage Gen2.


Quickly, customer inquiries came in, centered around the methodology of data replication utilizing the capabilities of SAP Datasphere. For an S/4HANA system, achieving this task becomes straightforward through the use of CDS ( Core Data Services). The core purpose of SAP Datasphere is to provide a Business Data layer for our customers, for them not to have to replicate table to table and go thru the laborious and error-prone process of building models but rather give them out of the box directly usable data. But still, among these questions, one particular focus was the replication of data from an SAP ECC source, more precisely, a table-to-table replication. Although I would strongly not advise to replicate table to table in a datalake and have the modelling done there, it is still an architecture model that we see. Maybe not for many years, as more and more customers will move to S/4HANA but still, it is a valid question.


For these customers, here is a blog explaining how to perform this table to table replication from an ECC system with SAP Datasphere using Replication Flows.


*IMPORTANT NOTICE*


EDIT (28/11/2023) : This blog has generated more impact than any of my other blogs, and received a lot of email asking for further explaination in terms of how I did this. Some customers where not able to see SLT as an option for replication flows on ECC systems. This is because you do not have a supported version of the DMIS addon. Here is the explained architecture used to implement Replication Flows for ECC systems.


If you look at the sap note 2890171, you will see that for using Replication flows with the SLT connector Operator, you need to have an SLT system with DMIS 2018 SP06/DMIS 2020 SP03 or higher. Unfortunately you cannot install such DMIS versions on an ECC EHP8 ( having a NW 7.5 and the maximum version of the DMIS being a DMIS 2011). So for this POC, I had to use a separate box with a NW 7.52 where I installed a DMIS 2018 and then connected my ECC thru RFC in SM59 to this SLT box.


And remember that you also need to have on the ECC box a DMIS version that is valid with the DMIS version on the separate STL box. For example, in this POC I used a DMIS 2018 SP06, and here is the SAP note for this DMIS verion's Source Compatibility - SAP Note 3010969. Meaning in this example, that I needed a DMIS 2011 SP18 or higher on my ECC source system.


As SAP Datasphere customers are entitled to have an SLT runtime license, just like for SAP Data Intelligence, this is a valid setup, the only drawback is you need a separate SLT box and to have the valid DMIS versions both on the ECC system and on the SLT system for the SAP Datasphere Replication flows. I hope this makes everything a little more clear.


Before starting, I would like to thank Olivier SCHMITT for providing me with the SAP ECC system, along with the DMIS Addon and also for doing the installation of the SAP Cloud Connector, SAP Analytics Cloud Agent and SAP Java Connector on this box.


I would like also to thank Massinissa BOUZIT for his support thoughout the whole process.


Here is the video :



EDIT (21/08/2023) : Contrary to what I say in the video and as noted by a reader in the comments, the SAP Analytics Cloud Agent and SAP Java Connector are not needed for this specific use case of SAP Datasphere replication flows. You can skip these steps also in the SAP Cloud Connector Configuration and you don't need to specify and enable the Agent in On-Premise Data Source configuration on the SAP Datasphere Administration. 


So first you will have to log in your SAP Datasphere system and go to "System", "Administration" and choose "Data Source Configuration".




Here you will find several information, Subaccount, Region Host and Subaccount User (you will also need the subaccount user password)





After that you will have to install in your On Prem architecture the SAP Cloud connector, you will also need a SAP Analytics Cloud Agent, and the SAP Java Connector. I won't go through this process as you can find documentation about this.





https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/7c35129451f5432194773...





As explained before in the begining of this blog, you also will need an SLT system or to install the DMIS Addon on a seperate system with a version DMIS 2018 SP06 / DMIS 2020 SP03 or higher. And once again, since the DMIS 2018 SP06 requires a minimum version of NetWeaver 752, you cannot install the DMIS addon on your ECC system, ECC EHP8 only supports NW 750.


For this POC, I have the DMIS Addon on a different box( (an S/4HANA system), and defined my ECC as an RFC connection.


I am sorry for the confusion as many customers tried to follow this blog with a DMIS 2011 on their ECC box and couldn't see SLT as an available option for their replication flows.





So back to the process, log into your installed SAP Cloud Connector.





Add your SAP Datasphere Subaccount, using all the information we got on the SAP Datasphere system and give it a specific Location ID, make note of this, you will need afterwards.




Now go to configure the Cloud to On-Premise for the Subaccount that you just created, for that click on Cloud to On-Premise, and select subaccount.




Add two Virtual mapping to internal systems. One for your SLT or DMIS addon, and one for the SAP Cloud Connector Agent. In my case, the DMIS Addon is on a different box than my SAP ECC system, I called it ecc6ehp8 but it's actually a S/4HANA sytem. You have then to enter the following ressources for the SAP system, as explained in the help.





https://help.sap.com/docs/SAP_DATASPHERE/9f804b8efa8043539289f42f372c4862/f289920243a34127b0c8b13012...





For the SAP Analytics Cloud agent, you will also have to enter a ressource.




https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/8d8511532794429caa243...





All the setup on the SAP Cloud Connector is done, we can go back to SAP Datasphere.





Here we are going to configure the location we created in the SAP Cloud Connector. Go back to system, administration, data source configuration and at the bottom, add a new location :



Use the same location ID as in the SAP Cloud Connector, for the host, the one of your SAP Analytics Cloud Agent, with user and password. By default, this is Agent/Agent.



Check that everything is working




Now we can create the connection to our ECC system (actually to the SLT system)





Use all the information given in the SAP Cloud Connector, location ID, the virtual name you used for your mapping, etc... of course, don't forget to configure the SAP Cloud connector! 




Verify your connection and validate that the Replication flow are configured correctly.



Now we can go to configure the SLT system, launch transaction SM59 :



Add a new ABAP Connection to your SAP ECC system :


Now go to transaction LTRC, the SAP Landscape Transformation Replication Server Cockpit and create a new configuration.



Give it a name and click next.



Select the RFC connection that you just created in transaction SM59 to your SAP ECC system :



For the target system, choose "Other" and "SAP Data intelligence (Replication Management Service)". As explained in the introduction, this is a feature coming from SAP Data Intelligence that was implemented in SAP Datasphere.



Specify if you want real time or not, please note that currently there is a limitation of one hour even with Real Time turned on for replication.


Finish and make note of the mass transfer ID of your configuration. We will not be adding tables here as this will be done on the SAP Datasphere side. Note also that you can see "NONE" as a target, although we specified SAP Data Intelligence Replication Management Service, this is normal.



All the configuration steps are finished now, we can start replicating our data. Please note that for big tables, like MARA in this example, you will have also to partition your table to avoid getting an error message and having the replication flow to fail. I will not go into the details of partitioning your tables. For small tables, this will not be an issue.





Back to SAP Datasphere, go to Data Builder and create a new Replication flow :



Select your source :



Select the connection you created previously :



Select the source container :



Select SLT as a source container and then the mass transfer ID of your configuration on the SLT system you previously created :


Add the source objects :



Search for the tables you wish to replicate, select them and add them :



Select again on the next screen and add the selection :



Specify the behavior of your replication flow (Initial Load, Deta):



And select your target, in my case, SAP Datasphere itself.




Now, save, deploy and run! You can go to the Data Integration Monitor to see if everything is going smoothly.



Go to Flow monitor and select your replication flow :



As I said, the many errors you see below are because I didn't partition my MARA table which was too big. When I did, I all worked.


Go back to Data Builder and verify that the data was loaded correctly.



Click to preview you data and you should be all set!



I hope that this was useful for you. Don't hesitate to leave a comment if you have a question. Once again, I would like to thank Olivier SCHMITT for providing me with the SAP ECC system, along with the DMIS Addon and also for doing the installation of the SAP Cloud Connector, SAP Analytics Cloud Agent and SAP Java Connector on this box. I would like also to thank Massinissa BOUZIT for his support thoughout the whole process and especially with the SLT configuration and for partitioning the table MARA for me.


And if you wish to learn more about SAP Datasphere, find out how to unleash the power of your business data with SAP’s free learning content on SAP Datasphere. It’s designed to help you enrich your data projects, simplify the data landscape, and make the most out of your investment. Check out even more role-based learning resources and opportunities to get certified in one place on  SAP Learning site.


 

28 Comments
Cocquerel
Active Contributor

What is the purpose of "Analytics Cloud Agent" for datasphere replication flow ? Looking at datasphere documentation, I didn't find any mention of this component, it is only mentioned in SAP Anlytics Cloud documentation. Also, I wonder if it is really required to "enable agent" when creating the location in datasphere.

MKreitlein
Active Contributor
0 Kudos

First of all: Great Blog. Thanks for sheding a light on these details!


It seems you are quite an expert in this area?


Maybe you could also help me find an answer to this question? https://answers.sap.com/questions/13947890/sap-datasphere-how-to-find-required-updates-for-th.html


Like you wrote that the Replication Technology comes from Data Intelligence I think my assumption is right, but I would like to make sure, before asking my colleagues to import ~100 notes 🙂


As of now I've got 4 different issues in replication flows and if only the system (S4HANA ON PREMISE 2021 02 (05/2022)) needs to be updated, this maybe would solve some of them.


Thanks, Martin

saminenikranthi
Explorer
0 Kudos

Nice explanation may I know how to do table partition?

Siarljp
Active Participant
0 Kudos

Table partitioning is really a HANA DBA / Basis task, it is similar to creating indices on your DB and there are quite a lot of technical alternatives to consider, as well as usage patterns of the table you are partitioning. Setting up a partition incorrectly on a big table could lead to overall system performance issues... There are many detailed HANA notes on how to setup partitions, but really you are best to talk with a HANA DBA.

raphael_walter
Advisor
Advisor

Hello Michael,


You are absolutely right, the SAP Analytics Cloud Agent is not needed for SAP Datasphere replication flows, hence neither is the SAP Java Connector. I'll update the blog accordingly. Thank you for your comment! 


Best regards

raphael_walter
Advisor
Advisor
0 Kudos

Hello Kranthi,


As I replied directly on Youtube, I actually did the partitioning on the SLT side. You can launch transaction LTRS, select your mass transfer ID, and specify your Performance Options on the table you wish to replicate. Depending on the use case, in replication options, or initial load, I used ranges in this demonstration.


Best regards

raphael_walter
Advisor
Advisor
0 Kudos

Hello Julian,


Thank you for your response, you are right but as this for an ECC 6 system, it is not necessarily an HANA DB underneath. Fortunately, you can also set "partitions" in transaction LTRS of SLT on the performance options of your mass transfer ID.


Best regards

0 Kudos

Hi Raphael WALTER,


Really nice blog. I have an requirement to extract data from SAP IBP to SAP Datasphere. We are following different approach by using SAP CPI-DS as ETL tool. In CPI-DS we are extracting data and loading into Datasphere tables.


By reading your blog, i came to know we can replicate S4HANA tables/extractors in Datasphere, then we can create replication/data flows in Datasphere.


In SAC we have an option to import SAP IBP objects for reporting purpose, but there is no such option in Datasphere.


We tried to create a direct connection to SAP IBP, but it doesn't work in Datasphere. please let know, if you have any idea. 


 


Thanks


Guru

raphael_walter
Advisor
Advisor
0 Kudos

Hello,


Have you tried to connect it with a generic oData to IBP APIs :


https://api.sap.com/package/IBPAPIService/odata


Also have a look here :


https://blogs.sap.com/2021/05/26/access-sap-ibp-master-key-figures-data-using-odata-integration/


Best regards,


 


Raphaël WALTER

raphael_walter
Advisor
Advisor
0 Kudos

Hello Martin,


Sorry for taking time to answer you, unfortunately, I do not have the answer and couldn't find it either.


Have you tried without running the notes?


If it doesn't work, then try with them.


Best regards,


Raphaël Walter

0 Kudos

Hi,


I tried to partition table in LTRS, but It still failed with error "no source partition is available...".


Could you show me detail screen of partitioning MARA table in performance options at LTRS?




Regards,


Youngseol

raphael_walter
Advisor
Advisor

From what I see, you are with an S/4HANA system, this blog was for an ECC 6 EPH8 source with a DMIS 2018 addon.


In this specific case of ECC 6 EPH8 along with DMIS 2018, here is the performance options that I've used. I've ranged the material number into 3 parts :



And this is the result :



But your comment makes me understand that I should also do a blog also for S/4HANA and show the differences. Thank you


Best regards,


Raphaël WALTER

hasba_younes
Participant
0 Kudos

Hello Raphael,


 


nice blog thanks for sharing, i'm wondering if this is a realtime data replication? in the SLT Configuration you selected real-time.


as far as i know the replication flow  delta runs only every 60 mins.


 


are you able to make a real time replication in the remote table?


 


thank you & best regards


Younes

raphael_walter
Advisor
Advisor
0 Kudos

Hello Younes,


You are absolutely right, although I selected real-time replication in SLT, on the SAP Datasphere part, if you are using replications flows just like I am doing here, after the initial load, the system checks for source data changes (delta) once every 60 minutes and copies the changes to the target.


https://help.sap.com/docs/SAP_DATASPHERE/c8a54ee704e94e15926551293243fd1d/3f5ba0c5ae3944c1b7279bb989...


And if you are using the DP Agent for replications, you also have a limitation of a minimum of 60 minutes:


https://me.sap.com/notes/3155988


These are parameters that we cannot, at least as of today, change.


Best regards,


Raphaël WALTER

MKreitlein
Active Contributor
0 Kudos

Hello Raphael,


FYI: I got feedback via my Technical Account Manager:


Yes, that note analyzer report for the DI scenario should provide the baseline support. Also check the central note for DI/DSP here for any other updates: https://me.sap.com/notes/2890171


BR, Martin

MKreitlein
Active Contributor
0 Kudos

Hello Raphael,


one more question regarding this 60 minutes "limit" - maybe you can incorporate this topic also to the next blog about the replication from S/4HANA 😉


--> What happens if the replication "starts" but e.g. the Datasphere cannot be reached? Either due to network issue or Cloud connector unavailablility, etc.


This would benefit to a deeper understanding of data replication.


Thanks, Martin

raphael_walter
Advisor
Advisor
0 Kudos

Hello Martin,


Thank you for taking the time to let us know. 🙂


Best regards,


 


R.

rajeshps
Participant
0 Kudos

But what is the best recommended approach to get real time replication feed in case of large volumes from SAP MDG, SAP S4HANA, SAP HANA via SAP DI? raphael.walter


RFC, IDOC, HTTP does really work well with large volumes
raphael_walter
Advisor
Advisor

Hello Martin,


Since it is SLT ( DMIS ) which is handling the log table of modifications on the source table, from my understanding, I assume the replication will start again when datasphere is reacheable and running.


I'll ask this question, when I have the PM on the line.


Best regards,


Raphaël

raphael_walter
Advisor
Advisor

Hello Rajesh,


Good question, as of today, in the specific case of replication from an SAP S/4HANA with actual real time replication, SAP Data Intelligence would be a good option in my opinion.


If you don't need real time replication, SAP Datasphere with it's replication flows, federation capabilities (import entities) and it's capacity to get data context from CDS is a good option, and I think we'll see more and more features coming in the future.


Best regards,


Raphaël

n_gaertner
Employee
Employee

Hello Raphael,


instead of changing to reading type 1 you should stick with the reading type that is set by Datasphere (4 or 5).


Just set a appropriate package size and let SLT decide the parallelization and ranges - no need to set these ranges manually.


Best Regards,


Nico

rajeshps
Participant
0 Kudos

raphael.walter


n.gaertner


youngseol.sohn



For real time replication with S4HANA, MDG & BW4HANA systems via SAP DI which of the following is better and best option wanted to hear from SAP Labs expertise like you? I'm asking for large volume flows


1) ODP reader

2) SLT

3)CDS Reader

4)abap operator/custom via RFCor HTTP


or direct connection between erp's(s4hana->bw4hana) via RFC is better? ?
bhat_vaidya2
Active Participant
0 Kudos

Hi Raphel,


Thanks for the very nice blog. Is it possible for you to create a replication with Load Type Initial and Delta. 


I do not have issue creating only initial load.


I have tried but getting error related to partition. I have tried to apply partition in LTRS and it didn't help


 



 


I have also tried to apply partition command.

raphael_walter
Advisor
Advisor
0 Kudos

Thank you Nico, you are absolutely right.


Somebody asked me where they could find the advance replication settings...


In LTRC, after selecting the mass Transfer ID, click on goto and then advanced replication Settings



 

cmangold2024
Member
0 Kudos

Hello Raphael


thank you for your detailled blog.


 


I have the same issue "


Task Status Information: No source partition is available. Replication runs will restart on 06-Nov-2023 at 16:13:25 UTC." on init load on BSEG table.






prateek_bagora1
Discoverer
0 Kudos

Hello Raphael,


Thank you for sharing this useful blog.


We are trying to replicate tables from our SAP ECC EHP8 system to our SAP Datasphere tenant using Replication Flows following the suggested steps. We are using an SAP SLT DMIS 2018 SP09 system as an intermediary to facilitate this. However, our Replication Flows are failing with error: “failed to create graph”.



Do you have any insights on this? Please let me know if any further information is required.


Best Regards,


Prateek Bagora

former_member607993
Contributor
0 Kudos

raphael.walter


n.gaertner


youngseol.sohn


For Real time replications with S4HANA, MDG and ECC systems via SAP DI which of the following is better and best option wanted to hear from SAP expertise like you? I'm asking for large volume flows and in terms of robust and resilience.


1) ODP reader via SAP DI

2) SLT via SAP DI

3)CDS  via SAP DI

4)abap operator/custom via RFCor HTTP

5) Smart data access via adapter

6) smart data integration via DP agent adapter



or direct connection between erp's(s4hana->bw4hana) via RFC is better? ?


Also how about send real time data replication from NON SAP, is it vis SAP DI only to HANA Schema in datasphere?
tomas_koubek
Explorer
0 Kudos

Hello Raphael


Is ECC EHP8 a must or ECC EHP7 works well too ? 


Best Regards


Tom