SAP Knowledge Base Article - Public

3189282 - How to Anonymize Multiple Candidates Via Integration Center or OData API - Recruiting Management

Symptom

Using the tool Anonymize Candidate Profiles is possible to anonymize Candidate Profiles however there are some limitations:

  • You can delete only one Candidate Profile at the time;
  • The search results may be ambiguous in some circumstances, for example searching a candidate you get two results one candidate with uppercase email and another with the same email but lower case.

As an alternative, you can use Integration Center or OData API.

Environment

SAP SuccessFactors Recruiting Management

Resolution

Setting up this configuration or only part of the configuration is out of SAP Support scope. If any configuration part of the Anonymization process is required, please, engage an implementation partner or SAP Professional Services.

IMPORTANT NOTES:

  • This solution uses the RCM Entity Anonymization job and this job is limited in the number of records it can process in a single run. It is recommended that if you are following the steps outlined in this KBA, the RCM Entity Anonymization Job should be executed manually (not on schedule).
  • The Integration Center job to update the candidateLight entity should be ran in batches of maximum 1,000 Candidate Profiles and after each batch is executed in Integration Center. The RCM Entity Anonymization Job must be manually executed via Provisioning. After the RCM Entity Anonymization Job completes, the next batch of 1,000 Candidate Profiles can be updated via Integration Center and then execute the RCM Entity Anonymization Job after each batch.
  • Any associated Job Application will be automatically moved to the status "Declined DPCS" after the update and after running the RCM Entity Anonymization job, the Job Application will also be anonymized.
  • If the Candidate Profile has any Job Application under Forwarded or Invite to Apply statuses, the Job Application will be deleted, not anonymized (There won't be any record of the Job Application on the Job Requisition). This is expected as Forwarded and Invite to Apply Job Applications are not real Job Applications yet. These Job Applications are just placeholders until the Candidate applies or the Recruiter adds the Job Application manually via Late Stage. There's no data loss because these Job Applications don't have any information other than the Candidate Profile data.

Best Practices:

  • Always test the integration first on a Preview/QA environment prior the Production system;
  • As first attempt try one candidate ID only by providing one single Candidate ID in CVS file;
  • You can process several candidates just adding multiple lines in the CSV;
  • Create a report in Integration Center to monitor the status of “agreeToPrivacyStatement” field. The value should update from true to false. Also the Primary email will get instantly updated as consequence of the Deletion.

  • Part 1 (Via Integration Center):

For Previewing the records if less than 10 you can proceed as below, for more than 10 records it is recommended to add the candidate ids in a .csv file hosted on SFTP:

  1. Access Integration Center from Admin Center
  2. Click on My Integration > Create > Scheduled CSV Input Integration
  3. Select “CandidateLight” Entity using the search tool on the left
  4. Using a simple text editor prepare a CVS file as below:
    CandidateID,agreeToPrivacyStatement
    1234,false
    1235,false
  5. Click on “Upload Sample CSV” and select your CSV file created
  6. Select Operation: “Upsert Single” (this is very important since this scenario do not support “Upset Multiple”)
  7. Via drag&drop map the columns of your CSV to the relevant ODATA files as you see in the screenshot
  8. If the preview generate on the left is consistent, you can update the fields via “Run Preview Record”:

  • Part 1 (Via OData API):

You can perform the same resolution using OData API. The steps are the same. Here's an example of payload:

Upsert:

      {
        "candidateId": 1234,
        "agreeToPrivacyStatement": "false",
        "__metadata": {
          "type": "SFOData.CandidateLight",
          "uri": "CandidateLight(candidateId=5396)"
        }
      }

  • Part 2:

In order to trigger the anonymization, you will have to set up a scheduled job in Provisioning with the job type “RCM Entity Anonymization Job”. It is recommended that the scheduled job runs daily in order to achieve almost real-time anonymization.

See Also

Keywords

anonymize, agreeToPrivacyStatement, API, purge, delete, integration, center , KBA , LOD-SF-RCM-CAN , General Candidate Issues (not Offers, not Profiles) , LOD-SF-RCM-INT , Integration Center & Intelligent Services , How To

Product

SAP SuccessFactors Recruiting all versions