Skip to Content

Hello All,

Do you know … What is ODP? Or How does ODP work? Or how you can use it? What are the prerequisites? What impact will it have…

Well… working as Development Manager in the SAP BW/4HANA Data Warehousing Development, I have received many questions on that topic in the last years. Please let me therefore share some important information with all of you:

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 (see Introduction to Operational Data Provisioning for more information).

The other very prominent application scenario is data extraction and replication: Operational Data Provisioning supports extraction and replication scenarios for various target applications and supports delta mechanisms in these scenarios. In case of a delta procedure, the data from a source (the so called ODP Provider) is automatically written to a delta queue (the Operational Delta Queue – ODQ) using an update process or passed to the delta queue using an extractor interface. The target applications (referred to as ODQ ‘subscribers’ or more generally “ODP Consumers”) retrieve the data from the delta queue and continue processing the data.

With SAP BW/4HANA, Operational Data Provisioning (ODP) now becomes the central infrastructure for data extraction and replication from SAP (ABAP) applications to a SAP BW/4HANA Data Warehouse. Already with SAP BW we recommend customers to use ODP for the implementation of new extraction and replication scenarios from SAP (ABAP) applications.

For the many more detailed questions on architecture, scenarios, implementation, prerequisites and availability we have compiled an FAQ document that we want to share with you now. Please find the full document here:

Operational Data Provisioning – FAQ

Feel free to comment on this FAQ list below. We are happy to update the FAQ list, as it is a living document.

To report this post you need to login first.

20 Comments

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

  1. Abhishek Hazra

    Good info Rudolf, may be you could give some insight about if an existing datasource can be converted to an ODP datasource? We are currently in analysis phase of feasibility study of moving to ODP datasources, & here I am talking with respective to HANA source system.

    Best Regards,
    Abhishek

    (0) 
    1. Rudolf Hennecke Post author

      Hi Abhishek,

      There is no need to convert a Service API DataSource (aka “Extractor”). It only needs to be  released for ODP (see SAP Note in FAQ Document). You can then connect that DataSource to any BW using the ODP-SAPI Source System in BW.

      In case you want to convert from a running SAP Source System delta load (including delta queue) to the same delta load based on an ODP-SAPI Source System you can use the most recent version of our BW/4HANA conversion tools.

      Best regards,

      Rudolf

      (1) 
  2. Former Member

    Hello,

    Assuming we have 2 BW systems.  1 BW Classic and the other BW/4 HANA.   And we want to use the same Busines Content extractor for both but 1 is ODP and the standard?  Is this possible?

    Thanks in advance.

    Best Regards,

    Rose

    (0) 
    1. Rudolf Hennecke Post author

      Hi Rose,

      Yes, it is possible, but it will multiply the data. ODP is a new source system for BW and would add the DataSource in a new context to the system.

      Please also note that there is a few Business Content DataSources (Extractors) that do not support multiple delta initialization for several (target) BW or BW/4HANA system. For more information see SAP Note 1932459 – BW DataSource: Loading of data into multiple BW target systems is not supported.

      Best regards,
      Rudolf

      (0) 
  3. Former Member

    Hello Rudolf,

     

    I have two small questions for you :

    • If we have enhanced a standard SAP datasource with an append structure and via user exit function module or BAdI, will it still work using ODP ?
    •  How does the Operational Delta Queue handle the case of deleted records for SAP standard datasources and for generic datasources ?

    Thanks in advance

    Kind regards

    Philippe

    (0) 
  4. Former Member

     

    Hi Rudolf,

    I have not been able to find a document explaining master data delta using ODP. For example 0WBS_ELEMT_ATTR is currently delta enabled however when using ODP it only allows FULL loads. Is there a way to enable delta for master data?

    Thanks

    Bryn

     

    (0) 
    1. Rudolf Hennecke Post author

      Hi Bryn,

      The delta procedure that a Business Content Extractor supports is defined in its metadata in the Service API Framework (table ROOSOURCE-DELTA). This delta method should be available independently of whether the Business Content Extractor is extracted via an SAP Source System or via an ODP-SAPI Source System. Do you have a reproducible example? What is the source system release? What is the (BW) target system?

      Best regards,
      Rudolf

      (0) 
    1. Rudolf Hennecke Post author

      Hi Anup,

      Upon replication of DataSources for a given ODP Provider Context to a target system (e.g. BW or BW/4HANA) you will see the delta capability per individual DataSource.

      In general the following applies per ODP Provider context:

      • ODP-SAPI: The delta method (if available) is defined in the extractor metadata. See standard documentation or table ROOSOURCE-DELTA in the source system
      • ODP-CDS: The respective DataSource is delta enabled in case the underlying ABAP CDS View is annotated for delta extraction (see the How to Guide referenced in the ODP FAQ document)
      • ODP-SLT: Is typically per default delta enabled as SLT is about realtime (delta) replication to the Operational Delta Queue (ODQ)

      Even in case where a DataSource is only full enabled you can define a “Generic Delta” procedure in the DataSource Maintenance on BW or BW/4HANA side in case the DataSource contains a field such as date, timestamp or counter that can be used for delta derivation.

      Best regards,

      Rudolf

      (0) 
  5. Former Member

    Hello,

    We have an ETL tool which uses the RFC NetWeaver SDK 7.21 for data extraction from SAP System.

    However we need to support the SAP BW Standard Extractors ( SAP ODP Extractors ) for data extraction from our Application.

    We would like to use RFC function modules from SAP ODP API’s 2.0.

    Below are the function modules which can be used for data extraction from ODP Extractors.

    1. RODPS_REPL_ODP_GET_SUBSCR
    2. RODPS_REPL_ODP_GET_DETAIL
    3. RODPS_REPL_ODP_READ_DIRECT_XML
    4. RODPS_REPL_ODP_OPEN
    5. RODPS_REPL_ODP_FETCH
    6. RODPS_REPL_ODP_CLOSE

    We might need to use some more functions as well.

    From the SAP Note 1931427 – ODP Data Replication API 2.0. Those RFC function modules can be used for RFC Client applications.

     

    However from one of the SAP ODP FAQ documents says that SAP ODP API’s is restricted to SAP Applications and not used by 3rd party party ETL Tools.

    Can we use those RFC Function modules for RFC Client application ( ETL Tool) ? If this is not way the correct way then which approach we should use for data extraction from SAP ODP Extractors ?

     

    Thank you in advance.

     

    Regards,

    Sachin

     

     

     

    (0) 
    1. Rudolf Hennecke Post author

      Hi Sachin,

      The document is correct: the ODP API is an SAP internal interface that is only available for SAP Products such as SAP DataServices or SAP HANA Smart Data Integraton. The ODP API can’t be used by 3rd party ETL tools. Overall, there is no public interface for 3rd party ETL tools to directly connect to Business Content Extractors.

      Best regards,

      Rudolf

      (0) 
      1. Jan Van Ansem

        Hello Rudolf,

        I notice you mention an ODP API for SAP Data Services and for HANA Smart Data Integration – but I can’t see these interfaces. There is a ‘ODP – other Contexts’ node in RSA1. Should I go down that route to connect SDI / Data Services?
        I can’t find any documentation on connecting either SDI or Data Services directly to BW/4HANA so if you have any information on this that would be very welcome.

        My current understanding is that neither product can load into BW/4HANA directly – you would have to load into HANA tables first and then integrate the data in the BW/4HANA context. Obviously this has license implications….

        Thanks in advance for your help on this.

        Jan.

        (0) 
        1. Rudolf Hennecke Post author

          Hi Jan,

          Yes, you are right. The ODP API that I mention (and that is only available for SAP DataServices and SAP HANA Smart Data Integration (ABAP Adapter)) extracts from ODP (Providers) such as S-API DataSources (Extractors), BW InfoProviders or ABAP CDS Views.

          It is not meant to load data into BW/4HANA. Your current understanding from above is also correct. At this time, SAP Data Services (or other tools) can write to a HANA Table from which BW/4HANA can retrieve the data again. The former BAPI Source System in SAP BW is not available in SAP BW/4HANA. We are planning to offer a direct load into BW/4HANA with our next major release in 2019 (current planning – subject to change).

          Best regards,

          Rudolf

          (0) 
      2. Former Member

        Dear Rudolf,

        Thank you very much for the information that you have provided.

        As per the update we cannot use the RFC Function modules to extract the data from SAP ODP Extractors.

        Is there other way to extract the data from the SAP ODP extractors to other external applications. I saw using OData we can extract the data of ODP extractor to other non ABAP Applications

        https://help.sap.com/viewer/ccc9cdbdc6cd4eceaf1e5485b1bf8f4b/7.5.9/en-US/11853413cf124dde91925284133c007d.html

        Please can you suggest which will be the best way to extract the data from SAP ODP Extractors ?

         

        Thanks again for your help.

         

        Regards,

        Sachin

         

        (0) 
        1. Rudolf Hennecke Post author

          Dear Sachin,

          Yes, there is ODATA support for retrieving data from ODP Providers such S-API DataSources (Extractors).

          But as said above, there is however no public (ABAP) interface for 3rd party ETL tools to directly connect to Business Content Extractors. There has never been an interface in the former Service API Context (-> related to the SAP Source System in SAP BW). By interfacing the Service API Extractors with ODP we offer now only that internal ODP API that SAP Data Services and HANA Smart Data integration can use.

          So in order to read from Business Content Extractors either SAP BW, SAP BW/4HANA, SAP DataServices or SAP HANA Smart Data Integration has to be used.

          Best regards,

          Rudolf

           

           

          (0) 
          1. Luis Loebel

            Hi Rudolph, thanks for the given information.
            So does it means that ODP could not be used as a source of data for an Oracle database for example?
            Which should be the best approach to send data from BW4 to Oracle in a daily basis?

            Thanks in advance,

            Luis Loebel

            (0) 
  6. Claus Hornung Eriksen

    Hi Rudolf,

    Is there any way to see any new delta records (not yet extracted to the subscriber) in ODQMON as we can in RSA7? Or just a way to know if new records exist? In ODQMON I can only find the delta records that was already extracted.

    If ODQMON was only designed to monitor the Delta Queue Requests, How then do you monitor the actual delta queue?

    Example:

    LO Cockpit DataSouce 2LIS_05_QE1 in update mode Queue Delta. On every run of the update job, new delta records get collected to the delta queue. In RSA7 we can see these new records. In addition the column Total (LUWs) gives us an indication of whether new records are sitting in the queue. Two consecutive delta extractions will reset the counter.

    Thanks,

    Claus

    (0) 
    1. Rudolf Hennecke Post author

      Hi Claus,

      Yes, you are able to see this in ODQMON. Using Provider = BW Data Source, Subscriber Type = SAP Business Warehouse (in case your target is SAP BW what I assume) you will get a list of all your queue.

      Then, please click on the queue you are interested in and you will get a list of subscribers (in case of a target SAP BW this is all the DTPs that load in active delta mode from this queue).

      Clicking on one of the subscribers you will then get a list of requests. In this list you can see whether a request has been extracted successfully to SAP BW (status: confirmed) or whether the request has not been transferred (confirmed) yet.

      Best regards,

      Rudolf

      (0) 
      1. Claus Eriksen

        Hi Rudolf

        Thanks for explaining. I get the idea now, but on our system it do not behave this way. I only see the confirmed requests, never requests that are “unconfirmed”. When I run delta update from BW, a new confirmed request is added to the existing list of confirmed requests. This do not allow me to see if data is sitting in the queue.

        Before delta update:

        After delta update:

         

        (0) 
  7. Peter Hanak

    Hi Rudolf. Thanks a lot for sharing this info on ODP extraction. I have a specific question related to custom a extractor. I have developed a custom extractor which is feeding up a RSA7 delta queue automatically (through BTE or any in other update task on ERP) via a FM RSC1_TRFC_QUEUE_WRITE. Would this still work once we decide to release it for ODP? In other words, is there a way we can trigger ODP queue for custom extractor within an ERP update task e.g. at Purchae Order creation/change or goods receipt as I am doing it now? If there is a way of doing it, could you please share some details?

    Thanks a lot and greetings,

    Peter –

    (0) 

Leave a Reply