Symptom
- This KBA is to demonstrate configuration of the mapping of additional custom fields to a connector file in SAP SuccessFactors Learning.
- If this is not configured correctly an error may occur in the error log and prevent the field from being updated:
Column doesn't exists :COL_NUM"X"_VAL in tables [pa_conn_stud_user, pa_conn_student]
Where X is the custom field number
**Important Note:**
We recommend engaging a Certified Partner or Professional Services to assist you on connectors implementation. If you decide to utilize Connectors / Connector Workbooks on your own you will assume full responsibility.
Please note, it is expected & recommended that you complete thorough testing before using Connectors, as they can create numerous erroneous data which cannot be easily fixed and can result in incurring significant costs to fix. Making these changes and importing data through the Connector, you are assuming full responsibility. Best practice is to run the connector in a stage environment for one record and verify the results.
To reiterate, SAP SuccessFactors Support is not responsible for the data that Learning administrators place within the input files.
Environment
SAP SuccessFactors Learning
Resolution
- When we talk about mapping new custom fields to a connector file, we are simply saying we want to add additional column/header fields to our input file to reflect custom fields that have already been created in Learning UI.
- User Connector and User Connector-SF have 15 default custom fields mapped, while Item Connector has only 5 default custom fields mapped.
For any other additional custom field, please follow below instructions.
Adding property like 'item.field.mapping.data.COL_NUM6_VAL=COL_NUM6_VAL' will not work. - These fields are also not already defined in the Connector User Assistance Guides (login may be required).
Background
- Custom fields are created in Learning to capture data for an entity in the form of fields that do not already exist in the system by default.
- Such fields can be added to entities such as Item, User, Curriculum or Class.
Important Information
- While most of these custom fields can be updated by their respective connector, only the Item and User Connectors currently allow for the mapping of additional custom fields in their corresponding input files.
- All the other connectors do not currently allow for more custom fields to be mapped other than those already mapped by default and listed in the Guides*.
*This includes the user_extended_data input file which is processed by the SF User Connector but whose input file is configured and mapped separately.
Mapping Additional Custom Fields (for User & Item Connectors Only)
When mapping additional custom fields to the user and item connectors the first step is to manually create them in the system.
- In Learning Administration, go to System Administration >
- Custom Fields >
- Chose Item or User entity as per your business needs >
- Click 'Add New' >
- Name the new Custom Field under Label and take note of the Field Number >
- Click 'Add' and finish configuring the new Custom Field and Apply Changes.
Once you have the Field Number, you are ready to map in the Connector Configuration file by going to System Administration > Configuration > System Configuration > CONNECTORS.
Additional fields are constructed in the following way:
- user.field.customcolumn.<col_num>=<field mapping from input file>
The col_num is the custom field number as setup in Learning. The field mapping from the input file is the input field that you are mapping to this custom field.
For example, if you want to add custom field 200, 300, 400, and 500 to the User or Item Connector then you would add the following to the properties file:
- User Connector (user_data file)
user.field.customcolumn.200=<field mapping from input file>
user.field.customcolumn.300=<field mapping from input file>
user.field.customcolumn.400=<field mapping from input file>
user.field.customcolumn.500=<field mapping from input file>
- SF User Connector (user_data file)
sfuser.field.customcolumn.200=<field mapping from input file>
sfuser.field.customcolumn.300=<field mapping from input file>
sfuser.field.customcolumn.400=<field mapping from input file>
sfuser.field.customcolumn.500=<field mapping from input file>
- Item Connector (item_data file)
item.field.customcolumn.200=<field mapping from input file>
item.field.customcolumn.300=<field mapping from input file>
item.field.customcolumn.400=<field mapping from input file>
item.field.customcolumn.500=<field mapping from input file>
Important: Remember mapping additional custom fields is only supported by the three connectors referenced above: Item Connector, User Connector and SF User Connector. Attempting to map additional custom fields, other than those referenced in the Guides, to any other connector in the same way as above will result in unexpected errors or erroneous updates. This is because there are currently no validation checks in place in the code base for their associated input files other than for those fields referenced in the Guides.
Note: Please refer to the details below about how to map additional custom fields in the Copy rule.
In case you have additional custom fields that you want to use in the copy rule, please use the same format as in the updateOnNull for individual fields.
CUSTOMCOLUMN_XXX - Where "XXX" is the same field number found under the Custom Fields section.
So the mapping will look like this:
user.connector.copy.field.mappings=EMAIL_ADDR=CUSTOMCOLUMN_XXX
Please note that the regular mapping has to be done before doing the copy above: e.g. user.field.customcolumn.XXX=EMAIL_ADDR
See Also
- KBA 2326028 - Validation Errors not being flagged for additional columns in Extended User input file
Keywords
sf, success factors, LMS, custom, columns, fields, mapping, guide, input, file, data, Connector, Configuration, Item Connector, User Connector, class connector, item, user, sap , KBA , LOD-SF-LMS-CON , Connectors , LOD-SF-LMS , Learning Management System , How To