SAP Knowledge Base Article - Public

2957231 - Key field in OData service generated from Custom Business Object

Symptom

You want to use a self defined key field in the OData service generated from the Custom Business Object to update the data in the Customer Business Object.

Environment

  • SAP S/4HANA Cloud Public Edition
  • S/4HANA

Cause

The OData service of a custom business object has a technical key and a semantic key.

The semantic key is the key that was defined in the custom business object as key fields.

When creating entries through HTTP method POST the semantic key is taken into account and is checked for uniqueness.

The technical key is the field SAP_UUID, which is a system generated field.

For all changes or deletions of entries through HTTP methods PUT, MERGE or DELETE the technical key must be provided to the URI.

An alternative to the OData standard functionality would be to use SAP_UPSERT.
For more information, check the documentation on Updating Business Object Instances with an OData Request.

Resolution

In order to update an entry, it is necessary to specify both the SAP_UUID and the semantic key field(s).

It is possible to retrieve the technical key SAP_UUID for a specific entry by using a GET request.

See Also

Custom Business Objects

Usage of OData Service of Custom Business Object

Updating Business Object Instances with an OData Request

Keywords

OData, CBO, Custom Business Object, Key field, SAP_UUID , KBA , BC-SRV-APS-EXT-BO , Custom Tables and Nodes , How To

Product

SAP S/4HANA Cloud 2002 ; SAP S/4HANA Cloud 2005 ; SAP S/4HANA Cloud 2008