375 lines
9.6 KiB
Markdown
375 lines
9.6 KiB
Markdown
# Extensions Reference
|
|
|
|
Complete guidance for extending SAP solutions using SAP BTP.
|
|
|
|
**Source**: [https://github.com/SAP-docs/sap-btp-cloud-platform/tree/main/docs/40-extensions](https://github.com/SAP-docs/sap-btp-cloud-platform/tree/main/docs/40-extensions)
|
|
|
|
---
|
|
|
|
## Table of Contents
|
|
|
|
1. [Extensions Overview](#extensions-overview)
|
|
2. [Formations](#formations)
|
|
3. [System Registration](#system-registration)
|
|
4. [S/4HANA Cloud Extensions](#s4hana-cloud-extensions)
|
|
5. [SuccessFactors Extensions](#successfactors-extensions)
|
|
6. [Event Mesh Integration](#event-mesh-integration)
|
|
7. [Configuration Files](#configuration-files)
|
|
8. [Troubleshooting](#troubleshooting)
|
|
|
|
---
|
|
|
|
## Extensions Overview
|
|
|
|
SAP BTP enables loosely coupled extensions without disrupting core SAP solution processes.
|
|
|
|
### Extension Capabilities
|
|
|
|
| Capability | Description |
|
|
|------------|-------------|
|
|
| **API Access** | Consume SAP solution APIs |
|
|
| **Event Consumption** | React to SAP solution events |
|
|
| **UI Extensions** | Extend SAP Fiori interfaces |
|
|
| **Side-by-Side** | Build companion apps |
|
|
|
|
### Supported SAP Solutions
|
|
|
|
| Solution | Cloud Foundry | Kyma |
|
|
|----------|---------------|------|
|
|
| SAP S/4HANA Cloud | Yes | Yes |
|
|
| SAP SuccessFactors | Yes | Yes |
|
|
| SAP Marketing Cloud | Yes | Yes |
|
|
| SAP Commerce Cloud | - | Yes |
|
|
| SAP Field Service Management | - | Yes |
|
|
| SAP Customer Experience | - | Yes |
|
|
|
|
### Extension Architecture
|
|
|
|
```
|
|
SAP Solution (S/4HANA, SuccessFactors)
|
|
↓ APIs & Events
|
|
SAP BTP (Unified Customer Landscape)
|
|
↓ Formations
|
|
Extension Application (CF or Kyma)
|
|
```
|
|
|
|
---
|
|
|
|
## Formations
|
|
|
|
Formations are logical groupings of SAP systems for common business scenarios.
|
|
|
|
### Formation Types
|
|
|
|
| Type | Purpose |
|
|
|------|---------|
|
|
| **Business Scenario** | Group systems for specific use cases |
|
|
| **Service Integration** | Connect to BTP services |
|
|
| **Extensibility** | Enable extension development |
|
|
|
|
### Formation Status
|
|
|
|
| Status | Description |
|
|
|--------|-------------|
|
|
| **Ready** | Successfully configured |
|
|
| **Draft** | Incomplete, missing systems |
|
|
| **Action Required** | Needs additional setup |
|
|
| **Synchronizing** | Systems syncing in background |
|
|
| **Error** | Sync failed, needs resync |
|
|
|
|
### Creating Formations
|
|
|
|
1. Navigate to **System Landscape > Formations** in BTP Cockpit
|
|
2. Click **Create Formation**
|
|
3. Enter unique name (max 128 chars)
|
|
4. Select formation type
|
|
5. Add registered systems
|
|
6. Review and confirm
|
|
|
|
### Formation Management
|
|
|
|
```
|
|
BTP Cockpit → System Landscape → Formations
|
|
├── Create Formation
|
|
├── Add Systems
|
|
├── Finalize Formation
|
|
├── Resynchronize (on error)
|
|
└── Delete Formation
|
|
```
|
|
|
|
---
|
|
|
|
## System Registration
|
|
|
|
Register SAP systems to enable extensions.
|
|
|
|
### Registration Process
|
|
|
|
1. **Generate Token**: Create registration token in BTP Cockpit
|
|
2. **Configure System**: Use token in SAP solution admin
|
|
3. **Verify Connection**: Check system status in BTP
|
|
|
|
### System Types
|
|
|
|
| System Type | Registration Method |
|
|
|-------------|---------------------|
|
|
| SAP S/4HANA Cloud | Registration token |
|
|
| SAP SuccessFactors | Registration token |
|
|
| SAP Marketing Cloud | Registration token |
|
|
| Third-party Systems | Manual configuration |
|
|
| SAP BTP Applications | Service instance |
|
|
|
|
### Register S/4HANA Cloud System
|
|
|
|
```
|
|
BTP Cockpit → System Landscape → Systems
|
|
├── Add System
|
|
├── System Type: SAP S/4HANA Cloud
|
|
├── Generate Token
|
|
└── Complete in S/4HANA Cloud Admin
|
|
```
|
|
|
|
### Register SuccessFactors System
|
|
|
|
```
|
|
BTP Cockpit → System Landscape → Systems
|
|
├── Add System
|
|
├── System Type: SAP SuccessFactors
|
|
├── Generate Token
|
|
└── Complete in SuccessFactors Provisioning
|
|
```
|
|
|
|
---
|
|
|
|
## S/4HANA Cloud Extensions
|
|
|
|
### Extension Setup Steps
|
|
|
|
1. **Register System** in global account
|
|
2. **Configure Entitlements** for subaccounts
|
|
3. **Create Service Instance** (api-access or messaging plan)
|
|
4. **Build Extension** in CF or Kyma
|
|
|
|
### Service Plans
|
|
|
|
| Plan | Purpose |
|
|
|------|---------|
|
|
| `api-access` | Consume S/4HANA APIs |
|
|
| `messaging` | Consume S/4HANA events |
|
|
|
|
### API Access Configuration
|
|
|
|
```json
|
|
{
|
|
"systemName": "MY_S4HANA_SYSTEM",
|
|
"communicationArrangement": {
|
|
"communicationArrangementName": "MY_ARRANGEMENT",
|
|
"scenarioId": "SAP_COM_0008",
|
|
"inboundAuthentication": "OAuth2SAMLBearerAssertion",
|
|
"outboundAuthentication": "BasicAuthentication",
|
|
"outboundServices": [
|
|
{
|
|
"name": "Business Partner (A2X)",
|
|
"isServiceActive": true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
### Supported Authentication
|
|
|
|
| Method | Use Case |
|
|
|--------|----------|
|
|
| BasicAuthentication | Simple scenarios |
|
|
| OAuth2SAMLBearerAssertion | User propagation |
|
|
| OAuth2ClientCredentials | Service-to-service |
|
|
| NoAuthentication | Public APIs |
|
|
|
|
### Event Consumption
|
|
|
|
1. Configure SAP Event Mesh entitlements
|
|
2. Create Event Mesh service instance
|
|
3. Create S/4HANA extensibility instance (messaging plan)
|
|
4. Subscribe to events
|
|
|
|
---
|
|
|
|
## SuccessFactors Extensions
|
|
|
|
### Extension Setup
|
|
|
|
1. **Register System** in global account
|
|
2. **Configure SSO** (optional)
|
|
3. **Configure Entitlements**
|
|
4. **Create Service Instance**
|
|
|
|
### SSO Configuration
|
|
|
|
```
|
|
SuccessFactors → Identity Authentication → SAP BTP
|
|
```
|
|
|
|
Steps:
|
|
1. Configure SuccessFactors as trusted IdP in BTP
|
|
2. Configure subaccount as trusted service provider in SuccessFactors
|
|
3. Test SSO flow
|
|
|
|
### API Access
|
|
|
|
```json
|
|
{
|
|
"systemName": "MY_SFSF_SYSTEM",
|
|
"technicalUser": "TECHNICAL_USER",
|
|
"technicalUserSecret": "xxx"
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Event Mesh Integration
|
|
|
|
### Event Mesh Architecture
|
|
|
|
```
|
|
SAP Solution → Event Mesh → Extension App
|
|
(CloudEvents)
|
|
```
|
|
|
|
### Event Mesh Service Plans
|
|
|
|
| Plan | Purpose |
|
|
|------|---------|
|
|
| `default` | Standard eventing |
|
|
| `development` | Non-production |
|
|
|
|
### Event Mesh Descriptor
|
|
|
|
```json
|
|
{
|
|
"emname": "my-event-mesh",
|
|
"namespace": "my/namespace",
|
|
"rules": {
|
|
"queueRules": {
|
|
"publishFilter": ["${namespace}/*"],
|
|
"subscribeFilter": ["${namespace}/*"]
|
|
},
|
|
"topicRules": {
|
|
"publishFilter": ["${namespace}/*"],
|
|
"subscribeFilter": ["${namespace}/*"]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Create Queues and Subscribe
|
|
|
|
```bash
|
|
# Create queue
|
|
cf create-service-key my-event-mesh my-key
|
|
|
|
# Subscribe to topic
|
|
# Use Event Mesh UI or REST API
|
|
```
|
|
|
|
---
|
|
|
|
## Configuration Files
|
|
|
|
### Communication Arrangement JSON
|
|
|
|
```json
|
|
{
|
|
"communicationArrangementName": "MY_ARRANGEMENT",
|
|
"scenarioId": "SAP_COM_0008",
|
|
"inboundAuthentication": "OAuth2SAMLBearerAssertion",
|
|
"outboundAuthentication": "BasicAuthentication",
|
|
"inboundServices": [
|
|
{
|
|
"serviceName": "Business Partner API",
|
|
"isServiceActive": true
|
|
}
|
|
],
|
|
"outboundServices": [
|
|
{
|
|
"name": "Business Partner (A2X)",
|
|
"isServiceActive": true
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
### Communication Arrangement YAML
|
|
|
|
```yaml
|
|
communicationArrangementName: MY_ARRANGEMENT
|
|
scenarioId: SAP_COM_0008
|
|
inboundAuthentication: OAuth2SAMLBearerAssertion
|
|
outboundAuthentication: BasicAuthentication
|
|
inboundServices:
|
|
- serviceName: Business Partner API
|
|
isServiceActive: true
|
|
outboundServices:
|
|
- name: Business Partner (A2X)
|
|
isServiceActive: true
|
|
```
|
|
|
|
### API Access Configuration
|
|
|
|
```json
|
|
{
|
|
"systemName": "MY_SYSTEM",
|
|
"communicationArrangement": {
|
|
"communicationArrangementName": "INBOUND_COMM_ARRANGEMENT",
|
|
"scenarioId": "SAP_COM_0008",
|
|
"inboundAuthentication": "OAuth2SAMLBearerAssertion"
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
| Issue | Solution |
|
|
|-------|----------|
|
|
| Service instance creation failed | Check entitlements, verify system registration |
|
|
| Event consumption not working | Verify Event Mesh configuration, check topic subscriptions |
|
|
| API access denied | Check communication arrangement, verify authentication |
|
|
| System not visible | Verify registration token was used, check system status |
|
|
|
|
### S/4HANA Extensibility Issues
|
|
|
|
| Error | Resolution |
|
|
|-------|------------|
|
|
| Instance creation failed (no message) | Check communication arrangement JSON syntax |
|
|
| Messaging plan unavailable | Configure Event Mesh entitlements first |
|
|
| API authentication failed | Verify OAuth configuration in S/4HANA |
|
|
|
|
### SuccessFactors Issues
|
|
|
|
| Error | Resolution |
|
|
|-------|------------|
|
|
| OData destination not working | Verify technical user credentials |
|
|
| SSO not working | Check trust configuration both sides |
|
|
| Instance creation failed | Verify system registration complete |
|
|
|
|
---
|
|
|
|
## Region Limitations
|
|
|
|
Extensions functionality is **NOT available** in:
|
|
- China (Shanghai) region
|
|
- Government Cloud (US) region
|
|
|
|
---
|
|
|
|
## Related Documentation
|
|
|
|
- Extensions: [https://github.com/SAP-docs/sap-btp-cloud-platform/blob/main/docs/40-extensions/extensions-08b1eff.md](https://github.com/SAP-docs/sap-btp-cloud-platform/blob/main/docs/40-extensions/extensions-08b1eff.md)
|
|
- Formations: [https://github.com/SAP-docs/sap-btp-cloud-platform/blob/main/docs/40-extensions/automating-integrations-using-formations-68b04fa.md](https://github.com/SAP-docs/sap-btp-cloud-platform/blob/main/docs/40-extensions/automating-integrations-using-formations-68b04fa.md)
|
|
- S/4HANA Extensions: [https://github.com/SAP-docs/sap-btp-cloud-platform/blob/main/docs/40-extensions/extending-sap-s-4hana-cloud-in-the-cloud-foundry-and-kyma-environment-40b9e6c.md](https://github.com/SAP-docs/sap-btp-cloud-platform/blob/main/docs/40-extensions/extending-sap-s-4hana-cloud-in-the-cloud-foundry-and-kyma-environment-40b9e6c.md)
|
|
- SuccessFactors Extensions: [https://github.com/SAP-docs/sap-btp-cloud-platform/blob/main/docs/40-extensions/extending-sap-successfactors-in-the-cloud-foundry-and-kyma-environment-9e33934.md](https://github.com/SAP-docs/sap-btp-cloud-platform/blob/main/docs/40-extensions/extending-sap-successfactors-in-the-cloud-foundry-and-kyma-environment-9e33934.md)
|