SAP Knowledge Base Article - Public

2878293 - Error when Creating Job Requisition from Position Org Chart: "The mapping field xxxx is entered in the rule to refer to another OData object, but the Job Requisition OData object has no field with this name that refers to another object." - Recruiting Management

Symptom

Getting the following error message when trying to create a job requisition from the position:

"Sorry, the requisition cannot be created. Creation of a job requisition for position xxxxx failed. Details: The mapping field xxxx is entered in the rule to refer to another OData object, but the Job Requisition OData object has no field with this name that refers to another object."

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 Recruiting Management

Reproducing the Issue

  1. Go to Position org chart
  2. Create a requisition from a position
  3. Note the error shown above

Cause

1. Field not present on the OData API Data Dictionary.

Here are possible causes:

  • Spelling of the field is incorrect in the business rule. For example, the field defined in the Job Requisition is PayScaleArea, but the mapping rule is pointing to payScaleArea.
  • Custom Field ID contains hyphens. The system converts hyphens (-) in OData property names to underscores (_) by default, which can cause Field ID mismatching.
  • OData API Metadata is unsynchronized.

2. Wrong field type on the OData API Data Dictionary.

In the OData API Data Dictionary for the JobRequisition entity, the field appears as a wrong field type. Here are possible causes:

  • In one or more of the Job Requisition Templates, the Field ID has been defined using a different field type.
  • In Provisioning > Configure Reportable Custom Fields, the Field ID has been associated with a different field type.

3. Wrong Requisition Field for mapping an object field in the business rule.

For example, the Position code is mapped using "std_position_obj.externalCode" instead of "std_position_obj.code".

4. The reference object type configured in the Job Requisition template is not API visible.

The object is not visible in OData API Data Dictionary.

Resolution

1. Field not present on the OData API Data Dictionary.

Download the latest Job Requisition template and make sure that the field has been defined correctly. Please do not use hyphens (-) when naming a custom Field ID, use underscores instead.

Make sure that the spelling of the Requisition Field in the business rule is correct.

If the configurations are correct, go to 'OData API Metadata Refresh and Export' to refresh the metadata.

2. Wrong field type on the OData API Data Dictionary.

Make sure that the field definition is consistent across all active and inactive Job Requisition templates.

For a custom reportable field, make sure that the field has been associated with the correct field type via Provisioning > Configure Reportable Custom Fields.

If there is a reason you would like the field to be of a different field type in one template, you must create a new Field ID in that template.

Once this is done, perform an OData API metadata refresh and re-test the mapping.

Note: Please be aware of the following KBA if changing the field type: 2734323 - Please Do Not Change Field Types in SuccessFactors Recruiting Templates. If the field has been used and contains real data, it would be better to create a new field altogether for the mapping, which has the same field definition id and type on all requisition templates.

3. Wrong Requisition Field for mapping an object field in the business rule.

The External Code is used to map object fields. In certain objects, the externalCode is named as "externalCode", while in others it is named as "code".

Follow the steps below to review the object definition:

  1. Go to Configure Object Definitions.
  2. In the 1st dropdown, select Object Definition.
  3. In the end dropdown, select the object.
  4. In the list of fields, check the name column of externalCode.

If the name column is "externalCode", the Requisition field in the business rule should be "xxxx.externalCode".

ObjectDefinition_externalCode.png

Rule_object_externalCode.png

If the name column is "code", the Requisition field in the business rule should be "xxxx.code".

For example, the standard position field should be mapped using "std_position_obj.code". Other similar objects are Pay Scale Area, Pay Scale Group, and so on.

ObjectDefinition_code.png

Rule_object_code.png

4. The reference object type configured in the Job Requisition template is not API visible.

  1. Go to Configure Object Definitions.
  2. In the 1st dropdown, select Object Definition.
  3. In the end dropdown, select the object.
  4. Make sure that 'API Visibility' is set to 'Editable' or 'Read Only'.
  5. In the list of fields, locate the field property mapped, e.g. externalCode. Click on Details and make sure that 'Visibility' is set to 'Editable' or 'Read Only'.

Once this is done, perform an OData API metadata refresh. Check the OData API Data Dictionary to ensure that the object and the mapped field property is visible.

See Also

Similar errors:

Configurations:

Keywords

RCM, EC, position management, Picklist, Job Requisition, OData, object, externalCode, business rule, mapping , KBA , LOD-SF-RCM-POS , Position Integration , LOD-SF-RCM-JOB , Job Postings & Requisitions , LOD-SF-RCM-INT , Integration Center & Intelligent Services , LOD-SF-RCM-API , Webservices & APIs , Problem

Product

SAP SuccessFactors Recruiting all versions