Skip to Content
Product Information
Author's profile photo Abisheg Suresh

Automated Goal Import/Assignment

A question we’ve been asked multiple times – Can goal import/assignment be automated?

A lot of organisations have a goal or multiple goals that need to be added/assigned to all employees (example: a global compliance goal). At the start of the year HR Admins usually do a bulk upload using ‘Goal/Objective Import’, but the problem arises when wanting to assign the same to all new joiners through the year – as this is a lot of manual work, and hence the request for automation.

The answer: Yes, this can be automated using Integration Centre (like every other product/document, this comes with limitations, so if the solution can meet 100% of the ask will depend on the requirements as well as the known limitations of the tools).

Disclaimer: Please note that this is a custom solution that SAP Product Support is unable to assist with implementing.

High level architecture:

  1. Integration Centre will export the file with the username and goal details once every month (or any other frequency supported by Integration centre scheduler) based on the filter criteria
  2. The file will be placed in the SFTP folder
  3. An email will be sent to the concerned team on the file export status
  4. A provisioning (back end of SuccessFactors) job will be scheduled to pick up the file from the SFTP folder
  5. An email will be sent to the concerned team regarding the import status

Pre-Requisites:

  1. Access to Goal plan import template
  2. Integration Centre
  3. Provisioning (for partners only) or Goal import access via Admin Centre

 

Now for the details:

  • Integration Centre file
    1. The export file needs to be of the same format expected by ‘Import Goals’ in Admin Centre (Goal Import | SAP Help Portal) – sample screenshot:
    2. And to build this, you will need to use ‘Scheduled EDI/Stacked File Output Integration’ in Integration Centre.
    3. Select ‘User’ as the starting entity
    4. In the first tab – ‘Options’ – select ‘EDI/Stack Delimited’ and Comma as the delimiter as highlighted below:
    5. Now to build the file – move over to ‘Configure Fields’ and select ‘Insert Sibling’ for the first node:
    6. The first node will get added as below
    7. Click on ‘New Element’ and then on ‘+’ to ‘Insert Sibling’
    8. Select ‘New Element’ under ‘1’ and add a default value of ‘OBJ_PLAN_ID’. Similarly select ‘New Element’ under ‘2’ and add a default value of matching the goal plan template id (11 in my case). Note: You could rename the label as a good practice, just to easily understand the use of the field.
    9. Now to create the next line, similar to the template, select the next row which is blank, click on ‘+’ and ‘Insert Sibling’
    10. Start populating the fields to mirror the CSV Header of the Goal plan
    11. Now that the headers have been populated to mirror the csv template, it is time to start getting the rows for individual employees. For this, you will need to ‘Insert Sibling’ to the blank row after the last header row, and then select the ‘New Segment’ and click on ‘Set/clear this row for paging/batching multiple starting entity records in one document’.
    12. After which the row will look like the below screenshot:
    13. I am going to ‘ADD’ a goal to all employees who have been hired after the ‘last run’; however, you could use the import as specified in the guide for addition of goals or assigning group/team goals and use all the filter options. For this, I would select the association as username for the ‘new element’ under the ‘FILTER_USERNAME’ element
    14. Now to add the goal details, you could add default values under each goal field. (Please note date fields must be of the format mm/dd/yyyy). In my case, as I have EC in my demo instance, I use the start date from Job info – however you can use start date from EP if you do not have EC and/or other filters to suit your requirements.
    15. I now set my start date to be greater than my last run time i.e., I only want to assign the goals to new joiners since my last run.
    16. You can now set the destination details and schedule the job according to your requirements. (Please ensure the file extension is csv)

 

  • Importing the file

In provisioning, select ‘Goal Import’ as the job type. You can select the ‘Read-only objectives’ checkbox if applicable

Points to note:

  1. For the import, if it must be an end-to-end automated solution, provisioning is the only way to go and will require a partner’s assistance to setup the job. However, if you are not engaged with any partners for support/upgrades, you can automate the export to SFTP via Integration Centre, but the import will need to be done manually after downloading the file from the SFTP folder. In this case my recommendation would be to schedule the job only once a month, to reduce manual workload for admins.
  2. When you download a preview file from Integration Centre, this will always be in .txt format. You can change the file extension of the downloaded file to .csv to check if the preview looks as expected.
  3. Please save the Integration centre file every time you add a new element/make some changes, as there are a lot of fields and Integration centre does not auto save.
  4. When using Group/Team goals you do not have to provide all the goal details, only the Goal Id, under the ID is sufficient, but please ensure the change the action to ‘ASSIGN’ instead of ‘ADD’ as the group/team goal will need to be created in the instance first and then assigned via the import file. (Also, if already upgraded to Latest Goal Management, group goals are not supported and hence you will only be able to use Team Goals)
  5. Filters – You can add as many filters as you would like, especially if you have EC. I built a file with 20+ filters and calculated columns based on hire date, rehire date, global assignment, language, company code, position id, job code etc., – absolutely loved the options!

Hope this helps in automating the import process. Please share your feedback/ views on the same.

Disclaimer: Please note that this is a custom solution that SAP Product Support is unable to assist with implementing.

You can find more details on Performance and Goal Management questions and answers from other fellow community members over here: All Questions in SAP SuccessFactors Performance & Goals | SAP Community

Assigned Tags

      5 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Karen Perez
      Karen Perez

      Such a great blog! Thanks for sharing, Abisheg.

      Author's profile photo Vivek Shetty
      Vivek Shetty

      Hi Abisheg,

      This is great and it works well when tested for one goal.

      How do we add multiple goals in the same file? If we add another row and move the Paging/Batch Element, then first row loses it. Is it a limitation?

      Thanks in advance.

      Author's profile photo Abisheg Suresh
      Abisheg Suresh
      Blog Post Author

      Hi Vivek,

      Thank you for your feedback.

      I see two scenarios in this question, let me try and break it down.

      Scenario 1: Multiple goals to be added to all employees

      Yes, you are right, in this approach it is one goal to be added to all employees, the file will not be able to accept multiple goals for the same employee.

      However in this case I would just copy the final version of the integration centre config with one goal and 'save as' a new version with the other goal - so you will end up having separate files for each goal - but still can be automated end-to-end.

      Scenario 2: Different goals to be added to different sets of employees based on filter criteria

      In this case, instead of adding the goal details as a 'default value' you could use calculated columns and use filters from within that to add a default value for each 'set' of employees and so you will still be able to handle the whole scenario within 1 integration centre file.

      Hope this is helpful, please let me know if any other details are required.

      Regards

      Abisheg

       

      Author's profile photo Vivek Shetty
      Vivek Shetty

      Hi Abisheg,

      Thank you for your quick response.

      Yes, I am trying to achieve both scenario 1 and 2.

      We have Bonus and Sales goals in multiple languages. So, for languages I am thinking of using calculated columns/filters. But for scenario 1, I think I will have to copy the integration as you suggested. I will test this 🙂

      Thanks a lot for your inputs.

      Kind regards,

      Vivek Shetty

      Author's profile photo Vivek Shetty
      Vivek Shetty

      Hi Abisheg,

      We have successfully tested this. One point I would like to mention regarding provisioning job -

      2072025 - In order to schedule goal import jobs you need to use the Job type: TGM FTP Data import only.

      NOTE: there is another job type labeled 'Goal Import', but it is a legacy setting. Hence, if you select this one, it will not process the "beta goal template" properly.

      Kind regards,

      Vivek Shetty