SAP S/4HANA Cloud SDK – Release Notes

Version 1.11.1

May 10, 2018 - Maven Central

Compatibility Notes:
  • Update requests with the Java Virtual Data Model (VDM) no longer send all non-null fields to the SAP S/4HANA system, but only changed fields. You may need to adapt the logic in your code to explicitly change fields by using the setters of the entity classes, or use the includingFields method to manually specify fields to include.
  • The name of entities in the VDM for the business event queue service have been changed to improve readability. You may need to change the references in your code as follows: C_Behqueuedata is now Behqueuedata, I_BusinessObjectKeys is now BusinessObjectKeys, and I_BusObjects is now BusObjects. Corresponding fluent helpers and other names have changed similarly as well.

New Functionality

Improvements

Fixed Issues

Version 1.10.0

April 12, 2018 - Maven Central

Compatibility Notes:
  • The dependency javax.inject is no longer transitively provided by some modules of the SAP S/4HANA Cloud SDK. You may need to add a dependency on javax.inject:javax.inject to your pom.xml if you depend on it.
  • As part of a reworked structure of authorization token handling on SAP Cloud Platform Cloud Foundry, the JwtBearer class has been replaced by AuthToken.

New Functionality

Improvements

Fixed Issues

Version 1.9.4

March 29, 2018 - Maven Central

Known Issues:
  • Authentication via OAuth2 SAML bearer flow on SAP Cloud Platform Cloud Foundry does not work with Spring security configuration in version 1.9.4. Use version 1.10.0 or higher instead.

Compatibility Notes:
  • This version contains the Virtual Data Model (VDM) generator for OData services as a preview release. The preview of the VDM generator is meant to gather feedback, but not yet meant for productive use. The API and functionality of the later full release may differ from the preview release.

New Functionality

Improvements

Fixed Issues

Version 1.9.3

March 15, 2018 - Maven Central

Compatibility Notes:
  • This release updates the dependency to the SAP Cloud Platform SDK for service development to version 1.13.1. In the SAP S/4HANA Cloud SDK, this library is mostly used internally in the SAP S/4HANA virtual data model (VDM) for OData services. You may be using the library directly when manually constructing OData requests, for example, using the ODataQueryBuilder. Please find the release notes of the SAP Cloud Platform SDK for service development at help.sap.com.

New Functionality

Improvements

Fixed Issues

Version 1.9.2

February 15, 2018 - Maven Central

Compatibility Notes:
  • Important note: To improve consistency and ease of use, this version renames many packages and services within the SAP S/4HANA Virtual Data Model (VDM) for OData services.
    It is most likely that code using the VDM classes needs to be adapted by adjusting the package and class names. We renamed the services according to the rules outlined in the following list.
    For each change to the name of a service interface, the names of the corresponding default implementation class (same name as interface, but prefixed with "Default") and of the package under com.sap.cloud.sdk.s4hana.datamodel.odata.namespaces.* (same name as interface, but in lower case and without suffix "Service") have also been changed. In detail, the following changes have been made:
    • Remove prefixes from services that describe the supported operations (as those tend to change from version to version). For example, rename CreateAndUpdateCommercialProjectsService to CommercialProjectService.
    • Remove similar redundant prefixes such as "Process" or "Manage". For example, rename ProcessSalesOrderService to SalesOrderService.
    • Rename plural forms to singular to improve consistency. For example, rename ProcessPurchaseOrdersService to PurchaseOrderService.
    • Rename further services as follows: ReadCostCenterDataService to CostCenterService, BillOfMaterialMaintainService to BillOfMaterialsService, ReadGorlAccountService to GeneralLedgerAccountService, ManageWorkforceAvailabiltyService to WorkforceAvailabilityService, EnableExternalJobSchedulerIntegrationService to ExternalJobSchedulerIntegration, ReadAndUpdatePirsService to PlannedIndependentRequirementService.
  • We also refactored the VDM classes for BAPI services to more accurately represent the single value-typed parameters of those BAPIs, thereby increasing readability and type-safety.
    Many types that represent a single value have been changed and added, for example CostCenterCategory. They are used as types of parameters of BAPI service methods. The functional scope of the fluent API has not changed. In order to update your application, please exchange the old class names with the new ones, suggested by your IDE. You still use the same primitive parameter values used to contruct those single value types.
  • The EjbUtil helper class has been deprecated, as its functionality is no longer required in newer JavaEE containers.

New Functionality

Improvements

Fixed Issues

Version 1.8.0

February 1, 2018 - Maven Central

Known Issues:
  • Using version 1.8.0 is NOT recommended for a multi-tenant application in the Neo environment of SAP Cloud Platform; consumers are instead recommended to update to version 1.9.2. Version 1.8.0 has a bug that manifests only in the Neo environment of SAP Cloud Platform where running in non-container managed threads would always use the tenant context of the provider, not the consumer account. Version 1.9.2 fixes this bug. Applications running in the Cloud Foundry environment are not affected by this bug.

Compatibility Notes:

Improvements

Fixed Issues

Version 1.7.1

January 18, 2018 - Maven Central

Compatibility Notes:
  • The update of the TomEE adapters for Arquillian to version 1.7.5 makes the use of the dependency org.jboss.arquillian.junit:arquillian-junit-container obsolete. This dependency has been removed from the SDK BOM, you may have to either remove the dependency from your integration-tests/pom.xml file or add a version to it (e.g., 1.1.5.Final).
  • Due to the switch from MockServer to WireMock, any tests written using the MockServer implementation have to be migrated (see Getting Started with WireMock).
  • DestinationType is now an enum instead of a class to better reflect the available destination types.

New Functionality

Improvements

Fixed Issues

Version 1.6.0

December 21, 2017 - Maven Central

Compatibility Notes:
  • Builder methods for navigation properties have been renamed from to[NavigationProperty] to [navigationProperty] in order to improve readability.
  • Methods of the VDM such as select or filter that before expected a generic EntityField instance now expect entity type-specific instances, for example, BusinessPartnerField (only relevant if you used your own EntityField instances, for example, to represent custom fields).
  • Previously malformed acronyms in field names have been fixed, resulting in changed names of variables available from entity types (example: BusinessPartner.BUSINESS_PARTNER_U_U_ID has been renamed to BusinessPartner.BUSINESS_PARTNER_UUID).

New Functionality

Improvements

Fixed Issues

Version 1.5.0

December 7, 2017 - Maven Central

Compatibility Notes:

New Functionality

Improvements

Fixed Issues

Version 1.4.0

November 23, 2017 - Maven Central

Compatibility Notes:

New Functionality

Improvements

Fixed Issues

Version 1.3.0

November 9, 2017 - Maven Central

Compatibility Notes:

New Functionality

Improvements

Fixed Issues

Version 1.2.0

October 26, 2017 - Maven Central

Compatibility Notes:

Deprecation Note: This version deprecates the obsolete functionality of retrieving ErpSystemInfo.

Known Issues

New Functionality

Improvements

Fixed Issues

Version 1.1.2

October 12, 2017 - Maven Central

Compatibility Note: This version uses Mockito 2.10.0, Mockito 1.x is no longer supported.

Details on the incompatible changes can be found here.

New Functionality

Improvements

Fixed Issues

Version 1.1.1

September 29, 2017 - Maven Central

Compatibility Note: OData navigation properties in S/4HANA virtual data model now use prefix fetch instead of get.

For example, a property that was previously named getItem() is now called fetchItem().

New Functionality

Improvements

Fixed Issues

Version 1.0.0

September 14, 2017 - Maven Central