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
Keywords
OData, CBO, Custom Business Object, Key field, SAP_UUID , KBA , BC-SRV-APS-EXT-BO , Custom Tables and Nodes , How To