SAP S/4HANA Cloud SDK: Version 1.4.0 is Available

The new version of the SAP S/4HANA Cloud SDK is available since today. You can update your dependencies to version 1.4.0 and consume the new version from Maven Central.
In this blog post, we will walk you through the highlights of this release. For a complete overview, visit our release notes. The release notes also include the change log of all our bi-weekly releases so far.

Release Highlights

Virtual Data Model for SAP S/4HANA Cloud 1711

With its version 1.4.0, the SAP S/4HANA Cloud SDK updates the OData virtual data model (VDM) to SAP S/4HANA Cloud 1711 to support all newly released or updated OData services of an SAP S/4HANA Cloud 1711 system. As explained in the blog post about the VDM itself, the VDM greatly simplifies reading and writing data from an SAP S/4HANA system in your Java code.

A look at the numbers: almost 40 completely new services have been added, more than 300 operations are newly available for the new and previously-existing services, and more than 100 new entity types have been introduced. A list of all available services in the VDM is available from package com.sap.cloud.sdk.s4hana.datamodel.odata.services,

At the same time, we also improved the documentation for the VDM in the form of Javadoc based on the latest information from the SAP API Business Hub.

Additional RFC Destinations

Sometimes, you want to connect to the same SAP S/4HANA system on premise with both HTTP (for OData) and RFC (for BAPIs). Due to the different protocol, this requires two separate destinations in the Cloud Platform destination service.

The SDK already in previous releases shielded you from the protocol details and hid them in the ERP config context. To access those destinations in you project, you needed to create two separate ERP config context objects (or ERP endpoints) for this. But then you always had to deal with two representations of the same SAP S/4HANA system.

Version 1.4.0 of the SDK allows you to transparently use the same context for RFC connections to a system that is also connected via HTTP. The context will represent both destinations. By default, the RFC destination is expected to have the suffix _RFC, for example, ErpQueryEndpoint_RFC. See the explanation of the different options for the ErpConfigContext.