Logistics(LO) Extraction with ODP Framework
- Document Objective
Step by step guide to extract LO extraction through ODP in SAP BW/HANA Database.
- Introduction to ODP
Operational Data Provisioning provides a technical infrastructure that you can use to support two different application scenarios. The first of these is operational analytics for decision making in operative business processes. The other is data extraction and replication.
In the BW context, there are three scenarios. First of all ODP is used as new extraction framework in the SAP Business Suite for BW Extractors. The overall extraction framework is still the same as before. Mostly the new Operational Delta Queue (ODQ) comes here to play that provides a better option of establishing delta extraction into BW.
The second scenario is where data from a source system is real time replicated via SLT. Within SLT, ODQ can be established as well that then feeds into BW either via BW’s near real-time daemon (RDA) or into an Info provider via a DTP.
The third scenario is for analytical reporting on top of ODP Providers. This leverages the Embedded BW in a Business Suite system.
The main advantage of ODP in BW is, it allows to skip the PSA layer and load directly with DTP from the source system into BW.
- Steps to extract LO data with ODP framework.
- Check whether respective LO Datasource is ODP support or not.
Option 1:–Go to table ROOSATTR, check column EXPOSE_EXTERNAL should be ‘X’ for respective Datasource.
Option 2:– Observe an icon in RSA5 against Datasource.
2.Activate Datasource 2LIS_11_VAHDR.
3.Go to LBWE , Inactive Datasource (2LIS_11_VAHDR) move required fields from communication structure to extract structure
4.Activate Datasource (2LIS_11_VAHDR) in LBWE.
5.Create source system connection under ODP – SAP (Extractors) (With help of BASIS Team) and check the connection.
6.Replicate and Activate Datasource 2LIS_11_VAHDR into BW system.
7.Open Datasource,Go to Extraction tab and check Adapter is set to “Extraction from SAP System by ODP” (If it is blank go to change mode and set Adapter property as shown below).
8.Create dataflow in BW system.
9. Open DTP and check below parameters
- Extraction Mode – Delta
When run 1st time it extracts all records from source behaves like Init
When run 2nd time it extracts delta (new/modified) records
- Data Extraction is “Directly from sourcesystem and PSA not used”.
(This is the biggest advantage of using ODP framework, we can avoid PSA/ one layer in data warehousing and extract data directly from Source)
- Check Adapter parameter “Extraction from SAP System by ODP”.
10.To extract historical data, Plan downtime in ECC.
11.Clear setup tables in LBWG
12.Go to OLI*BW and fill set up tables.
13.Run DTP with extraction mode “Delta” ( 1st time it extracts data from setup table).
Compare with setup table records.
14. Go to t-code ODQMON (in ECC).
Can see Queue 2LIS_11_VAHDR. (Which acts also as delta queue similar to RSA7).
15.Go into Queue 2LIS_11_VAHDR, Can see Subscriber (Target system) and subscription (Respective DTP in BW/Target system).
16.Click on DTP, can see number rows transferred (12,885), size of data (3,813,960 bytes), Extraction mode type (Initial Data), Compression rate percentage.
Can explore ODQMON for other options like change layout, Request selection and filters on other parameters.
17. To check delta functionality, Created SO 4685 in VA01.
18.Run DTP with Extraction mode as Delta (this is 2nd time, it extracts delta records only).
19.Check ADSO table, as expected new record SO 4689 came to BW.
Observations/Miscellaneous points.
- We can check all requests information in ODQMON.
Please check below screenshot.
- We can see Extraction mode (Init, delta, Full)
- How many requests moved to BW side
- Lower time stamp, upper time stamp.
2.Go into Request, Please find below screenshot.
- We can see a number of rows, size transferred to BW system (Here it is 1 record for delta) so only 1 row has been shown in delta queue.
3.How to run Repair full/selective full load in ODQ framework.
Fill set up tables selectively for required records.
Create new DTP with extraction mode as ‘FULL’ and run new DTP.
4.If we delete data in BW target object, Will queue will be available in ODQMON?
NO, if you delete data in BW target, the respective queue will be deleted in ODQMON as well.
5.How to run Init without data transfer?
In DTP Extraction tab, select below Option. (Delta init without data).
Extracted 0 records.
It creates Queue in ODQMON, further Delta records will be processed to BW system.
6.How to handle error records without PSA in ODQ framework?
If DTP fails with invalid records, it moves to error stack.
Correct error records in error stack.
Create Error DTP and load to target.
7.What will happen if delta request fails and how to extract?
When you delete any delta request below pop up will come and give information that ODQ source has data only for limited time technically that is data retention period.
8.Where to check Dat retention period?
Go to T-code ODQMON—GOTO – Reorganize delta queues.
Standard data retention time is 24 hrs.
Standard period job scheduled every day at 01:23:45 System time.
9.Can ODP be deployed in parallel with the traditional delta queue approach?
Yes, it is possible but multiplies the data.
10.Should we change to ODP based extraction with all existing extractors?
No, but consider ODP as framework for all your future implementations of new data flows into you BW system for ECC and SLT extraction
11.Can I change the data in the ODQ directly?
No, this might be one use case where you would still use a PSA table in relation with ODP sources.
12.Where can I get answers for questions or requirements?◦
Please reach out to SAP : odp.feedback@sap.com
- Practical results achieved with ODP framework implementation:
- Runtime is reduced by more than 50 % compare with regular traditional approach
- Throughput of > 35 Mio records per hour is achieved w/o tuning (three times parallel processing)
- References
https://wiki.scn.sap.com/wiki/display/BI/SLT+%7C+ODP+based+Real-time+Replication
https://wiki.scn.sap.com/wiki/display/BI/ODP+enabled+extractors
https://wiki.scn.sap.com/wiki/display/BI/Technical+Requirements+for+ODP+SLT+Scenario+with+SAP+BW
https://wiki.scn.sap.com/wiki/display/BI/Introduction+to+Operational+Data+Provisioning
http://go.sap.com/documents/2015/07/dc22088c-597c-0010-82c7-eda71af511fa.html
http://go.sap.com/documents/2015/07/dc22088c-597c-0010-82c7-eda71af511fa.html
https://wiki.scn.sap.com/wiki/display/BI/Operational+Data+Provisioning+-+Troubleshooting
Hope this document helps. Forgive me for formatting issues 🙂
Hello Jay,
Can you please elaborate on below point
"If we delete data in BW target object, Will queue will be available in ODQMON?
NO, if you delete data in BW target, the respective queue will be deleted in ODQMON as well"
If thats the case then because sometime we need to delete data in BW - does it means we cannot recover it ?
Regards,
vivek
Hi Jay,
Nice blog, very helpful.
I have few questions on ODP :
Any input is appreciated.
Regards
Shankar
1.With SLT we can replicate only tables not possibe to replicate datasources.
With ODP we can replicate Datasources
2.Set selection in DTP filter.
Hi Jay,
Great post, much appreciated.
Could you please tell if we need to schedule LBWE Direct Delta jobs before running deltas?
So, once the process chain with DTP is scheduled to run once per 5mins the job in ECC LBWE should run the same or is it obsolete and ODP handles that?
Thanks in advance and kind regards,
Sebastian
Hi Jay,
I followed your procedure to do the delta init (1. fill setup table. 2. create DTP with delta extraction mode and execute). The DTP request in BW finished without errors but extracts 0 data records. And in source system, “composite request: Status” is invalid. Would you please help figure out why?
Thank you!
Best Regards,
Carina Hu
Hi,
Can we initialize a 2LIS extractor without having a downtime in ECC in ODP-enabled DTP? What I mean is, can we also do in DTP the function of “early delta initialization” in infopackage where ECC doesn’t need a downtime?
https://answers.sap.com/questions/654829/how-to-do-early-delta-initialization-in-odp-enable.html
Thank you.
Loed