Skip to Content

SAP OData

SAP OData connections give you access to your organization’s enterprise resource planning (ERP) data.

Warning

SAP OData connections are currently only available for pipelines loading data to Iceberg destinations.

Source Setup

To create a new SAP OData connection, you need your SAP instance domain and a technical user with access to the ODP layer and the ODATA v2 services. Follow the steps below to configure your technical user with the required permissions.

Create a custom role

  1. Open transaction PFCG, enter a name for the new custom role, and choose Single Role. PFCG initial screen

  2. Open the Authorizations tab and select Change Authorization Data.

  3. Add the following authorizations:

    • S_SERVICE
      • SRV_NAME: *
      • SRV_TYPE: All types
    • S_PROGNAM
      • P_ACTION: BTCSUBMIT, SUBMIT
      • P_PROGNAM: ODQ*
    • S_DHCDCSTP
      • DHCDCSBTYP: Operational Data Provisioning
      • ACTVT: Display
    • S_RS_CDS_X
      • DDLXTRNAME: *
      • DDLXTRPART: Data Access
      • DDLXTRRELS: All values
      • ACTVT: Display
    Selecting the required SAP permissions
  4. Click Generate and save the role.

Create a new technical user

We strongly recommend creating an Etleap-specific technical user, as only one active subscription per user per ODP extractor is allowed.

  1. Open transaction SU01, enter the desired username, and choose Technical User. SU01 initial screen

  2. On the Logon Data tab, set a password. SU01 Logon Data tab

  3. On the Roles tab, assign:

    • SAP_BC_WEBSERVICE_CONSUMER
    • The custom role created above
  4. On the Profiles tab, assign:

    • S_BI-WHM_RFC
    • S_BI-WX_RFC
  5. Save the user.

Note

Prefer using an API? Go here  and select SAP OData under the Body header to start creating a connection via API.

What Data is Available?

Tip

Update-Mode Deletes Support

Deletes are supported for update-mode entities with this connector.

You can build pipelines from any ODP Extractor enabled from the SAP Gateway Service Builder (SEGW) and exposed as an ODATA V2 service through the Activate and Maintain Services (IWFND/MAINT_SERVICE) transaction.

If you’re configuring ODP services in SAP, the following SAP documentation provides step-by-step guidance:

Pipeline Mode

ODP Extractors that contain the DeltaLinksOf entity will work in update mode and Etleap will capture changes through the delta token mechanism. All the other ODP extractors will work in replace mode.

Entity Listing

The exact list of objects available for extraction depends on your SAP instance. All available ODATA V2 services are listed in the resource picker. However, Etleap can only extract from services that are also backed by an ODP extractor.

Type Mapping

The table below shows how SAP OData data types  map to Etleap data types.

Mapped Values

SAP OData TypeEtleap Type
Edm.Int16INTEGER
Edm.Int32INTEGER
Edm.Int64INTEGER
Edm.DecimalNUMBER
Edm.SingleNUMBER
Edm.FloatNUMBER
Edm.DoubleNUMBER
Edm.BooleanBOOLEAN
Edm.DateTimeTIMESTAMP_MILLISECONDS
Edm.DateTimeOffsetTIMESTAMP_MILLISECONDS
Edm.BinarySTRING
Edm.ByteSTRING
Edm.GuidSTRING
Edm.SByteSTRING
Edm.StringSTRING
Edm.StringSTRING

Key Considerations

Partition Column

Etleap can optionally leverage a partition column that you select during pipeline creation. This column is used to parallelize the initial load, which is recommended for large datasets. For optimal parallelization performance, good candidates for the partition column include numeric or timestamp fields that increase over time, such as COUNTER, CREATEDAT, or LASTUPDATED.

Avoid columns with duplicate or non-sequential values, as they may lead to uneven partitioning. String columns are also supported.

ODP Mechanism

Etleap uses the Operational Data Provisioning (ODP) architecture and the Operational Delta Queue (ODQ) mechanism to extract data. Each Etleap pipeline creates an active subscription to the queue corresponding to the ODP extractor.

  • Since each technical user can have only one active subscription per ODP extractor, Etleap allows only one pipeline per entity.
  • We recommend periodically running the ODQ_CLEANUP program to clean up old requests in the queues, especially before refreshing an Etleap pipeline.