SAPPHIRE NOW 2019 is drawing closer and will start in less than two weeks from now. You can meet us there from May 7 to 9 at the topic station SAP S/4HANA Cloud Integration and Extension.
Already one day earlier, Monday, May 6, the SAP Global Partner Summit 2019 takes place. There, we will have dedicated sessions at the booth Deploy and extend SAP S/4HANA Cloud. For more details on our presence at the summit, refer to this blog post.

update, create, and delete operations. With this, you can group several OData operations as a single request to a system to improve performance and achieve transactional behavior. For now, only change sets are supported as part of the batch request, no reading operations.batch method available on each service representation to begin constructing a batch request. The returned fluent helper (for example, BusinessPartnerServiceBatch) allows to begin a new change set, add operations to this change set, and end the change set. After adding the desired change sets, execute the batch request as usual.BatchResponse batchResponse = new DefaultBusinessPartnerService()
.batch()
.beginChangeSet()
.createBusinessPartner(customer1)
.createBusinessPartner(customer2)
.endChangeSet()
.beginChangeSet()
.updateBusinessPartnerAddress(addressToUpdate)
.deleteBusinessPartnerAddress(addressToDelete)
.endChangeSet()
.execute();BatchResponse gives access to the results of individual change sets accessible by their index. As batch requests only have a meaningful return value (beyond success / error) for create operations, created entities returned from the server are accessible via getCreatedEntities.if( batchResponse.get(0).isSuccess() ) {
// Process created entities
List createdBusinessPartners = batchResponse.get(0).get()
.getCreatedEntities().stream()
.map(entity -> (BusinessPartner) entity)
.collect(Collectors.toList());
}count method available on all fluent helpers for queries. Calling execute on the fluent helper for count then returns the number of tuples. You can apply other query modifiers such as filter beforehand. Query options top and skip have no effect on the result.long doeCount = new DefaultBusinessPartnerService()
.getAllBusinessPartner()
.filter(BusinessPartner.LAST_NAME.eq("Doe"))
.count()
.execute();OAuth2UserTokenExchange. This authentication type is similar to the OAuth2SAMLBearerAssertion, as the user exchange token flow is conducted with the XSUAA which issues a JWT encompassing the user principal. It targets use cases where apps/reuse services on Cloud Foundry are invoked on behalf of the user, opposed to the usage of technical user via client credentials flow.withCustomQueryParameter, which is also available for by-key requests.failOnWarning (introduced both in the CLI and in the Maven plugin) to force the generator to exit with failure in case a warning occurs. Furthermore, all generated code files are now annotated with a comment in the beginning of each file that references the used generator version.eventType property found in message payloads that follow the cloudevents specification, like SAP S/4HANA Cloud.cancel in the material document service. Exports that group all function imports of one module are also available, for example, in the material document service.import { cancel } from '@sap/cloud-sdk-vdm-material-document-service';
cancel({materialDocument: '1010212', materialDocumentYear: '2019'})
.execute({destinationName: 'S4HANA'})
.then(header => ...)
.catch(...);
// alternatively, access via grouped function imports
import { functionImports } from '@sap/cloud-sdk-vdm-material-document-service';
functionImports.cancel({materialDocument: '1010212', materialDocumentYear: '2019'})
...TimeSheetEntry. We have added representations for complex type fields (example in timesheet service) to be used for filtering, ordering, and selecting in queries and by-key requests. We export interfaces and builder functions for complex types, for example, in the workforce timesheet service.import { TimeSheetEntry } from '@sap/cloud-sdk-vdm-workforce-timesheet-service';
var entry = await TimeSheetEntry.requestBuilder()
.getAll().top(10)
.select(TimeSheetEntry.TIME_SHEET_DATA_FIELDS)
// For illustration only, filtering on complex type is not supported by this service
.filter(TimeSheetEntry.TIME_SHEET_DATA_FIELDS.senderCostCenter.equals('109821'))
.execute({destinationName: 'S4HANA'});
var hours = entry[0].timeSheetDataFields.recordedHours;ETag version identifier during queries and by-key requests and supplies it as If-Match header during update requests. The OData service will only execute the update request if the version identifier is still the same as given in the header.If-Match: *. You can manually set ETags to custom values by using the explicit method setVersionIdentifier (example). In delete requests, explicitly set the version identifier using setVersionIdentifier on the request builder.moment, BigNumber) correctly.sdk-bom dependency.2.15.0.<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.sap.cloud.s4hana</groupId>
<artifactId>sdk-bom</artifactId>
<version>2.15.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
<!-- possibly further managed dependencies ... -->
</dependencyManagement>sdk-bom with sdk-modules-bom to only update the version of SDK modules, not further dependencies.-DarchetypeVersion=2.15.0 (or RELEASE).npm update in the root folder of your module. Note that this will also update other modules, unless you explicitly specify which packages to update. If you want to check beforehand what will change, use npm outdated.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 26 | |
| 24 | |
| 21 | |
| 13 | |
| 11 | |
| 9 | |
| 9 | |
| 8 | |
| 8 | |
| 8 |