Symptom
When reporting on the Application Audit via Ad-Hoc, on this case App Status Audit Trail domain, we can see there is some fields like Time in Status, Days in Status and Is Current Status, which are not possible to be found on OData API entities.
Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.
Reproducing the Issue
As an example, let's use the Time in Status field:
- Accessing the Ad-Hoc, and looking for the App Status Audit Trail, we can see the field "Time in Status" to be reported on:
- Now, when looking to get the same field via OData API, the entity JobApplicationStatusAuditTrail, there are no fields in there:
The same thing happen for a couple of other fields as well.
Cause
The fields are not implemented on the OData API entity.
Resolution
The main difference between the Ad-Hoc columns and the fields in OData API entities, is that the implementation on each of them is separate. The Ad-Hoc reporting tool is not based in OData API, so the fields are not necessarily the same, but it also has a different implementation method, and has more data treatment than OData API. The OData API as it is a different implementation, might not have the same fields, and if fields require some sort of calculation to provide the value, those are done in the Application level, which usually will not happen for the API fields.
On this case the JobApplicationStatusAuditTrail, does not have the exact same implementation as the table App Status Audit Trail in Ad-Hoc, which has a couple of different fields, and even allows for calculations on the application level, which OData API, being just an API provider that will query and respond the data back to the requester cannot do.
Keywords
API, query, app, status, audit, trail, jobapplicationstatusaudittrail, entity, odata, get, query, report, ad-hoc , KBA , LOD-SF-RCM-API , Webservices & APIs , Problem