Symptom
Decimal values (e.g., 7.5 or 3.5) are being truncated to integers (e.g., 7.0 or 3.0) in the Custom Business Object (CBO) when uploading data via payload(XML) of batch request as below.
<m:properties>
<d:PersonnelNumber>00082528</d:PersonnelNumber>
<d:Date_HCM>2026-01-05T00:00:00</d:Date_HCM> <d:GrossCapacity>7.5</d:GrossCapacity>
<d:NetCapacity>7.5</d:NetCapacity>
<d:AbsenceCategory></d:AbsenceCategory>
</m:properties>
Environment
SAP S/4HANA Cloud Public Edition
Cause
The truncation of decimal values occurs due to incorrect handling of numeric fields in the OData Service.
Resolution
- Modify the payload to include the attribute `m:type="Edm.Decimal"` for numeric fields in the OData request.
- Update the payload structure as shown below.
<m:properties>
<d:PersonnelNumber>00082528</d:PersonnelNumber>
<d:Date_HCM>2026-01-05T00:00:00</d:Date_HCM>
<d:GrossCapacity m:type="Edm.Decimal">7.5</d:GrossCapacity>
<d:NetCapacity m:type="Edm.Decimal">7.5</d:NetCapacity>
<d:AbsenceCategory></d:AbsenceCategory>
</m:properties>
See Also
Keywords
decimal truncation, custom business object, cbo fields, odata request, edm.decimal, batch request, integration flow, s4hana cloud, numeric fields, gross capacity, net capacity, decimal values, truncated values, data handling, malformed uri exception, key field, sap upsert. , KBA , BC-SRV-APS-EXT-BO , Custom Tables and Nodes , Problem
SAP Knowledge Base Article - Public