.png)

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 point | Supported by SAP ECC? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs and OData services | Yes | SAP 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 APIs | Yes | SAP 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 callbacks | Limited | SAP 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 processing | Yes | IDocs, 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 exchange | Limited | Configured 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 interfaces | Limited | RFC-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 access | Limited | SAP 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. |
| Authentication | Yes | Depending 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
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
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
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
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
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
Example Mapping
| SAP ECC Field | Canonical Field | Target Field |
|---|---|---|
| CustomerNumber | customer.externalId | Account.externalId |
| MaterialNumber | product.sku | Shopify.product.handle |
| UnitOfMeasure | product.unitOfMeasure | Shopify.product.variant.unit |
| SalesOrganization | customer.salesOrganization | Account.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
Example Mapping
| SAP ECC Field | Canonical Field | Target Field |
|---|---|---|
| order.id | salesOrder.externalReference | Sales Order reference |
| customer.id | customer.externalId | SAP Customer |
| lineItems[].sku | items[].materialNumber | Sales Order material |
| shippingAddress.country | shipTo.country | SAP 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
Example Mapping
| SAP ECC Field | Canonical Field | Target Field |
|---|---|---|
| VendorNumber | supplier.externalId | Vendor reference |
| PurchasingOrganization | supplier.purchasingOrganization | Supplier purchasing organization |
| PurchaseOrderNumber | purchaseOrder.externalId | Request or purchase order reference |
| DeliveryDate | purchaseOrder.expectedDeliveryDate | Expected 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
Example Mapping
| SAP ECC Field | Canonical Field | Target Field |
|---|---|---|
| IDoc number | event.sourceId | correlationId |
| Message type | event.type | route |
| Segment fields | businessDocument | normalized payload |
| Processing status | event.status | delivery 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
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Customers | Synchronize customer master data, sales-area data, addresses, payment information, and customer identifiers. | Salesforce, Shopify, Zendesk, ServiceNow, NetSuite | Martini retrieves Customers through an activated OData or SOAP service, applies delta filters and field validation, maps SAP organizational codes, and performs idempotent downstream upserts. |
| Vendors | Exchange supplier master data, purchasing-organization information, payment details, and vendor identifiers. | ServiceNow, NetSuite, procurement applications | Martini can schedule vendor synchronization, normalize payment and purchasing fields, apply authorization and ownership rules, and route rejected records for reconciliation. |
| Materials | Synchronize material master data, plant-specific information, units of measure, valuation data, availability, and product identifiers. | Shopify, Salesforce, data platforms, warehouse applications | Martini maps material codes, plants, units, currencies, and status values, handles paging and checkpoints, and publishes normalized product or inventory data. |
| Sales Orders | Create or synchronize customer orders, items, schedules, pricing, delivery status, and billing references. | Shopify, Salesforce, Zendesk, NetSuite | Martini 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 Orders | Exchange procurement orders, line items, suppliers, delivery schedules, and goods-receipt references. | ServiceNow, NetSuite, supplier-management applications | Martini maps vendor, purchasing organization, currency, tax, quantity, unit, and delivery data, then tracks SAP status and handles rejected or partially processed documents. |
| Accounting Documents | Synchronize financial postings, document headers, line items, company codes, fiscal years, and related references. | NetSuite, reporting platforms, ServiceNow, finance applications | Martini 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
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.
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.
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.
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.
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.
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.
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.
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.
Related Martini documentation
Workflows
Plan your SAP ECC integration
Connect SAP ECC interfaces to enterprise workflows with Martini. Design secure API consumption, synchronization, transformation, and reconciliation patterns around your specific ECC and NetWeaver landscape.