Skip to Content
Technical Articles
Author's profile photo Eaksiri Sontisirikul

Export Employee Photos from SuccessFactors (with zero coding) using SAP Cloud Integration

Introduction

It’s a common requirement to migrate employee photos from either legacy systems or SAP HCM to a SuccessFactors system. There are a couple ways to do it—bulk photo upload through a SF SFTP server or using the OData API.

The first option is the most common approach. You just prepare the employee photos in the JPEG format along with a CSV file that maps between SF username and photo file name. More details can be found in the note 2094242 – Photos: How to Upload and Edit Live Profile Photos.

And if you want to retrieve those employee photos back to the JPG files. You can also get it done by using Integration Center with the attachment option.

Anyway, assuming if you have another requirement to not only export employee photos, but also to construct a CSV file linking between employee ID and employee photo file, or generate more complex file name ouput. Then you have to find another option.

The integration tool that I can think of is SAP Cloud Integration. Because I think it’s quite simple with no coding required where I use the SCI to retrieve employee photo from SF (in the base64 format) and then convert it into a file with JPG format (and anything else…).

Prerequisites

  • Basic knowledge of SAP Cloud Integration (SCI) & SuccessFactors (SF)
  • Access to the SCI, SF, and SF SFTP instances

Configurations

(1) Retrieve Employee Photo from SuccessFactors using OData API

The Photo entity is used for retrieving employee photos. The following example I specify the user ID and photo type – 1 (Live Profile picture) for testing purpose.

Additional parameters can be found in the SAP SuccessFactors HCM Suite OData API: Reference Guide document.

The actual XML data you will get from this step will look like this. The photo field value contains the employee photo data in the Base64 format.


(2) Get Employee Photo data in Base64

Now I use Content Modifier to get user ID and photo in the message header.

Name: userId
Type: XPath
Data Type: java.lang.String
Value: /Photo/Photo/userId

Name: empPhoto
Type: XPath
Data Type: java.lang.String
Value: /Photo/Photo/photo

Then I only set photo data back to the subsequent step (because we don’t want the whole XML data, do we?) in the message body.


(3) Base64 Decoder

Basically this step is to convert the base64 data into binary data. There’s no parameter required in this step.


(4) Transfer employee photo file to SFTP server

The output file name is dynamically created based on the user ID we get from the earlier step.

Output Result

Conclusion

I believe there are many ways to mass export employee photos from a SuccessFactors system. But I hope my blog is helpful in one way or another.

 

Assigned Tags

      9 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Guilherme Soliman
      Guilherme Soliman

      Very good. Thanks for sharing.

      Author's profile photo Naresh Dasika
      Naresh Dasika

      Informative blog!! Thanks for sharing.

      Author's profile photo Anand Athanur
      Anand Athanur

      Hi Eaksiri,

      Nice blog btw! There's another way to achieve what you're doing, namely by using Integration Center built into SuccessFactors to extract the photos or any attachment for that matter. We can do all that without creating an iFlow.

      Great stuff, nevertheless. Contact me via email if you need more information.

      Thanks.

      Andy

      Author's profile photo Christian Dalsgaard
      Christian Dalsgaard

      Hi,
      How do you set configure fields in order to export pictures?

      Author's profile photo Timmy Becker
      Timmy Becker

      Thanks for the helpful scenario. I've a stupid question, I'm getting always just one picture as a result. How to modify the config to receive more or all pictures?

      Thanks.

       

      Best regards,

      Timmy

      Author's profile photo sergio diaz
      sergio diaz

      Hi, I'm looking for help: you can indicate the size in pixels of the image for the employee's profile. I try to upload image of the employees with a size of 900x1000 px and load them blurry.

       

      Author's profile photo Former Member
      Former Member

      I want to put a success factors user photo  in a master-detail sapui5 wiew. Can you help me to get a code example?

      Author's profile photo Sergio Silva
      Sergio Silva

      great tips!

      Author's profile photo Meenu Sharma
      Meenu Sharma

      This helps, thanks a lot.