• 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.
  1. 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.

  1. 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

http://scn.sap.com/community/bw-hana/blog/2015/11/26/faq-sap-bw-operational-data-provisioning-framework-odp

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://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/00132716-9f5b-3210-87a3-ef14434124b4?QuickLink=index&overridelayout=true&59661390720777

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

http://help.sap.com/saphelp_nw74/helpdata/en/d9/0da4dd2c4743948e3f018c90a235d7/content.htm?frameset=/en/b2/57d700e8534f77af91db0195e24047/frameset.htm&current_toc=/en/6d/ad05874f344592b42abc729eeadd4c/plain.htm&node_id=27&show_children=false

https://wiki.scn.sap.com/wiki/display/BI/Introduction+to+Operational+Delta+Queues#IntroductiontoOperationalDeltaQueues-MonitoringDeltaQueueRequests
Hope this document helps. Forgive me for formatting issues 🙂

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

  1. vivek singh

    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

     

    (0) 
  2. Shankar Chintada

    Hi Jay,

    Nice blog, very helpful.

    I have few questions on ODP :

    1. We are trying to use ODP/SLT scenario using BODS, do you have any insight on this scenario?
    2. How to filter the data in ODP extraction based on different table lookup.

    Any input is appreciated.

     

    Regards

    Shankar

     

    (0) 

Leave a Reply