You can associate a job profile with a job requisition by providing the externalCode property of the jobRoleEntity entity in the JobRequisition OData API. The JobRequisition entity now has a navigation entity called jobRoleEntity, with the externalCode property that determines a job profile in a job requisition.
A GET query on the JobRole XML field in the JobRequisition entity now returns jobRole and jobRoleEntity entities to represent the job role data. We recommend using the jobRoleEntity entity for the POST query to update a job role on the job requisition.
A sample GET query and response are as follows:
12
<>Sample Code
https://qacand-api.hcm.ondemand.com/odata/v2/JobRequisition(32377L) $format=json&$select=jobReqId,jobRole,jobRoleEntity&$expand=jobRoleEntity
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
<>Sample Code
{
"d": {
"__metadata": {
"uri": "https://qacand-api.hcm.ondemand.com/odata/v2/JobRequisition(32377L)",
"type": "SFOData.JobRequisition"
},
"jobReqId": "32377",
"jobRole": "402002548",
"jobRoleEntity": {
"__metadata": {
"uri": "https://qacand-api.hcm.ondemand.com/odata/v2/RoleEntity('1021659')",
"type": "SFOData.RoleEntity"
},
"externalCode": "1021659",
"lastModifiedDateTime": "/Date(1726824440000+0000)/",
"name_localized": "ABAP Developer",
"name_cs_CZ": null,
"name_ko_KR": null,
"createdDateTime": "/Date(1721793114000+0000)/",
"name_th_TH": null,
"name_cnr_ME": null,
"name_fi_FI": null,
"name_lt_LT": null,
"name_sv_SE": null,
"name_nl_NL": null,
"mdfSystemRecordStatus": "N",
"name_mk_MK": null,
"name_ar_SA": null,
"name_de_DE": null,
"name_zh_TW": null,
"subModule": null,
"name_es_ES": null,
"name_es_MX": null,
"status": "A",
"name_ru_RU": null,
"name_pt_PT": null,
"name_he_IL": null,
"name_it_IT": null,
"name_fr_FR": null,
"name_en_DEBUG": null,
"name_ja_JP": null,
"name_de_CH": null,
"name_uk_UA": null,
"name_en_US": "ABAP Developer",
"name_fr_CA": null,
"name_zh_CN": null,
"name_defaultValue": "ABAP Developer",
"lastModifiedBy": "cgrant",
"name_en_GB": null,
"name_iw_IL": null,
"name_vi_VN": null,
"createdBy": "cgrant",
"name_hu_HU": null,
"createdLocale": "en_US",
"family": "1021657",
"name_en_RTL": null,
"nameTranslationTextNav": {
"__deferred": {
"uri": "https://qacand-api.hcm.ondemand.com/odata/v2/RoleEntity('1021659')/nameTranslationTextNav"
}
},
"createdByNav": {
"__deferred": {
"uri": "https://qacand-api.hcm.ondemand.com/odata/v2/RoleEntity('1021659')/createdByNav"
}
},
"jobCodeMappings": {
"__deferred": {
"uri": "https://qacand-api.hcm.ondemand.com/odata/v2/RoleEntity('1021659')/jobCodeMappings"
}
},
"roleCompetencyMappings": {
"__deferred": {
"uri": "https://qacand-api.hcm.ondemand.com/odata/v2/RoleEntity('1021659')/roleCompetencyMappings"
}
},
"roleSkillMappings": {
"__deferred": {
"uri": "https://qacand-api.hcm.ondemand.com/odata/v2/RoleEntity('1021659')/roleSkillMappings"
}
},
"statusNav": {
"__deferred": {
"uri": "https://qacand-api.hcm.ondemand.com/odata/v2/RoleEntity('1021659')/statusNav"
}
},
"lastModifiedByNav": {
"__deferred": {
"uri": "https://qacand-api.hcm.ondemand.com/odata/v2/RoleEntity('1021659')/lastModifiedByNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://qacand-api.hcm.ondemand.com/odata/v2/RoleEntity('1021659')/mdfSystemRecordStatusNav"
}
},
"familyNav": {
"__deferred": {
"uri": "https://qacand-api.hcm.ondemand.com/odata/v2/RoleEntity('1021659')/familyNav"
}
},
"roleTalentPoolMappings": {
"__deferred": {
"uri": "https://qacand-api.hcm.ondemand.com/odata/v2/RoleEntity('1021659')/roleTalentPoolMappings"
}
},
"wfRequestNav": {
"__deferred": {
"uri": "https://qacand-api.hcm.ondemand.com/odata/v2/RoleEntity('1021659')/wfRequestNav"
}
},
"roleCompetencyBehaviorMappings": {
"__deferred": {
"uri": "https://qacand-api.hcm.ondemand.com/odata/v2/RoleEntity('1021659')/roleCompetencyBehaviorMappings"
}
}
}
}
}
A sample POST query (when you map a job code with multiple job roles by providing jobRoleEntity and externalCode property) is as follows:
1234567891011121314
<>Sample Code
{
"__metadata": {
"uri": "JobRequisition",
"type": "SFOData.JobRequisition"
},
"templateId": "80",
"jobRoleEntity": {
"__metadata": {
"uri": "RoleEntity('1000435')",
"type": "SFOData.RoleEntity"
}
},
}
Note
In your integrations, if you adopt the Job Profile Builder enhancement of mapping one job code to multiple job roles and provide either job code or job role in the OData API Upsert operation, use the jobRoleEntity
entity and ensure you provide a correct value of the job role. For more information about the Job Profile Builder enhancement of one job code mapped to multiple job roles, see the Mapping of Job Code with Multiple Job Roles topic in the Related Information section.
- If you map one job code to multiple job roles, you can continue providing Internal ID for the
JobRole
XML field. A random job role will be associated with the job requisition if you provide only a job code. Hence, we recommended using the jobRoleEntity
entity to update the job role on the job requisition.
The new jobRoleEntity navigation property is introduced to support the Job Profile Builder enhancement to map a job code to multiple job roles in a job requisition. We added the externalCode property to the jobRoleEntity entity to associate the correct job profile with a job requisition without providing the Internal ID value.
What's Changed