SAP Knowledge Base Article - Public

3400398 - Odata Upsert in MDF object is failling with 504 response code


You are performing an upsert of data to MDF objects and when running the integration, it is failing with 504 responseCode


  • SuccessFactors
  • Odata API
  • The upsert contains inline upsert of picklists

Reproducing the Issue

  1. Use any middleware tool
  2. Build your payload to upsert the MDF object
  3. When running it fails with 504 response code 


Inline upsert of picklists has a high cost in terms of performance and should be avoided.

Example of not recommended payload

        "__metadata": {
            "uri": "Position(code='CODE',effectiveStartDate=datetime'2023-09-10T00:00:00')"
        "code": "CODE",
        "businessUnit": "CODE",
        "jobTitle": "TITLE",
        "jobCode": "CODE",
        "cust_job_gradeNav": {
            "__metadata": {
                "uri": "PickListValueV2(PickListV2_effectiveStartDate=datetime'1900-01-02T00:00:00',PickListV2_id='PICKLISTID',externalCode='9999')"
            "label_defaultValue": "test",
            "label_en_US": "test",
            "optionId": "99999"


Using this approach is not recommended due to performance reasons, instead we recommend customers to:

  1. Create the picklist values in a separate upsert call
  2. Then upsert the MDF objects using the picklist values created


504, upsert, error upserting position, MDF upsert 504, inline picklist upsert error , KBA , LOD-SF-INT-ODATA , OData API Framework , Problem


SAP SuccessFactors HXM Suite all versions