329 lines
12 KiB
Markdown
329 lines
12 KiB
Markdown
# Complete Features Reference
|
|
|
|
Comprehensive feature documentation for SAP Master Data Integration.
|
|
|
|
## Table of Contents
|
|
|
|
- [Core Features](#core-features)
|
|
- [Distribution Models](#3-distribution-models)
|
|
- [Filtering](#4-filtering)
|
|
- [Delta Tokens](#delta-tokens)
|
|
- [Extensibility](#extensibility)
|
|
- [Key Mapping](#key-mapping)
|
|
- [Events API](#events-api)
|
|
- [Requests API](#requests-api)
|
|
- [Business Data Orchestration](#business-data-orchestration)
|
|
- [Data Privacy](#sap-data-privacy-integration)
|
|
- [Monitoring](#monitoring)
|
|
|
|
**Source**: [https://github.com/SAP-docs/sap-btp-master-data-integration/tree/main/docs/features](https://github.com/SAP-docs/sap-btp-master-data-integration/tree/main/docs/features)
|
|
|
|
---
|
|
|
|
## Core Features
|
|
|
|
### 1. Synchronization of Master Data
|
|
|
|
MDI operates as a central master data hub where applications synchronize local databases with the central system.
|
|
|
|
**Synchronization Phases**:
|
|
1. **Initial Load**: Applications perform initial data transfer to populate local systems
|
|
2. **Delta Loads**: Ongoing synchronization through REST Events API with change notifications
|
|
|
|
**Key Characteristics**:
|
|
- One tenant typically serves all applications in a landscape
|
|
- REST APIs standard; SOAP APIs additionally available for business partners
|
|
- Delta loading eventually delivers same information for every application with identical filter settings
|
|
|
|
### 2. Support for Initial Loads
|
|
|
|
**Initial Upload (Producing Clients)**
|
|
Applications that create/modify master data load their local records into MDI as part of initial upload.
|
|
|
|
**Initial Download (Consuming Clients)**
|
|
Applications receive initial master data copy from centralized service without affecting existing integration scenarios.
|
|
|
|
**Key Benefit**: Eliminates need to integrate with multiple different applications in a landscape.
|
|
|
|
### 3. Distribution Models
|
|
|
|
Centralized repositories for distribution settings within Business Data Orchestration.
|
|
|
|
**Components**:
|
|
- Model name and language-dependent description
|
|
- Object type and version specification
|
|
- Reference to SAP One Domain Model
|
|
|
|
**Connectivity Options**:
|
|
- One provider with multiple consumers
|
|
- Multiple providers with one consumer
|
|
- **Recommended**: Always connect only one provider with one consumer
|
|
|
|
**Current Limitation**: Only ABAP-based systems (S/4HANA, SAP Cloud Master Data Governance) can act as provider.
|
|
|
|
### 4. Filtering
|
|
|
|
Two filter types control data replication:
|
|
|
|
| Filter Type | Purpose |
|
|
|------------|---------|
|
|
| Object Selection Filters | Determine which records are replicated |
|
|
| Data Scope Filters | Control which parts of records are replicated |
|
|
|
|
**Benefits**:
|
|
- Reduces unnecessary data traffic
|
|
- Prevents irrelevant data replication
|
|
- Enables regional data boundaries
|
|
|
|
---
|
|
|
|
## Local ID Sharing
|
|
|
|
MDI maintains ID maps between global and local IDs with bidirectional lookup capability.
|
|
|
|
### Three Core APIs
|
|
|
|
| API | Purpose |
|
|
|-----|---------|
|
|
| RequestsAPI | Write local IDs and associated context to MDI |
|
|
| EventsAPI | Receive distributed local IDs and associated context |
|
|
| KeyMappingAPI | Bidirectional lookup between local and global IDs |
|
|
|
|
**Benefit**: Destination applications can understand and respond to received information within their operational frameworks.
|
|
|
|
---
|
|
|
|
## Multiwriter Scenarios
|
|
|
|
When multiple clients have write access to the same master data type:
|
|
|
|
### Conflict Prevention Mechanisms
|
|
|
|
**Patches**
|
|
Send patches instead of full updates to preserve unrelated data modifications.
|
|
|
|
**Optimistic Locking**
|
|
- System tracks version identifiers
|
|
- Client includes previously known version ID in update
|
|
- MDI rejects update if version ID doesn't match current version
|
|
- Client retrieves updated info and resubmits
|
|
|
|
**SOAP Limitation**: SOAP APIs for Business Partner do NOT support version IDs or optimistic locking.
|
|
|
|
---
|
|
|
|
## Multiversion Support
|
|
|
|
Applications can use different compatible versions of SAP One Domain Model without disrupting integrations.
|
|
|
|
**Example**:
|
|
- Application A transmits in version 3.0.0
|
|
- Application B receives in version 2.1.1
|
|
|
|
**Requirements**:
|
|
- Works only between compatible versions
|
|
- No breaking changes (e.g., no field removals)
|
|
|
|
**Limitation**: BusinessPartner v3.3.0 and v2.1.1 have restricted multiversion support for address data.
|
|
|
|
---
|
|
|
|
## Extensibility
|
|
|
|
Add custom fields and nodes to integration models.
|
|
|
|
### Extension Types
|
|
|
|
| Type | Description |
|
|
|------|-------------|
|
|
| Field-Level | Primitive types: String, Boolean, Date, DateTime, Double, Time, Integer, Decimal, UUID |
|
|
| Node-Level | Composition with relationship definitions (one/many) |
|
|
|
|
### Key Rules
|
|
- Extensions valid across compatible ODM versions
|
|
- **Cannot be updated or deleted once created**
|
|
- SOAP extensions limited to BusinessPartner and BusinessPartnerRelationship
|
|
- SOAP namespace prefix must begin with `extns`
|
|
|
|
### Activation Statuses
|
|
- activationInProgress
|
|
- activated
|
|
- failed
|
|
|
|
---
|
|
|
|
## Schema Validation
|
|
|
|
### What MDI Validates
|
|
- Data adherence to SAP One Domain Model integration models
|
|
|
|
### What MDI Does NOT Validate
|
|
- Referential integrity
|
|
- References pointing to existing records
|
|
- Code list entry validity
|
|
|
|
---
|
|
|
|
## Monitoring
|
|
|
|
Business Data Orchestration provides end-to-end monitoring via SAP Cloud ALM integration.
|
|
|
|
### Three Monitoring Views
|
|
|
|
| View | Purpose |
|
|
|------|---------|
|
|
| Landscape (Monitor Master Data Distribution) | All clients and connections graphically |
|
|
| Connection (Display Distribution Status) | Status between specific client pairs |
|
|
| Object (Locate Object) | Single object distribution status |
|
|
|
|
**Currently Available**: Connection view only
|
|
|
|
### Technical Architecture
|
|
1. Clients report SAP Passport Events to SAP Cloud ALM
|
|
2. BDO imports logging every 5 minutes
|
|
3. Data aggregated into distribution status reports
|
|
|
|
---
|
|
|
|
## REST Events (Complete List)
|
|
|
|
Events sent to SAP Cloud ALM during REST API operations:
|
|
|
|
| Event Code | Description | Details |
|
|
|------------|-------------|---------|
|
|
| ExistingInstanceId | Entity with given instance ID already exists | `[{id: instanceId}]` |
|
|
| EntityInstanceDoesNotExist | Entity with given instance ID does not exist | `[{id: instanceId}]` |
|
|
| ValidationError | Validation error during processing | `[{ValidationError: error message}]` |
|
|
| PatchFailed | Patch operation failed | `[{PatchFailed: error message}]` |
|
|
| InvalidPreviousVersionId | Invalid previous version ID | `[{id: instanceId}]` |
|
|
| UpdateOrDeleteOnDeletedInstance | Instance deleted, no longer supports operations | - |
|
|
| UpdateOrDeleteOnReplacedInstance | Instance replaced, no longer supports operations | - |
|
|
| MergeOnDeletedInstance | Instance not replaced, cannot be merged | `[{id: instanceId}]` |
|
|
| EntityInstanceReplacedByOtherInstance | Instance replaced by different instance | `[{id: instanceId},{replacedBy: instanceId}]` |
|
|
| DecodeError | Instance could not be decoded properly | - |
|
|
| UnexpectedStateError | Unexpected state condition | - |
|
|
| UnknownEntity | Unrecognized entity type | - |
|
|
| ReplacedError | Could not replace an event | `[{ReplacedFailure: error message}]` |
|
|
| ReplacementCycle | Cyclic references in replacedBy | - |
|
|
| InvalidLogicalKeys | Incorrect logical key structure | - |
|
|
| LocalIdError | LocalId operations malfunction | `{context, localId, status}` |
|
|
| NormalizationFailed | Could not normalize event | `[{NormalizationFailure: error message}]` |
|
|
| PrimaryMasterDataEventTooLarge | Internal record size exceeds limits | - |
|
|
| UnknownTenant | Unknown system for request | - |
|
|
|
|
---
|
|
|
|
## SOAP Events (Complete List)
|
|
|
|
### Inbound Event (1)
|
|
| Code | Description |
|
|
|------|-------------|
|
|
| BuPaDuplicateAddressId | Business Partner with given Address ID already exists |
|
|
|
|
### Outbound Success Events (6)
|
|
| Code | Description |
|
|
|------|-------------|
|
|
| BuPaSent | BusinessPartner successfully sent to destination |
|
|
| BuPaRelSent | BusinessPartnerRelationship successfully sent |
|
|
| KmSent | KeyMapping successfully sent |
|
|
| BuPaConfirmationSent | BusinessPartner confirmation sent |
|
|
| BuPaRelConfirmationSent | BusinessPartnerRelationship confirmation sent |
|
|
| KmConfirmationSent | KeyMapping confirmation sent |
|
|
|
|
### Confirmation Received Events (3)
|
|
| Code | Description |
|
|
|------|-------------|
|
|
| BupaConfirmationReceivedSuccessful | BusinessPartner confirmation processed successfully |
|
|
| BuPaRelConfirmationReceivedSuccessful | BusinessPartnerRelationship confirmation processed |
|
|
| KmConfirmationReceivedSuccessful | KeyMapping confirmation processed |
|
|
|
|
### Send Failure Events (9)
|
|
| Code | Description |
|
|
|------|-------------|
|
|
| BuPaSendFailed | Failed BusinessPartner transmission |
|
|
| BuPaRelSendFailed | Failed BusinessPartnerRelationship transmission |
|
|
| KmSendFailed | Failed KeyMapping transmission |
|
|
| BuPaSendFailedDestinationNotFound | Destination not configured |
|
|
| BuPaRelSendFailedDestinationNotFound | Destination not configured |
|
|
| KmSendFailedDestinationNotFound | Destination not configured |
|
|
| BuPaSendFailedHttpsSchemeExpected | HTTPS required (Internet ProxyType) |
|
|
| BuPaRelSendFailedHttpsSchemeExpected | HTTPS required (Internet ProxyType) |
|
|
| KmSendFailedHttpsSchemeExpected | HTTPS required (Internet ProxyType) |
|
|
|
|
### Wrong Scheme Configuration Events (6)
|
|
| Code | Description |
|
|
|------|-------------|
|
|
| BuPaSendFailedWrongSchemeConfigured | HTTP/HTTPS required (OnPremise ProxyType) |
|
|
| BuPaRelSendFailedWrongSchemeConfigured | HTTP/HTTPS required (OnPremise ProxyType) |
|
|
| KmSendFailedWrongSchemeConfigured | HTTP/HTTPS required (OnPremise ProxyType) |
|
|
| BuPaConfirmationFailedWrongSchemeConfigured | Wrong scheme for confirmation |
|
|
| BuPaRelConfirmationFailedWrongSchemeConfigured | Wrong scheme for confirmation |
|
|
| KmConfirmationFailedWrongSchemeConfigured | Wrong scheme for confirmation |
|
|
|
|
### Confirmation Send Failure Events (6)
|
|
| Code | Description |
|
|
|------|-------------|
|
|
| BuPaConfirmationSendFailed | Failed to send confirmation |
|
|
| BuPaRelConfirmationSendFailed | Failed to send confirmation |
|
|
| KmConfirmationSendFailed | Failed to send confirmation |
|
|
| BuPaConfirmationSendFailedHttpsSchemeExpected | HTTPS required for confirmation |
|
|
| BuPaRelConfirmationFailedHttpsSchemeExpected | HTTPS required for confirmation |
|
|
| KmConfirmationFailedHttpsSchemeExpected | HTTPS required for confirmation |
|
|
|
|
---
|
|
|
|
## SAP Data Privacy Integration
|
|
|
|
### Supported Capabilities
|
|
|
|
| Capability | Supported Objects | Description |
|
|
|------------|-------------------|-------------|
|
|
| Blocking | Business Partner (SOAP) | Maintain rules and trigger deletion when end of purpose reached. Uses SAP Data Retention Manager. |
|
|
| Business Context Management | Workforce Person only | Define business context, tag data with purpose, recalculate purpose during transfers |
|
|
| Information (reports/export) | **NOT SUPPORTED** | Generate reports, export data, trigger corrections |
|
|
|
|
---
|
|
|
|
## Read Access Logging
|
|
|
|
Tracks access to sensitive personal data via SAP Audit Log service.
|
|
|
|
### Key Annotations
|
|
|
|
| Annotation | Purpose |
|
|
|------------|---------|
|
|
| @AuditLog.Operation | Controls logging (Read, Insert, Update, Delete) |
|
|
| @PersonalData.FieldSemantics | When 'DataSubjectID', identifies data subject in logs |
|
|
| @PersonalData.IsPotentiallySensitive | Marks sensitive attributes for logging |
|
|
|
|
**Activation**: Only when sensitive personal data attributes are exposed to downstream systems.
|
|
|
|
---
|
|
|
|
## SOAP API for Business Partners
|
|
|
|
Compatible applications:
|
|
- SAP S/4HANA Cloud (public edition)
|
|
- SAP S/4HANA (on-premise)
|
|
- SAP Cloud for Customer
|
|
- SAP Marketing Cloud
|
|
- SAP Field Service Management
|
|
- SAP Configure Price Quote
|
|
- SAP Subscription Billing
|
|
|
|
*List is not exhaustive*
|
|
|
|
---
|
|
|
|
## Availability in Kingdom of Saudi Arabia
|
|
|
|
SAP Master Data Integration service (including SAP Master Data Orchestration) is available in the Kingdom of Saudi Arabia region.
|
|
|
|
---
|
|
|
|
## Documentation Links
|
|
|
|
- **Features**: [https://help.sap.com/docs/master-data-integration/sap-master-data-integration/features](https://help.sap.com/docs/master-data-integration/sap-master-data-integration/features)
|
|
- **Distribution Models**: [https://help.sap.com/docs/master-data-integration/sap-master-data-integration/distribution-models](https://help.sap.com/docs/master-data-integration/sap-master-data-integration/distribution-models)
|
|
- **Monitoring**: [https://help.sap.com/docs/master-data-integration/sap-master-data-integration/monitoring](https://help.sap.com/docs/master-data-integration/sap-master-data-integration/monitoring)
|