Ellipse Gradient for Header
SAP ECC logo

SAP ECC Integration Guide

Integrate SAP ECC with enterprise applications through configured OData, SOAP, asynchronous SAP interfaces, files, and scheduled workflows.

SAP ECC integration options at a glance

SAP ECC commonly integrates through SAP NetWeaver Gateway OData services, SOAP web services, asynchronous mechanisms such as IDocs and queued processing, and configured file exchanges. OData services can support querying, paging, creation, updates, navigation, and batch requests where enabled. SOAP services may expose standard or custom SAP business logic through WSDL contracts. SAP-originated callbacks are implementation-specific and may use IDocs, workflows, SOAP calls, or custom HTTP logic rather than a universal webhook model. Martini can consume the available HTTP APIs, expose APIs for SAP or middleware, schedule incremental synchronization, transform SAP formats, and route asynchronous messages through intermediary components when direct RFC, BAPI, or IDoc handling is required.

Integration pointSupported by SAP ECC?Common use casesHow Martini supports it
REST APIs and OData servicesYesSAP NetWeaver Gateway OData services can query, create, update, and sometimes delete business data. Filtering, paging, navigation, function imports, batch requests, and CSRF protection depend on the activated service and ECC landscape.Martini can consume the configured OData endpoint, handle authentication and CSRF tokens where required, paginate results, map responses, and orchestrate downstream writes.
SOAP APIsYesSAP NetWeaver can expose standard or custom SOAP services based on WSDL contracts, including service definitions built around SAP business logic or function modules.Martini can consume SAP SOAP services using the service contract, configured endpoint, namespaces, credentials, and certificates, then transform SOAP responses into downstream models.
Webhooks and outbound callbacksLimitedSAP ECC can initiate outbound communication through IDocs, workflows, SOAP callbacks, custom ABAP HTTP calls, or middleware. It does not provide a universal webhook model for every business event.Martini can expose a REST API or receive HTTP callbacks when SAP or an intermediary is configured to send them. Martini can validate, route, and process the notification.
Bulk, asynchronous, and batch processingYesIDocs, background jobs, tRFC, qRFC, periodic extraction, file exchange, and OData $batch requests where supported enable asynchronous or batch-oriented processing.Martini can schedule workflows, process batches, maintain checkpoints, apply bounded retries, and reconcile accepted submissions with later SAP processing status.
File and attachment exchangeLimitedConfigured application-server or external file locations, batch programs, middleware, and object-specific document services can support file exchange and attachments.Martini can orchestrate file-oriented workflows and transform supported payloads, while object-specific attachment identifiers and repositories must be confirmed in the ECC implementation.
RFC, BAPI, and IDoc interfacesLimitedRFC-enabled function modules, BAPIs, IDocs, ALE, tRFC, and qRFC are central SAP integration mechanisms, but direct Martini protocol support is not established by the supplied materials.Martini can work with an SAP-compatible adapter or middleware layer that exposes HTTP services, or consume OData and SOAP interfaces that wrap the required SAP business logic.
Database and analytics accessLimitedSAP ECC runs on supported SAP database platforms, but direct database access is generally not preferred for transactional operations because it can bypass SAP authorization and business logic.Martini can connect to approved databases for controlled read-only or analytics scenarios, but application interfaces should be used for transactional integration.
AuthenticationYesDepending on release and interface, SAP ECC may use Basic Authentication, SAP users and roles, certificates, SAP single sign-on mechanisms, OAuth 2.0 for supported Gateway scenarios, or SNC for RFC communication.Martini can manage endpoint configuration and protected credentials, tokens, and certificates through environment configuration or secrets management.

How SAP ECC exposes data and business events

SAP ECC OData APIs

SAP ECC commonly exposes HTTP APIs through SAP NetWeaver Gateway OData services. The available entity sets, actions, filters, navigation, paging behavior, batch support, and write operations depend on the activated standard or custom service and the ECC release.

Martini implementation pattern

Martini implementation pattern: Martini consumes the configured OData endpoint in a workflow, authenticates with the customer-approved SAP method, obtains and reuses a CSRF token for state-changing requests when required, retrieves pages or submits changes, maps SAP payloads, and evaluates both HTTP and SAP business responses.

Implementation sequence

Confirm the ECC release, Gateway service, system alias, and authorization scope
Authenticate to the SAP OData endpoint
Retrieve a CSRF token when required for state-changing requests
Read or submit the selected SAP business object
Process pagination, batch responses, and SAP application messages
Map the result and write it to the target system with a correlation key

SAP ECC SOAP services

SAP NetWeaver supports standard and custom SOAP web services exposed through WSDL-based contracts. Endpoint URLs, namespaces, operations, authentication, and certificates are specific to the configured ECC service.

Martini implementation pattern

Martini implementation pattern: Martini consumes the WSDL-defined SOAP operation, stores endpoint credentials and certificates securely, constructs the request from canonical data, parses SOAP faults and application responses, and routes successful and rejected transactions separately.

Implementation sequence

Obtain the SAP service endpoint and WSDL contract
Configure the required authentication and certificate settings
Map canonical data into the SAP SOAP request
Invoke the SOAP operation from a Martini workflow
Separate SOAP transport faults from SAP business validation messages
Persist the response and correlation information for reconciliation

SAP ECC asynchronous processing

SAP ECC supports IDocs, ALE, background jobs, tRFC, qRFC, periodic extraction, and OData batch processing where configured. These mechanisms may acknowledge acceptance before the underlying business document is fully processed.

Martini implementation pattern

Martini implementation pattern: Martini can schedule extraction and reconciliation workflows or consume an HTTP representation supplied by SAP middleware. It stores submission identifiers, applies bounded retry policies to transient failures, and checks later status before marking a business process complete.

Implementation sequence

Receive or retrieve the asynchronous SAP message or status
Record the IDoc, batch, request, or correlation identifier
Validate the payload and map it to the canonical model
Route the message to downstream systems or reconciliation storage
Poll or receive the eventual processing status
Retry transient failures and route business rejections for review

SAP ECC outbound callbacks

SAP ECC can initiate outbound communication through configured workflows, IDocs, SOAP callbacks, custom ABAP HTTP calls, or middleware. This is selected-event notification rather than a universal webhook facility.

Martini implementation pattern

Martini implementation pattern: Martini exposes a controlled REST API for SAP or an intermediary to call. The workflow authenticates or validates the request, records the source identifier, prevents duplicate processing, transforms the event, and returns an appropriate acknowledgement after the required validation.

Implementation sequence

Expose a secured Martini API endpoint
Configure SAP or its intermediary to send the selected callback
Authenticate and validate the inbound request
Persist the source event and idempotency key
Transform and route the event to target applications
Return an acknowledgement and monitor failed deliveries

SAP ECC file exchange

Configured SAP application-server locations, external file locations, batch programs, and middleware can support file-based imports and exports. Attachment handling varies by SAP object and document repository.

Martini implementation pattern

Martini implementation pattern: Martini can orchestrate file-oriented workflows when the deployment provides an approved file endpoint or intermediary. It validates file structure, transforms records, archives processing metadata, and routes malformed or incomplete files to exception handling.

Implementation sequence

Receive or retrieve the configured SAP export file
Validate the file format and expected business period
Parse and map the file into the canonical model
Apply duplicate and business validation rules
Write the transformed data to target systems
Archive processing metadata and report rejected rows

Common SAP ECC integration patterns

Pattern 1: Synchronize Customers and Materials

When to use this pattern

Use this pattern when downstream applications require current SAP ECC master data for customer service, commerce, reporting, or order capture. Incremental processing is preferred to repeated full extraction.

Integration direction
SAP ECC
Martini
Salesforce
Shopify
Example Mapping
SAP ECC FieldCanonical FieldTarget Field
CustomerNumbercustomer.externalIdAccount.externalId
MaterialNumberproduct.skuShopify.product.handle
UnitOfMeasureproduct.unitOfMeasureShopify.product.variant.unit
SalesOrganizationcustomer.salesOrganizationAccount.salesOrganization
Martini implementation pattern

A scheduled Martini workflow calls the relevant OData services, uses a stable SAP change field or application-specific delta mechanism, processes pages with overlap, maps codes and units, validates required fields, and performs idempotent upserts. Checkpoints, bounded retries, and reconciliation records prevent missed or duplicated data.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • pagination and checkpointing
  • data mapping
  • business rules
  • error handling

Pattern 2: Create Sales Orders from a Commerce Application

When to use this pattern

Use this pattern when an external commerce application must submit validated orders to SAP ECC and receive an SAP document number or business rejection.

Integration direction
Shopify
Martini
SAP ECC
Example Mapping
SAP ECC FieldCanonical FieldTarget Field
order.idsalesOrder.externalReferenceSales Order reference
customer.idcustomer.externalIdSAP Customer
lineItems[].skuitems[].materialNumberSales Order material
shippingAddress.countryshipTo.countrySAP partner address
Martini implementation pattern

Martini exposes an API for the commerce payload, validates the customer, materials, plant, sales organization, distribution channel, division, currency, and quantities, then calls an SAP OData or SOAP operation. It distinguishes transport failures from SAP business errors, returns a correlation identifier, and stores the request for replay without creating duplicates.

Martini capabilities used
  • API exposure
  • workflow orchestration
  • data validation
  • data mapping
  • business rules
  • idempotency and error handling

Pattern 3: Synchronize Vendors and Purchase Orders

When to use this pattern

Use this pattern when procurement or service-management applications need SAP ECC supplier and purchasing information, or when approved external purchasing changes must be submitted to SAP.

Integration direction
SAP ECC
Martini
ServiceNow
Example Mapping
SAP ECC FieldCanonical FieldTarget Field
VendorNumbersupplier.externalIdVendor reference
PurchasingOrganizationsupplier.purchasingOrganizationSupplier purchasing organization
PurchaseOrderNumberpurchaseOrder.externalIdRequest or purchase order reference
DeliveryDatepurchaseOrder.expectedDeliveryDateExpected delivery
Martini implementation pattern

Martini retrieves Vendors and Purchase Orders through a supported SAP service, transforms purchasing organization, currency, tax, unit, and date values, and upserts the target records. For inbound changes, it validates ownership and status before submission, records SAP responses, and reconciles rejected or partially processed documents.

Martini capabilities used
  • scheduled workflows
  • SOAP or REST API consumption
  • mapping and transformation
  • status routing
  • reconciliation
  • retry handling

Pattern 4: Route SAP IDoc Events through an Intermediary

When to use this pattern

Use this pattern when the ECC landscape already relies on IDocs, ALE, workflows, or SAP middleware and direct RFC or IDoc protocol handling is not available in the Martini deployment.

Integration direction
SAP ECC
SAP middleware
Martini
Downstream applications
Example Mapping
SAP ECC FieldCanonical FieldTarget Field
IDoc numberevent.sourceIdcorrelationId
Message typeevent.typeroute
Segment fieldsbusinessDocumentnormalized payload
Processing statusevent.statusdelivery status
Martini implementation pattern

The SAP intermediary converts selected IDocs or event notifications into an authenticated HTTP request to a Martini API. Martini validates the message, records the source identifier, transforms SAP segments into a canonical model, routes the result to multiple consumers, and exposes failure information for replay and reconciliation.

Martini capabilities used
  • API exposure
  • webhook-style event reception
  • workflow orchestration
  • data transformation
  • routing
  • monitoring and error handling

Applications commonly integrated with SAP ECC

SAP ECC is often connected to customer, service, commerce, finance, workforce, and delivery applications. The exact interface depends on the ECC release, activated services, business ownership, and any SAP middleware already in use.

Application Scenario Direction Martini Pattern
Salesforce Synchronize SAP ECC Customers, order status, and selected commercial information with CRM processes, while sending approved customer or order updates back to SAP where appropriate. SAP ECC → Martini → Salesforce Martini can consume SAP ECC OData or SOAP services on a schedule or through an API-led workflow, normalize customer and order fields, apply ownership and status rules, and upsert Salesforce data. Salesforce-originated updates can enter a Martini API and be validated before submission to SAP ECC.
ServiceNow Exchange supplier, procurement, asset, and financial reference information with service-management and request workflows. SAP ECC → Martini → ServiceNow A Martini workflow can retrieve SAP ECC Vendors, Purchase Orders, or reference data, map SAP organizational codes to ServiceNow fields, and apply idempotent upserts. Approved ServiceNow requests can be validated and routed to SAP ECC through an available OData, SOAP, or intermediary interface.
Shopify Synchronize SAP ECC Materials, availability, pricing, and Sales Orders with an online commerce channel. SAP ECC → Martini → Shopify Martini can schedule incremental SAP ECC reads, transform material, unit, price, and inventory representations, and publish them to Shopify. Shopify orders can be received through an API-led workflow, enriched with SAP Customer and Material identifiers, validated, and submitted to SAP ECC.
NetSuite Coordinate financial, order, supplier, or subsidiary information when NetSuite and SAP ECC coexist during transition or across business units. SAP ECC → Martini → NetSuite Martini can orchestrate bidirectional workflows with explicit system-of-record rules, map company codes and financial dimensions, and maintain correlation keys for reconciliation. SAP ECC application interfaces should be preferred over direct database writes for transactional updates.
Workday Exchange organizational, cost-center, workforce, or finance reference data with SAP ECC processes where responsibilities span both platforms. Workday → Martini → SAP ECC Martini can retrieve approved Workday changes, map organizational and reference identifiers to SAP ECC values, validate required company and controlling dimensions, and submit the result through a supported SAP service. Scheduled reconciliation can identify rejected or incomplete updates.
Jira Link SAP ECC change, project, or operational work items with engineering and delivery workflows. SAP ECC → Martini → Jira Martini can expose a controlled API or run scheduled synchronization to exchange selected status, reference, and work-item fields. Business rules can prevent duplicate Jira issues and route SAP validation failures for review.
Zendesk Provide support teams with SAP ECC customer, order, delivery, or billing context while limiting service actions to approved operations. SAP ECC → Martini → Zendesk Martini can retrieve SAP ECC customer and order context, transform it into Zendesk-compatible fields, and synchronize selected updates. Support-originated actions can be validated and routed to SAP only when the ECC interface and business process permit them.

How to build a SAP ECC integration in Martini

Objective

Confirm the ECC and NetWeaver versions, activated interfaces, network route, endpoint contracts, and least-privilege integration user before building the workflow.

Instructions in Martini

  • Confirm the OData service, SOAP WSDL, file location, or intermediary endpoint
  • Store credentials, tokens, certificates, and other secrets in protected environment configuration
  • Configure the SAP authentication method supported by the target interface
  • Validate authorization for the required services and business objects

Objective

Select a trigger that matches SAP’s integration model and the required latency, volume, and reliability characteristics.

Instructions in Martini

  • Use a scheduled workflow for incremental extraction or reconciliation
  • Expose a Martini API for configured SAP or middleware callbacks
  • Use an intermediary for IDoc, RFC, BAPI, or qRFC-based processing when required
  • Avoid treating SAP ECC as a universal webhook source

Objective

Acquire SAP ECC data while respecting paging, query limits, CSRF requirements, asynchronous acknowledgements, and SAP response semantics.

Instructions in Martini

  • Retrieve OData pages using stable filters and checkpoints
  • Handle CSRF token acquisition for state-changing OData requests where required
  • Invoke SOAP operations using the configured WSDL contract
  • Record IDoc, batch, request, or correlation identifiers for asynchronous processing

Objective

Coordinate validation, enrichment, target calls, response handling, and reconciliation in a maintainable Martini workflow.

Instructions in Martini

  • Separate transport, authentication, timeout, and SAP business errors
  • Resolve related Customers, Materials, Vendors, or organizational values where required
  • Use conditional routing for accepted, rejected, and pending statuses
  • Define compensation or reconciliation behavior for multi-step transactions

Objective

Convert SAP-specific structures, codes, dates, units, and messages into a canonical model and target-system representation.

Instructions in Martini

  • Map SAP identifiers and organizational codes explicitly
  • Transform currencies, time zones, fiscal periods, quantities, and units of measure
  • Parse JSON, XML, SOAP, or approved file payloads
  • Preserve source identifiers and correlation values for traceability

Objective

Apply validation and ownership rules before creating or updating SAP ECC documents or downstream records.

Instructions in Martini

  • Validate required Customers, Materials, Vendors, plants, company codes, and organizational dimensions
  • Use external references or persisted keys to prevent duplicate document creation
  • Treat SAP warnings, return structures, and document statuses as business outcomes
  • Route incomplete or rejected documents to reconciliation handling

Common SAP ECC data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
CustomersSynchronize customer master data, sales-area data, addresses, payment information, and customer identifiers.Salesforce, Shopify, Zendesk, ServiceNow, NetSuiteMartini retrieves Customers through an activated OData or SOAP service, applies delta filters and field validation, maps SAP organizational codes, and performs idempotent downstream upserts.
VendorsExchange supplier master data, purchasing-organization information, payment details, and vendor identifiers.ServiceNow, NetSuite, procurement applicationsMartini can schedule vendor synchronization, normalize payment and purchasing fields, apply authorization and ownership rules, and route rejected records for reconciliation.
MaterialsSynchronize material master data, plant-specific information, units of measure, valuation data, availability, and product identifiers.Shopify, Salesforce, data platforms, warehouse applicationsMartini maps material codes, plants, units, currencies, and status values, handles paging and checkpoints, and publishes normalized product or inventory data.
Sales OrdersCreate or synchronize customer orders, items, schedules, pricing, delivery status, and billing references.Shopify, Salesforce, Zendesk, NetSuiteMartini validates Customers, Materials, sales organization, distribution channel, division, and plant values before calling an SAP OData or SOAP service and recording the SAP document number.
Purchase OrdersExchange procurement orders, line items, suppliers, delivery schedules, and goods-receipt references.ServiceNow, NetSuite, supplier-management applicationsMartini maps vendor, purchasing organization, currency, tax, quantity, unit, and delivery data, then tracks SAP status and handles rejected or partially processed documents.
Accounting DocumentsSynchronize financial postings, document headers, line items, company codes, fiscal years, and related references.NetSuite, reporting platforms, ServiceNow, finance applicationsMartini treats accounting responses as both transport and business outcomes, validates company-code and fiscal-period values, and uses reconciliation rather than unsafe blind retries.

Authentication and security considerations

Interface-dependent authentication

SAP ECC authentication depends on the interface, ECC release, and NetWeaver configuration. HTTP services may use Basic Authentication, SAP users and roles, certificates, supported single sign-on mechanisms, or OAuth 2.0 in configured Gateway scenarios. RFC communication may use SNC.

Least-privilege access

Use technical communication users with narrowly scoped authorization objects, roles, services, RFC functions, and business-data access. Confirm authorization for each OData service, SOAP operation, or intermediary endpoint.

Protected configuration

Store SAP credentials, tokens, certificates, and endpoint secrets in protected Martini environment configuration or secrets management rather than embedding them in workflows. Confirm certificate trust, network routing, and secure transport requirements with the SAP administrators.

Operational considerations for SAP ECC integrations

Release and service dependencies

Confirm the ECC release, enhancement package, NetWeaver version, Gateway deployment, activated OData services, WSDL definitions, custom fields, and customer-specific modifications before implementation.

Paging and throughput

Use incremental filters, stable sorting, page-size controls, and persisted checkpoints. Avoid broad full-table reads and account for SAP timeouts, query limits, and OData batch behavior.

Business outcomes and retries

Evaluate SAP application messages, warnings, return structures, document statuses, and asynchronous processing results in addition to HTTP or SOAP transport status. Retry only transient failures and use idempotency keys, external references, or pre-create lookups to prevent duplicate Sales Orders, Purchase Orders, or accounting transactions.

Schema and data governance

Version OData metadata and WSDL contracts, test custom fields and append structures after SAP changes, and explicitly map time zones, currencies, fiscal periods, company codes, plants, and units of measure. Define reconciliation for partial multi-step transactions and attachment repositories.

Why use Martini instead of scripts or point-to-point integrations?

Reusable orchestration

Martini centralizes SAP ECC calls, API exposure, scheduling, transformation, validation, routing, and reconciliation in maintainable workflows rather than scattering logic across scripts.

Adaptable integration boundaries

Martini can consume OData and SOAP services, expose APIs for SAP or middleware, and accommodate intermediary-based IDoc or RFC architectures without assuming a uniform ECC interface.

Operational control

Workflows can preserve checkpoints and correlation identifiers, apply business rules, separate transient failures from SAP validation errors, and support retry and reconciliation processes.

Environment-aware security

Endpoint configuration, credentials, certificates, and other sensitive values can be managed outside workflow logic, helping teams deploy the same integration design across controlled environments.

Frequently asked questions

How can SAP ECC be integrated with enterprise systems?

SAP ECC can integrate through SAP NetWeaver Gateway OData services, SOAP web services, asynchronous mechanisms such as IDocs and queued processing, configured file exchange, and selected outbound callbacks. The available interfaces depend on the ECC release, NetWeaver configuration, activated services, business modules, and customer-specific implementation.

Can Martini integrate with SAP ECC?

Yes. Martini can consume SAP ECC OData and SOAP services, expose APIs for SAP or SAP middleware to call, receive configured HTTP callbacks, and run scheduled synchronization and reconciliation workflows. Where RFC, BAPI, or IDoc protocol handling is required, an SAP-compatible intermediary may be used.

Do I need a connector to integrate SAP ECC with Martini?

No. A dedicated SAP ECC connector is not required. Martini can use SAP ECC’s confirmed native integration mechanisms, including OData, SOAP, configured callbacks, files, and intermediary HTTP endpoints, with credentials and certificates managed through protected configuration.

Is there any extra Lonti cost to integrate SAP ECC with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate SAP ECC. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply for SAP licensing, Gateway or middleware components, infrastructure, certificates, network connectivity, or other third-party services.

Which SAP ECC APIs or integration methods should be used?

Use activated OData services through SAP NetWeaver Gateway or configured SOAP services for synchronous application integration where those interfaces expose the required business logic. Use IDocs, queued processing, batch jobs, files, or an SAP intermediary for asynchronous and high-volume processes. Direct database access is generally not preferred for transactional operations.

Are SAP ECC events, webhooks, or callbacks available?

SAP ECC does not provide a universal webhook model for every business object. Selected outbound notifications can be implemented through IDocs, workflows, SOAP callbacks, custom ABAP HTTP calls, or middleware. Martini can receive an HTTP callback when SAP or an intermediary is configured to send one.

How should SAP ECC synchronization work?

A scheduled Martini workflow can use a SAP-supported change field, timestamp, delta endpoint, change-document mechanism, or application-specific status. It should process pages incrementally, persist checkpoints, allow overlap for recovery, and use external references or idempotent upserts to prevent duplicates.

How does Martini handle SAP ECC mapping, errors, and retries?

Martini maps SAP structures into canonical and target-specific models, including organizational codes, units, currencies, dates, and application messages. Workflows can separate transient transport failures from SAP business validation errors, apply bounded retries to transient failures, preserve correlation data, and route rejected or asynchronously failed documents for reconciliation.