SAP Knowledge Base Article - Public

3104301 - Business Rule is not triggered via OData API

Symptom

When performing an Upsert request via API call:

  • The business rule is not triggered. 
  • This rule is triggered through UI but not when an API upsert is performed. 

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 HXM Suite
    • OData API
    • Business Rules

Reproducing the Issue

  1. Create an onSave rule on base object "Compensation Info".
  2. Perform an Upsert on a record via API. 
  3. Rule is not triggered.  

Resolution

OData APIs and data imports have the same behaviors regarding the triggering of business rules.

So when doing an API Upsert on the objects that support the trigger of a business rules (these objects are listed on guide page Configuring Business Rules for Data Imports), please consider the following details:

  1. Make sure that, in the rule configuration, its Rule Context "API" was set to Yes:


    More details on guide page Adding Contexts for Business Rules.

  2. Make sure that the API user doing the Upsert is allowed to access the API entity through the permission "Enable business rules for selected entities" in its RBP (refer again to the guide page Configuring Business Rules for Data Imports).

Keywords

OData, API, Business Rules, API call, rule, not triggering,  , KBA , LOD-SF-INT-EC , Employee Central SFAPI & OData Entities , LOD-SF-INT , Integrations , LOD-SF-INT-ODATA , OData API Framework , Problem

Product

SAP SuccessFactors HCM all versions