SAP Knowledge Base Article - Public

2218874 - Upload of attachments to Employee Profile - SAP Employee Profile

Symptom

How can I correctly prepare a zip file for importing attachments to a specific portlet in Employee Profile?

"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 Employee Profile

Reproducing the Issue

List with possible error message during the Import process:

  • "Problem found during zip file processing"
  • "... Java.lang.IllegalArgumentException: MALFORMED ..."
  • "The import file has an invalid file. Please provide Zip file"
  • "The user ID is invalid, unknown, or unauthorized"
  • "UserName XXXXX: Invalid username"
  • "To upload a CSV file, you should deselect the "Upload attachments along with data" option in the Job Parameters section."

Cause

Currently, attachments can only be bulk imported via backend job. The only way to add them via UI is to add in the profile.

Resolution

1- Prepare the File and SFTP Details:

Importing attachments to the Employee Profile can be done by engaging SuccessFactors Support for running a job in the backend of your instance to bulk upload a list of attachments all at the same time. This is done by zipping all the files that need to be imported together with a .csv that maps the filenames to the ID of the user they belong to.

Below are the full steps for this process:

  1. Gather all the files that need to be imported on the same folder - It means, please ensure the attached file has NO subfolder.
  1. Log into SuccessFactors and go to Admin Center > Export Extended User Information > click on “Background Information” > click ok “Export Template”.

This returns a template for all the portlets (background-elements) available in the instance. Remove all except the one that corresponds to the portlet for which the attachments should be imported.

This is an example of how the .csv header would look:

BackgroundInfoTemplateWoutData.png

First column: always the userID of the employee for which you are uploading attachments.

Second column: stands for the portlet’s name in the XML code of the instance. Needs to have the same value as the header in all entries.

Third column and so on: will respect the order of the fields of this portlet. In the example above, the portlet only has the attachments field. Other portlets can have other fields such as dates, comments, etc. The attachment field will be used to add the filename, so the mapping can be made between the UserID → filename.

So, as an example, below is how the built .csv file would look like in relation to the files being imported:

Files to be imported

1111.png

Mapping

2222.png

  1. Once the .csv mapping file and the attachments that should be imported are all in the same folder, select all files in the folder and zip them.
  1. With the zip file ready, upload it to your company’s FTP site and create an case with Support for requesting the upload of these attachments.

 

2- Configure the Job:

From the 1H 2023 Release:

Details to Provide: 

  • Job Owner: ?
    • "The Job Owner will be used to authenticate all submitted jobs. They will also be the default user to receive E-mail notifications."
  • Job Parameters:
    • If Background Information the below information need to be provided:

      4.png

      Please note: 

      If you select the "Import by incrementally adding data" option, every data in the import file will be simply added to the profile block.

      Now, if you select the "Import by overwritting existing data" option, you have to upload a full file every time you are going to import.

      Ex: Say you have imported records A, B and C. Then you run another import, with changes on B and C only, the system will change the last modified date of B and C but not A. However, in your import file, all A, B, C records should still be included. This is to improve the task efficiency of the job.


  • SFTP details - Please note it is highly recommended to use SAP's FTP and if not you can use external FTPs.
    • SFTP Host Address ?
    • -SFTP credentials ?
    • -SFTP Path?
    • -SFTP Filename?
  • Date Format:
    • "A date can be used as the file extension to "version" the file.Example: company_id_EMP_01012008.csv"
  • File encryption: None or PGP ?
  • Additional E-mail Recipients:
    • "Enter additional E-mail addresses, separated by commas, for all the users who want to receive the notifications."

General tips and best practices

  • Ensure the User ID from the import is from an Active user. If the Employee is not on the Instance and/or if it is not Active, the job will show this the error message: "The user ID is invalid, unknown, or unauthorized";
  • Ensure the Job Owner used to run the job has full edit permission for the documents field with target population of the entire instance. You can request to your implementation partner to check the Job Owner and provide the permission in Manage Permission Roles. If the Job Owner does not have enough permission, the job might fail with below error:
    • "The user ID is invalid, unknown, or unauthorized"
  • Do not include non-ASCII characters (special characters) on the .csv mapping file or in the filenames. The system does not support the use of this characters for attachments import, so if any are included in the name of the files being imported or in the .csv mapping file, the import will fail;
  • Do not save the Excel file in "xls" or "xlsx" format as only "csv" format is supported;
  • File Size Limit: Avoid importing files where each individual files are over 740mb. Files that are larger than 740mb can, depending on several factors (such as network and datacenter usage), time out due to the size of the file being imported. For this reason, it is suggested to split archives that are over 740mb. The whole zip file recomended size is 1.7Gb. Please note that files grater than those size limits can be uploaded depending of momentary network traffic, but it doesn't mean it would be a consistent behavior.
  • Always use the header provided in the template available for download in SuccessFactors (steps are listed above). Sometimes third-party systems can create the .csv mapping file with hidden characters in the header section, which causes the import to fail.
  • Make sure that the file can be unzipped before uploading it to the FTP site. If the file can’t be unzipped, it means that there were errors in the compression of the files and the import will not be able to retrieve the content inside it;
  • Make sure to have a full backup of all Attachment for all users before proceeding with the import. Currently no option to restore deleted information.
  • Please note that Cloud Support will only run 1 zip file (one job) per ticket. If a number of jobs need to be run, you will need to engage with your Partner/Professional Services.

See Also

  • 3044333 - Error when importing data from zip via Live Profile Import job
  • 2087993 - SFTP: Automating Data Imports & Exports via a Scheduler in SuccessFactors 
  • 2884845 - Live Profile Export (Including Attachments) - Employee Profile
  • 2212605 - Understanding and using the generic sections - Scheduled Job setup - Partner & Support
  • Guide: Managing User Information

Keywords

Attachment; Document; Bulk; Zip; Mass; Employee Profile; Import; Folder; Subforlder; SFTP; MALFORMED; ASCII; Provisioning; Backend; Invalid File; EDU-11350,pdf, word, problem found during zip file processing, csv format, problem found, subfolder, No file from FTP server matched this file name pattern , KBA , LOD-SF-EP-JOB , Scheduled jobs , LOD-SF-EP-UI , People Profile UI (PP3 UI) , How To

Product

SAP SuccessFactors Employee Central all versions ; SAP SuccessFactors HCM Suite all versions