Symptom
When you run a "TrendData" Odata API query, it returns the value of field: 'Rating' as "-1972"
Environment
Successfactors
Reproducing the Issue
Execute below Odata Query:
OData Request:
<queryString>SELECT description,end_date,id,label,lastModified,max,min,module,name,rating,source,start_date,userId FROM trenddata_sysoverallcompetency </queryString>
Odata Response:
<sfobject>
<id>XXXXXXX</id>
<type>TrendData_sysOverallCompetency</type>
<description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<end_date>2008-12-31</end_date>
<label xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<lastModified>2008-11-03T13:51:30.000-05:00</lastModified>
<max>3</max>
<min>1</min>
<module>Performance Manager</module>
<name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<rating>-1972</rating>
<source>Form</source>
<start_date>2008-01-01</start_date>
<userId>XXXXX</userId>
</sfobject>
On UI, you will see the Value of field Rating as 2, as shown in below screenshot.
Cause
In database, the value for Unrated is stored as rating -1972
Resolution
This is the expected behavior for the Unrated selection as the value stored in database itself is -1972.
If you are querying this field via an API, you should write a rule to update the returned value (-1972) to the label you desire.
This also implies for field "Too New to Rate" which is returned as -1971.
Keywords
Performance Rating, -1971, -1972, Rating, TrendData_xxx , KBA , LOD-SF-INT-ODATA , OData API Framework , LOD-SF-INT , Integrations , LOD-SF-INT-API , API & Adhoc API Framework , Problem