SLT ODP – Real-Time Data Replication from SAP source to BW (ADSO)
In this blog we are going to discuss how to replicate real-time data from SAP Source –> BW ( ADSO ) via SAP ODP Framework.
Below are my system configuration:
ECC system: ERP 6.0
SLT Replication server: SLT 2.0 (DMIS 2011_1_731 SP13)
BW system : BW 7.5 SP 5
What is ODP Framework?
ODP supports extraction and replication of data to several Target systems and support delta queue mechanism in real-time mode. The Target system receives the data from delta queue and continue the data processing.
In my scenario, I have implemented replication on EKKO table from SAP ECC to BW (ADSO) via SLT-ODP replication server.
Step-by-step guide to replicate real-time data from SAP ECC –> SLT Replication Server –> BW ( ADSO )
2. Also make sure the Source and Target systems are correct in the configuration.
3. Make sure Basis team created Sourcesystem in BW.
Goto RSA1 -> Sourcesystems-> ODP –SLT Queue.
4. Goto DataSources -> Select the SLT sourcesystem-> Rightclick and click Create DataSource.
5. In this scenario, we are creating DataSource for table EKKO.
6. Give the Descriptions and Activate the DataSource.
7. Make sure all the Fields from Table EKKO are present in DataSource.
8. Developing ADSO in Hana Studio :
Goto HanaStudio -> Windows -> Perspective -> other Perspective-> Others -> select BW Modeling.
Goto Infoarea -> Rightclick on DataStoreObject (Advance) and create New ADSO.
9. Give all the Information to create ADSO and Click on Finish.
10 Select the required fields. If some of the objects are not needed in ADSO and click on Delete.
11. Activate the ADSO.
12. In BW, the newly created ADSO will be shown under respective Infoarea.
13. Create Transformation for ADSO – ZEKKO_A01
14. Make sure all the required field mapping are done and Activate the Transformation.
15. Create a new DTP and Activate.
16. Always the First/Initial Dataload is checked as Delta Init. And then the next loads will be deltas.
17. Once the Data loaded successfully. Click on Manage and Click on Activate button to activate the Data. Activation will be very quick and you can see Activation request.
18. After you start dataload, you can goto SLT server ( LTRC ) and click on the connection to check if the replication job is running for EKKO table.
19. After starting the DTP to load data into ADSO, you can see the replication job just started.
Here you can see the logging table & Triggers will be active to capture the Delta changes on EKKO table.
20. Also In Tcode – ODQMON, you can see how many records are replicated into SLT server from ECC – EKKO table.
Testing the Real-Time replication:
21. For testing purpose, Now Iam going to change a Purchase order in ECC via ME22N tcode, this will change the entry in EKKO table.
Before Making the change in ECC
After Making the change in ECC , the Purc.Grp is changed from 125 -> 124 in EKKO table.
22. Now Goto SLT server -> ODQMON tcode.
Here you can see the changed record will be updated in the Delta Queue.
Record type : C ( New record)
Record type : U (Updated Rec)
23. Execute the DTP again and you can see 1 record loaded which is updated in ECC. Activate the ADSO
24. In ADSO, the Purch Grp is updated to 124.
Process Chain In Real-Time Mode:
25. Create ProcessChain in RSPC.
1) Start Variant
2) DTP Load
3) Activation of ADSO
Activate the Processchain.
26. Start Variant -> immediate schedule and SAVE.
27. Click on the “Streaming” and check “Process Chain Run in Streaming Mode”.
28. Activate the Processchain & execute.
Now you can see the Streaming is “Green” and it will automatically run the processchain whenever there is a change in EKKO table
29. Now the Processchain is ready to run in Real-time mode.
After the streaming mode is Active in BW Processchain.
Make sure the below Job is Actively running in SM37 for every 15 mins in SLT server.
This Job will send an event to trigger the Processchain automatically when there is change in the SLT delta queue for particular table.
After all the above steps are done, the data will be loaded to ADSO automatically by processchain in real-time.
Thanks for sharing, using your guide is working quite well. However, I have noticed some unclear elements that you might be able to help explaining:
According to SAP help doc:
The SAP Landscape Transformation Replication Server system acts as the target system for the configuration, storing transferred data in the Operational Delta Queues (ODQ) in its own NetWeaver stack. The subscribing SAP BW system connects to the ODP interface of the SAP Landscape Transformation Replication Server system. As soon as a data source is called for replication by SAP BW, the initial load of the data is transferred from the source system into the ODQ and then to the SAP BW system. The data is always transferred from the source system to the ODQ, where it waits for the subscriber to retrieve the data. Note that if required, you can replicate data without performing an initial load, and also perform an initial load with any subsequent replication of data.
Thanks and best regards.
Good blog. But here, you are using real-time DTP in BW "this is not essentially SLT feature". Real time DTP can be used even without SLT i.e., directly connecting to a BW data source in source system. And it has downside that a dedicated job is needed in BW application server (erstwhile "not so popular" RDA).
My two cents over which approach to use when:
SLT table to table replication: has to be configured one-to-one (i.e., one source table and one target table.
SLT-ODP framework: has advantage over above approach that, it can expose table replication to variety of ODP consumers that are supported under ODP framework. - > But, does SLT take care of writing or scheduling jobs in consumer system? No. So This has to be handled by consumer. Only good use case of this approach is when you are replicating something and want to make it available for multiple consumers, at the cost of consumption passed on to the consumer.
ODP framework in source system without SLT: can expose any BW extractor, CDS views, HANA views etc. in the source system as operational delta queue in source system. Consumer can consume in similar manner as above. Only disadvantage here is, delta capability is defined by ODP source and is not a "freestyle, table logging based" delta capture as done by SLT.
I hope these points make sense, if not feel free to correct me.
Nice Blog - thanks.
Hi Ravi and All
Has some one tried to replicate the table using SLT to BODS. How does a table get enabled for ODP extraction .
For datasources we can enable them via program . How does a table get enabled ?
Thanks for sharing, your user guide is working well.
I have few clarifications, what happens when a new column is added to a table?
When we refresh the datasource and add that column in datasource and the ADSO... Will the delta process chain takes care of the data which was added during last one month.
Awaiting for your reply.