SAP Knowledge Base Article - Public

3616502 - Handle INTERNAL_ERROR situations in Compound Employee API caused by large record counts

Symptom

A standard SAP SuccessFactors Integration, a Custom Integration or a CompoundEmployee API query aborts with an INTERNAL_ERROR message caused by large record counts or too big response size

Environment

SAP SuccessFactors Compound Employee API

Cause

SAP must protect the API servers which are shared between different customers against problematic usage. Extracting too many records in one batch can negatively affect the API server stability and the performance of any involved middleware or target system.

 

The data extraction is aborted when one of the following situations arises:

  • More than 50.000 records per MDF-Segment in one batch were fetched.
  • More than 300.000 records per HRIS-Segment in one batch were fetched.
  • More than 400.000 records across all segments in one batch were fetched.
  • The query response exceeds 300 MB.

  

Additionally, “Response Thresholds” Admin Alerts are generated for API calls that exceed 80% of these thresholds. These alerts help you monitor your integrations:

  • You can use the information from the admin alert to identify the affected integrations.
  • You can configure email notifications for admin alerts to be notified before API calls are erroring out.

WNV: New Thresholds for Employee Central Compound Employee API

Resolution

Reduce Page Size

As an immediate action you can lower the page size of the query to approximately the half of its current size. This can be done by adjusting the integration settings as follows:

For standard SAP SuccessFactors Integrations

    • Modify the page size in the connector settings (e.g. SAP Cloud Platform Integration) or process parameters.

 
For Custom Integrations or direct API Calls

    • Modify the page size in the connector settings (e.g. SAP Cloud Platform Integration).
    • Adjust the CompoundEmployee Query itself by using the maxRows query parameter (Supported Query Parameters).
        

The P2P-Integration into EC Payroll is running with a default batch size of 200 which currently can’t be configured to a lower amount. Please check the alternative resolutions.

    

Reduce Extraction of historical data

In standard integrations there is typically a “Full Transmission Start Date” configured which will exclude historical data from the integration which is no longer meant to be changed/relevant. Set this Date to a higher value to reduce the overall data amount transferred.

For Custom Integrations or Direct API Calls you can reduce the extracted data by using the following filters to exclude historical data which is no longer meant to be changed/relevant

Please note that you should keep these filters up to date.

  

Reduce General Data Volume

Please keep in mind that the CompoundEmployee API only supports master data entities and should not be used to replicate transactional data. Replicate such data separately using OData.

 Try to reduce the high volume of master data as follows:

  • Remove any segment from the query which is not needed.
  • Job Information/Compensation:  Question why these segments contain so many records. Do they possibly contain information that has a transactional data flavour such as shift indicators which are changed very frequently?
  • Job Relation: Keep in mind that all job relation records are split if you delimit one job relation record. This can lead to a high record number and should be prevented as effectively as possible.
  • Transferring custom MDF entities is only supported if they contain master data. You can't register entities that contain transactional data, such as employee time data.
  • Associated Employee Information: Request the associated employee information only if it is necessary. The job information itself contains manager identifiers like Manager Assignment ID External, Manager Employment ID, Manager Person ID, Manager Person ID External and Manager Person UUID which are in most cases sufficient. If specific fields from the associated employee information are needed, use field selection (Field and Segment Selection | SAP Help Portal) to extract only the necessary fields, thereby reducing the response size.

See Also

Compound Employee Developer's Guide

Keywords

threshold, CE, Compound Employee, CompoundEmployee, SFAPI, SuccessFactors API, end date filter, abort, aborted, best practice , KBA , LOD-SF-INT-CE , Compound Employee API , How To

Product

SAP SuccessFactors HCM Suite all versions