Skip to Content
Technical Articles
Author's profile photo Angela Pullano

SuccessFactors Integration Center – Choose Function

Introduction

SuccessFactors Integration Center is a really useful feature that I have come to rely on heavily. Unfortunately there is limited documentation available on its use available for system admins so I am hoping this blog post may be of assistance. Many of the options are similar to other programming languages and functionality, but is contained within a more restricted UI with sometimes unexpected terminology or functionality.  For example, when creating calculated columns, it is not able to support logical conditional statements (for example “if field value equals xxxx OR yyyy OR zzzz), and it is also not possible to use more than three IF/THEN statements for any individual field (KBA 2759182 – Unable to create more than 3 If/Then/Else statements in Integration Center).

The workaround to the limitations described above is to use the “Choose” function in the calculated column which functions as CASE/IF logic.  Many thanks to my co-worker Deepthi for helping me to understand what the SuccessFactors Choose function was and how to apply it to our use-case. All screenshots are from our test environment.

 

Use-Case

We needed to anonymize (set value to zero) the pay amount field for particular combinations of compensation pay groups (two value options) and legal entities (17 value options) on an outgoing flat file integration. Given that we had ten “exceptions” we did not have enough IF/THEN statements available to accomplish this.  Experimentation with different common “OR” syntax in the condition statement (OR, |, ||, etc.) didn’t seem to be recognized by integration center – it evaluated it all as a text string.

Here is the completed calculated column:

calculated%20column%20logic%20using%20IF%20and%20CHOOSE%20functions

calculated column logic using IF and CHOOSE functions

 

Line 1 starts with looking at the value of the Pay Group.  Because only one of the values for Pay Group might need to be anonymized in our instance, it is a simple If/Else statement.  If the value isn’t 2, the integration will populate the column with the pay amount field value – lines 16-17.  If the value is 2, then it kicks into the Choose function to evaluate.  The choose function is set to look at the Legal Entity number/id field value.  Lines 4-13 check to see if the legal entity value is equal to the value listed in the When condition.  If true, it anonymizes the field by replacing it with a zero value.  If the record being evaluated doesn’t meet any of the when statements, it populates with the pay amount field value (lines 14-15).

 

Conclusion

As can be seen in the above use-case, it would be simpler to be able to to say:

If legal entity = ( 1 OR 2 OR 3 OR 4 OR 5)

Then ….

Please vote for IR IR 275481 Integration Center – Support Conditional Operators (OR, AND) for IF Statement if you agree.  In the meantime, hopefully the use of the Choose function may offer a solution for others with similar scenarios.  It doesn’t appear that the Choose function has a restriction on the number of “When” statements.  Choose will need to be used for calculated columns if you have more than three if scenarios.

 

P.S.  Here are a few other influence requests for enhancements to Integration Center’s functionality that I believe will make it an even better tool in the future!

IR 258976 Integration Center – Deliver Reports by Email

IR 275485 Integration Center – allow Calculated Column Improvements

IR 276316 Integration Center – pull corresponding records by effective date not as of date

IR 274777 Allow other file types (txt) and delimiters to be specified for input integrations besides csv

 

 

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.