Skip to Content

In SuccessFactors one can create a custom MDF object that has an attachment entity to maintain various document that would be generated during the course of a users employment.  If the business want to maintain all these documents in a portlet then they can use this MDF object to maintain the attachments.

When a customer is moving from a legacy HR system to SuccessFactors and want to bring in historical documents from legacy system then they can use the above MDF object to maintain these documents.

Data Conversion task:

During the data extraction from Legacy HR system the data conversion team should make sure that the document names are in plain English.  If the document names from the extracted system have umlaut characters/accent characters/any other non English characters then during import of these documents through Import data operation they will face issue with documents that have non English characters.  This is a limitation in the current release (1702) as the zip file that is provided during import can contain multiple locales and this causes the import to fail.

 

Solution to work around this issue:

There are multiple ways we can get over this issue.  The basic solution is to rename the documents to simple English names.  This document provides two options to rename the document file and the csv that has the reference to the document file.

Manual steps:

This is a manual solution where one can just rename the file and the csv with the appropriate changed file name.  This works when the number of files that need to be changed is minimal.

Step 1:

Download a text editor that supports regular expressions manipulation and block editing.  A few software’s that support these features are TextPad & NotePad++.

Step 2:

Make a copy of the csv file that have the non English file names and open in one of the text editors that is mentioned in setp 1.  Now use the regular expression [^0-9a-zA-Z.,_\\n-\\[\\]:] to find an replace all the non English characters with some character link underscore or something else.

Step 3:

Next step is to get the old and new file names from the two csv’s.  Using block copy feature in the text editor you can copy the file names from both the files and paste them side by side.

Step 4:

Now that we have both the old and new file name you can create a batch file to rename the files with new file name.  Eg: ren “old_file_name” “new_file_name”

Step 5:

Execute the batch file from previous step in command prompt to rename the files.

Step 6:

Once the files have been renamed and the association is intact with the csv, use the zip file feature to upload the documents to the MDF object that you have created.

Automate the manual process:

You can create a java tool or any other tool with a language that is familiar to the reader.  Below is a pseudo code for a java that you can use for automating the above-mentioned manual steps.

ReadCSVfile
readCsv(String fileName, String scriptFN, String newCSVFN) throws Exception
{
    Open & Read the file with character set “ISO-8859-1”; 
    //This will read and write all the accent characters correctly.
}

RemoveAccentChar
removeAccentChar(String str, String replaceStr)
{
    Use regular expression "[^0-9a-zA-Z.,_\\n-\\[\\]:]" with the replace string
}

WriteNewCSVfile
wirteNewCSV(String str, String fileName) throws Exception
{
    Open a file with bufferedstream and write the changed CSV file without accent characters
}

CreateScriptFile
writeScriptFile(String old_str, String new_str, String fileName) throws Exception
{
    Create a script file with old file name and new file name to rename physical file names
    This script can be directly run from the program or later
}

Please reach out to me in case there is a different scenario at a customer.  This is based on a experience with a customer, in parallel SF is are working to accommodate accent and umlaut characters during MDF imports.

 

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

Leave a Reply