This card covers SAP's cross-product API deprecation policy as documented in the SAP API Style Guide and SAP Business Accelerator Hub. The policy applies to APIs published on the SAP Business Accelerator Hub across SAP S/4HANA Cloud, SAP SuccessFactors, SAP Ariba, SAP Concur, SAP BTP, and other SAP cloud products. On-premise SAP systems (ECC, BW) follow different support lifecycle rules tied to SAP's product maintenance schedule. [src1, src2]
| Property | Value |
|---|---|
| Vendor | SAP SE |
| System | Cross-product (S/4HANA Cloud, SuccessFactors, Ariba, Concur, BTP) |
| API Surface | OData v2/v4, REST, SOAP, ABAP Cloud, RFC |
| Current Policy Version | SAP API Style Guide (Public), updated continuously |
| Editions Covered | All cloud editions; on-premise follows product maintenance lifecycle |
| Deployment | Cloud (primary), Hybrid |
| API Docs | SAP Business Accelerator Hub |
| Status | GA (policy actively enforced) |
| API Surface | Deprecation Policy Scope | Release Contract | Clean Core Level | Formal Stability? | Typical Deprecation Notice |
|---|---|---|---|---|---|
| OData v2/v4 (released) | SAP API Style Guide | C2 (remote API) | Level A | Yes | 2-yr min before deprecation; 1-yr before decommission |
| ABAP Cloud CDS/RAP | SAP API Style Guide | C0/C1 | Level A | Yes | Same as OData released |
| SOAP (classic) | Product-specific | None formal | Level B | No (generally stable) | Varies by product |
| RFC/BAPI (classic) | Product maintenance | None formal | Level B-C | No | Tied to product support lifecycle |
| REST (BTP services) | SAP API Style Guide | N/A | Level A | Yes | 2-yr min; 1-yr decommission |
| IDoc | Product maintenance | None formal | Level C | No | Tied to product support |
START -- Need to assess SAP API deprecation risk for an integration
|-- Is the API published on SAP Business Accelerator Hub?
| |-- YES --> Covered by SAP API Deprecation Policy
| | |-- Is the API status "Active"?
| | | |-- YES --> Safe to use; minimum 2 years before deprecation can begin
| | | |-- NO --> Check status below
| | |-- Is the API status "Deprecated"?
| | | |-- YES --> Still functional; minimum 1 year until decommission
| | | | |-- Is a successor API identified?
| | | | | |-- YES --> Begin migration to successor API
| | | | | |-- NO --> Monitor Business Accelerator Hub for successor
| | |-- Is the API status "Decommissioned"?
| | | |-- YES --> API is disabled; migrate immediately
| | |-- Is the API status "Beta"?
| | |-- YES --> Not production-ready; no deprecation guarantees apply
| |-- NO --> Not covered by formal deprecation policy
| |-- Is it a classic ABAP API (RFC, BAPI, classic CDS)?
| | |-- YES --> Level B/C; generally stable but no formal contract
| | | |-- Check Simplification Database for upgrade impact
| | | |-- Use ATC check before upgrades
| |-- Is it a direct SAP table access or modification?
| |-- YES --> Level D; expect breakage on any upgrade
| |-- Migrate to released API immediately
| State | Definition | Can Consume? | Bug Fixes? | New Features? | Duration Guarantee |
|---|---|---|---|---|---|
| Beta | Pre-release, may change without notice | Testing only | No | N/A | None |
| Active | Production-ready, published on Business Accelerator Hub | Yes | Yes | Yes | Min 2 years before deprecation |
| Deprecated | Still works, being phased out; successor identified | Yes (migrate) | Yes | No | Min 1 year before decommission |
| Decommissioned | Disabled in productive environments | No | No | No | N/A — API removed |
| Milestone | Minimum Timeline | What Happens |
|---|---|---|
| API initial release | T+0 | API enters "Active" state on SAP Business Accelerator Hub |
| Earliest deprecation | T+24 months | SAP may change status to "Deprecated"; successor typically identified |
| Deprecation announcement | T+24 months (earliest) | API marked "Deprecated"; deprecation date and successor documented |
| Decommission announcement | After deprecation | SAP announces retirement date, at least 1 year in advance |
| Earliest decommission | T+36 months (at minimum) | API disabled in productive environments; all calls fail |
| Support during deprecation | Deprecation to decommission | Bug fixes continue; no new features; full backward compat maintained |
| Contract | Name | Scope | Stability Guarantee | Use Case |
|---|---|---|---|---|
| C0 | Extension | Extension points of a repository object | Stable extension points across upgrades | Key user extensibility, custom fields, CDS extend |
| C1 | System-Internal Use | Object stable for same-system consumption | Upgrade-stable for on-stack development; field length extensions allowed | ABAP Cloud on-stack development, internal integrations |
| C2 | Remote API | Object stable for external consumption | Strictest stability; no field length changes allowed | External integrations, side-by-side extensions on BTP |
| C3 | Configuration | Configuration content delivery | Content stability | Customizing table entries |
[src6]
| Level | Name | API Type | Stability | Upgrade Risk | Recommendation |
|---|---|---|---|---|---|
| A | Cloud Ready | Released APIs only (ABAP Cloud) | Formal stability contracts | Zero — guaranteed upgrade-safe | Use exclusively for new development |
| B | Classic API | Classic APIs from Cloudification Repository | Generally stable (expert-nominated) | Low — may have successors | Acceptable; monitor changelogs |
| C | Unclassified | Internal objects (not released, not noAPI) | No guarantees | Medium-High — check Simplification DB | Migrate to Level A when successors available |
| D | Not Clean Core | noAPI objects, modifications, direct table access | None | Very High — expect breakage | Migrate immediately |
Navigate to the SAP Business Accelerator Hub and search for your API. The lifecycle badge (Active, Deprecated, Decommissioned) appears on each API page. For deprecated APIs, the page documents the deprecation date, successor API, and planned decommission date. [src1, src4]
# Check API status via SAP Business Accelerator Hub
# Navigate to: https://api.sap.com/
# Search for your API name or browse by product
# Look for lifecycle badge: Active | Deprecated | Decommissioned
# For deprecated APIs: note deprecation date, successor API link, decommission date
Verify: API page shows lifecycle state badge and, if deprecated, links to the successor API.
Assess your existing extensions and integrations against the 4-level model. Use the ATC (ABAP Test Cockpit) check in your S/4HANA system to identify which APIs your custom code consumes and their release status. [src5, src7]
" In SAP S/4HANA (ADT or SE80):
" 1. Run ATC check on your custom package
" 2. Look for findings related to:
" - Use of non-released APIs (Level C/D violations)
" - Use of deprecated APIs
" - Direct table access instead of CDS views
" 3. Navigate to each finding to see the released successor
"
" In Eclipse (ADT):
" Right-click package > Run As > ABAP Test Cockpit
" Filter by: "Cloud Readiness" check variant
Verify: ATC results show 0 findings for Level C/D usage in new development.
For each deprecated API your integration consumes, use the API Comparator on SAP Business Accelerator Hub to see a side-by-side comparison of deprecated fields vs. successor fields. [src3, src8]
# On the deprecated API page in SAP Business Accelerator Hub:
# 1. Click "Successor API" link
# 2. Use API Comparator (if available) to compare field-by-field
# 3. Document: removed fields, renamed fields, changed data types
# 4. For CDS views: check the "Deprecated and Decommissioned CDS Views"
# help page for your S/4HANA Cloud version
Verify: Migration mapping document exists for each deprecated API with field-level changes documented.
Based on the guaranteed timelines, build your migration plan. The minimum window from deprecation to decommission is 1 year, but SAP recommends migrating as soon as the successor is available. [src1, src2]
Migration Timeline Template:
|-------|-------|-------|-------|-------|-------|
T+0 T+6mo T+12mo T+18mo T+24mo T+36mo
| | | | | |
API Earliest Earliest Earliest Earliest
released deprec. decomm. decomm. decomm.
announce announce (best (worst
(1yr case) case)
before)
Action items:
1. Month 0-6 after deprecation: Analyze successor API, document field mapping
2. Month 6-9: Develop and test migration in sandbox
3. Month 9-12: Deploy to production; decommission old integration
4. Buffer: Always complete migration 3 months before announced decommission date
Verify: Migration plan has target completion date at least 3 months before announced decommission date.
# Input: SAP API name or path
# Output: Current lifecycle status and deprecation details
def check_api_status_heuristic(api_name: str, product: str = "S/4HANA Cloud") -> dict:
"""
Heuristic check for SAP API status.
In production, integrate with SAP API Metadata service or
parse SAP Business Accelerator Hub programmatically.
"""
known_deprecated = {
"API_PURCHASEORDER_PROCESS_SRV": {
"status": "deprecated",
"deprecated_date": "2024-05",
"successor": "API_PURCHASEORDER_2",
"decommission_date": "TBD (min 2025-05)"
},
"SFAPI_Partner_API": {
"status": "deprecated",
"deprecated_date": "2023-01",
"successor": "OData APIs per entity",
"decommission_date": "2024-01 (SuccessFactors)"
}
}
if api_name in known_deprecated:
return known_deprecated[api_name]
return {"status": "active", "note": f"Verify on api.sap.com for {product}"}
# Example usage
result = check_api_status_heuristic("API_PURCHASEORDER_PROCESS_SRV")
print(f"Status: {result['status']}")
print(f"Successor: {result.get('successor', 'N/A')}")
# Input: SAP S/4HANA Cloud system URL, OAuth token
# Output: HTTP status code (200 = active, 404 = decommissioned)
# Check if a specific OData service is available (not decommissioned)
curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer $SAP_TOKEN" \
"https://$SAP_HOST/sap/opu/odata/sap/API_BUSINESS_PARTNER/$metadata"
# Expected: 200 = active, 404 = decommissioned or not available
# For S/4HANA Cloud, verify API accessibility
curl -X GET \
-H "Authorization: Bearer $SAP_TOKEN" \
-H "Accept: application/json" \
"https://$SAP_HOST/sap/opu/odata/sap/API_BUSINESS_PARTNER?$top=1"
# Expected: JSON response = API is active and accessible
| Code | Meaning | Cause | Resolution |
|---|---|---|---|
| 404 Not Found | Service endpoint removed | API has been decommissioned | Migrate to successor API immediately |
| 410 Gone | Resource permanently removed | API decommissioned (if vendor returns 410) | Migrate to successor API |
| Deprecation header | API is deprecated but still functional | SAP may include deprecation warning | Begin migration planning; API still works |
| ATC finding | Use of non-released API | Extension uses Level C/D API | Replace with Level A released equivalent |
Monitor SAP release notes per release cycle (quarterly for S/4HANA Cloud Public Edition). [src1]Use API Comparator on Business Accelerator Hub to generate field mapping before migration. [src3, src8]Check SAP Note 2682094 and 2757846 for SFAPI-specific status. [src1]Run ATC Cloud Readiness check after each upgrade. [src7]Verify C2 (remote API) contract for any API consumed from outside the SAP system. [src6]// BAD -- treating SAP as a monolith
// "SAP gives us 2 years before deprecation, so we're safe"
// Reality: the 2-year policy applies to APIs on SAP Business Accelerator Hub.
// Product-specific APIs (SFAPI, Ariba, Concur) may have shorter timelines.
// Classic ABAP APIs have NO formal deprecation timeline.
// GOOD -- verify which policy applies to your specific API
// 1. Is API on SAP Business Accelerator Hub? --> 2-year/1-year policy applies
// 2. Is it a SuccessFactors SFAPI? --> Check SAP Note 2682094 for dates
// 3. Is it a classic RFC/BAPI? --> No formal deprecation policy; product lifecycle
// 4. Is it a direct table read? --> Level D; no guarantees at all
// BAD -- misunderstanding release contracts
// "This CDS view has a C1 contract, so it's safe for our external integration"
// Reality: C1 = system-internal use only. It allows field length changes
// that could break external consumers.
// C2 = remote API use. Only C2 guarantees stability for external integrations.
// GOOD -- use the right contract for the right scenario
// On-stack ABAP Cloud extension? --> C1 (system-internal) is sufficient
// External integration via API? --> Require C2 (remote API) contract
// Custom fields/extensibility? --> Require C0 (extension) contract
// Configuration content? --> C3 (configuration) applies
// BAD -- choosing convenience over stability
// "The unreleased BAPI does exactly what we need, stable for years"
// Reality: Level C/D objects have no stability guarantee.
// SAP can change or remove them without notice in any release.
// GOOD -- invest in Clean Core from the start
// 1. Search SAP Business Accelerator Hub for released equivalent
// 2. If no released API exists, use Level B (classic API) as interim
// 3. Register customer influence request for the missing released API
// 4. Plan migration to released API when SAP delivers it
// 5. NEVER build new integrations on Level C/D objects
Track both product lifecycle AND API-specific deprecation separately. [src1]Always check product-specific deprecation notices in addition to the central policy. [src1]Require C2 release contract for any API consumed remotely. [src6]Use the deprecation window for orderly migration rather than emergency action. [src1, src3]Include ATC Cloud Readiness check in every upgrade testing cycle. [src7]Migrate Level C objects to Level A/B proactively. [src5]# 1. Check API status on SAP Business Accelerator Hub
# Navigate to: https://api.sap.com/
# Search for API name -> check lifecycle badge (Active/Deprecated/Decommissioned)
# 2. Run ATC Cloud Readiness check (in SAP system)
# ADT (Eclipse): Right-click package > Run As > ABAP Test Cockpit
# Select check variant: "Cloud Readiness" or "ABAP Cloud Readiness"
# Review findings for: unreleased API usage, deprecated API usage
# 3. Check Simplification Database for upgrade impact
# Transaction: /n/SDF/SMON or Simplification Item Catalog
# URL: https://me.sap.com/app/simplification
# Filter by: your S/4HANA target release
# 4. Check SuccessFactors SFAPI status
# SAP Note 2795839: SFAPI feature status check tool
# SAP Note 2682094: Partner API, SFAPI Adhoc deprecation details
# 5. Verify CDS view deprecation status (in SAP system)
# ADT: Open CDS view > check "Release State" in Properties
# States: Released (C1/C2), Not Released, Deprecated
# For deprecated views: check "Successor" annotation
| Policy Version | Effective Date | Status | Key Changes | Notes |
|---|---|---|---|---|
| Current (SAP API Style Guide, Public) | 2024-present | Active | Clean Core Level A-D model introduced | Replaces 3-tier extensibility model |
| 3-Tier Model | 2022-2024 | Superseded | Tier 1 (ABAP Cloud), Tier 2 (gap), Tier 3 (classic) | Binary clean/not-clean assessment |
| Original API deprecation policy | 2020-present | Active | 2-year minimum before deprecation, 1-year before decommission | Central policy unchanged |
| Use When | Don't Use When | Use Instead |
|---|---|---|
| Planning migration from deprecated SAP APIs | Need specific API rate limits or endpoints | Individual SAP API capability cards |
| Assessing risk of building on classic ABAP APIs | Need Salesforce/Oracle/other vendor deprecation policy | Vendor-specific deprecation policy cards |
| Evaluating Clean Core compliance of existing extensions | Need SAP product end-of-support dates | SAP product lifecycle / maintenance schedule |
| Choosing between released (Level A) and classic (Level B) APIs | Need step-by-step API authentication guide | SAP authentication/integration capability cards |
| Building upgrade risk assessment for S/4HANA migration | Need pricing or licensing details | SAP commercial/licensing resources |
| Policy Aspect | SAP | Salesforce | Oracle ERP Cloud | Notes |
|---|---|---|---|---|
| Min. active period before deprecation | 2 years | 3 years (API version support) | Varies by service | SAP shortest formal guarantee |
| Min. notice before decommission | 1 year | 3+ years (version retirement in groups) | 1 year typical | Salesforce most generous |
| Deprecation announced where | SAP Business Accelerator Hub | Release Notes + Trust site | Oracle Cloud docs | |
| Formal stability contracts | Yes (C0-C3 release contracts) | No (version-based support) | No (release-based) | SAP most granular |
| Extension level model | 4 levels (A-D Clean Core) | No equivalent | No equivalent | SAP unique |
| Bug fixes during deprecation | Yes | Yes | Yes | Industry standard |
| New features during deprecation | No | No | No | Industry standard |