Symptom
- When calling the Upsert API for FormPMReviewContentDetail → customSection → customElement, invalid values (for example, text into a numeric field or a value outside a picklist) are saved successfully without validation errors.
- For a numeric element, sending a non-integer value such as "abc" results in a successful response.
- For a picklist element, sending a value not in the predefined options results in a successful response.
- When invalid elementKey or valueKey values that do not exist in the form template are sent, the response is successful but no items in the form are updated.
Environment
SAP SuccessFactors Performance Management
Reproducing the Issue
- Call the Upsert API for FormPMReviewContentDetail → customSection → customElement.
- Provide invalid values in the payload (for example, send text in a numeric field, or a value not present in a picklist).
- Observe that the API returns success and the invalid values are stored.
- Optionally, set elementKey and/or valueKey that do not exist in the form template and observe a successful response with no actual form updates.
Cause
Standard system design.
Resolution
When updating custom element values via the OData API FormCustomElement, the API returns success but does not validate whether the value matches the custom element type before updating the form.
This is standard system design, not a product defect:
- This kind of API is designed as a low-level data write interface. It only performs basic validations (form existence, permission, editability) and trusts the caller to provide valid data.
- Field type validations (number, date, picklist, text format, etc.) only apply in the UI, not in the API layer.
Recommendation: Please implement full data validation on your client side before calling the API, including:
- Data type consistency
- Valid date format
- Numeric constraints
- Picklist value validity
See Also
Keywords
pm form, odata, upsert, formpmreviewcontentdetail, customsection, customelement, validation, picklist, numeric field, elementkey, valuekey, formcustomelement, coe_general_bad_request, pmgm api behavior, type validation, custom, value, validation, invalid, performance , KBA , LOD-SF-PM-API , Webservices, OData APIs , Product Enhancement
Product
SAP SuccessFactors Performance & Goals 2511
SAP Knowledge Base Article - Public