Symptom
While attempting to submit an award in Rewards & Recognition there is a "Sorry" message appearing.
Why is this message appearing and how can the awards be submitted?
**Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental**
Environment
SAP SuccessFactors Rewards & Recognition
Reproducing the Issue
This "Sorry" message will populate while finalising a nomination.
Resolution
If we debug this message using the browser debugger we can see the following response.
{"error":{"code":"BadRequest","message":"Properties commentForApprovers are not insertable. Please check the property setting in Admin Center > OData API Data Dictionary or the entity metadata.",
"details":[{"code":"COE0030","message":"Properties commentForApprovers are not insertable. Please check the property setting in Admin Center > OData API Data Dictionary or the entity metadata."}]}}
This message indicates column "commentForApprovers" is not visible.
The following can be seen within our server logs:
https://*************.lab-rot.ondemand.com/odata/v4/SpotAwardService.svc/SpotAward
COPropertyNotEditableException [category=BadRequest, message=Properties commentForApprovers are not insertable. Please check the property setting in Admin Center > OData API Data Dictionary or the entity metadata.,
details=[ODataErrorDetail [code=COE0030, message=Properties commentForApprovers are not insertable. Please check the property setting in Admin Center > OData API Data Dictionary or the entity metadata., target=null, severity=null, longTextUrl=null]]] at com.successfactors.enginex.internal.service.entity.edit.COEditValidatorImpl.validateExtensionPermission(COEditValidatorImpl.java:219) at com.successfactors.enginex.internal.service.entity.edit.COEditValidatorImpl.validate(COEditValidatorImpl.java:93) at com.successfactors.enginex.internal.service.entity.EditFacade.validateEditRecord(EditFacade.java:139) at com.successfactors.enginex.internal.service.entity.EditFacade.insert(EditFacade.java:63)
With the payload request we are sending via API there is a requirement for this column to be visible.
This is needed should there be a message for approvers for not. A sample of the payload request is below which outlines the columns we are requiring for a currency-based program:
{"spotAwardProgram":"7622101",
"category":"7622108",
"level":"7622114",
"commentForApprovers":"",
"commentForReceiver":"UI Test commentForApprover not visible",
"awardAmount":"25",
"currency":"USD",
"userId":"12345"}
To correct this please do the following:
- From "Admin Center" go to "Configure Object Definition"
- Select Object Definition and search for spotAward
- Click "Take Action" and "Make Correction"
- Find the field commentForApprover and select the Details option
- The Visibility option here will be set as "Not Visible"
- Update this to be "Editable"
- Close the popup page for the column and save the object change at the bottom of the page
- From Admin Center go to OData API Metadata Refresh And Export
- Click "Refresh" on the Cache option
- Attempt nomination again which such now correctly process and submit
This message can potentially appear while debugging for any of these columns which may be incorrectly set.
For additional information on how columns should be set for spotAward and spotAwardProgram please review 2834652 - Rewards & Recognition - Tips and Tricks.
Keywords
commentForApprovers, unable to submit awards, rnr awards, posting award, rnr, sorry message, "sorry", COE0030, COPropertyNotEditableException , KBA , LOD-SF-RNR , Reward and Recognition , LOD-SF-RNR-ADM , Admin Tools, Program Setup & Object Permissions , Problem