In one of our previous articles, we have seen how to configure Source System Owner in Fusion.
Defining Source System Owner for HDL in Fusion
Source System Owner and Source System ID are the Source Keys which we use to load/update data using HCM Data Loader (HDL).
HRC_INTEGRATION_KEY_MAP is the underlying base table which stores the Source Keys for all business objects. The link to the core tables and Key map table is the surrogate id which is the main key field of the core table. Ex: PER_AL_PEOPLE_F has the surrogate id as PERSON_ID and we can use this PERSON_ID to get the Source System ID information from HRC_INTEGRATION_KEY_MAP table.
SQL Query:
SELECT papf.person_number ,h.source_system_owner ,h.source_system_id ,h.surrogate_id FROM HRC_INTEGRATION_KEY_MAP h ,PER_ALL_PEOPLE_F Papf WHERE h.object_name = 'Person' AND h.surrogate_id = papf.PERSON_ID AND sysdate BETWEEN papf.effective_start_date AND papf.effective_end_date
List of Business Objects which have Integration enabled:
Object Name | Table | Surrogate ID |
AbsenceCertification | ANC_ABS_CERTIFICATIONS_F | ABSENCE_CERTIFICATION_ID |
AbsenceReason | ANC_ABSENCE_REASONS_F | ABSENCE_REASON_ID |
ActionReasonUsages | PER_ACTION_REASON_USAGES | ACTION_REASON_USAGE_ID |
ActionReasons | PER_ACTION_REASONS_B | ACTION_REASON_ID |
Actions | PER_ACTIONS_B | ACTION_ID |
Address | PER_ADDRESSES_F | ADDRESS_ID |
AllocateChecklist | PER_ALLOCATED_CHECKLISTS | ALLOCATED_CHECKLIST_ID |
AllocateChecklistContacts | ||
AllocateChecklistTask | ||
AllocateChecklistTaskNotifications | ||
AssignedPayroll | PAY_ASSIGNED_PAYROLLS_F | ASSIGNED_PAYROLL_ID |
Assignment | PER_ALL_ASSIGNMENTS_M | ASSIGNMENT_ID |
AssignmentGradeStep | PER_ASSIGN_GRADE_STEPS_F | ASSIGN_GRADE_STEP_ID |
AssignmentResponsibility | PER_ASG_RESPONSIBILITIES | ASG_RESPONSIBILITY_ID |
AssignmentStatusType | PER_ASSIGNMENT_STATUS_TYPES | ASSIGNMENT_STATUS_TYPE_ID |
AssignmentSupervisor | PER_ASSIGNMENT_SUPERVISORS_F | ASSIGNMENT_SUPERVISOR_ID |
AssignmentWorkMeasure | PER_ASSIGN_WORK_MEASURES_F | ASSIGN_WORK_MEASURE_ID |
AutoIndirect | ||
BalanceAttribute | ||
BalanceAttributeDefault | ||
BalanceAttributeDefinition | ||
BalanceFeed | ||
BalanceGroup | ||
BalanceGroupInclusion | ||
BalanceGroupUsage | ||
BalanceGroupUsageItem | ||
BalanceType | ||
BrandSkill | ||
CalculationCard | ||
CalculationCardAssociationDetails | ||
CalculationCardAssociations | ||
CalculationCardComponents | ||
CalculationComponentDetails | ||
Checklist | ||
ChecklistContacts | ||
ChecklistTask | ||
ChecklistTaskNotifications | ||
ContactRelationship | ||
ContentItem | ||
ContentItemRatingDescription | ||
ContextUsage | ||
CostAllocation | ||
CostAllocationAccount | ||
CountrySecurityProfile | ||
DatabaseItem | ||
DatabaseItemGroup | ||
DatabaseItemUsage | ||
DateTrackedEvent | ||
DefinedBalance | ||
DeliveryMethod | ||
DocumentDeliveryPreference | ||
DocumentType | ||
DocumentTypeSecurityProfile | ||
DocumentTypeSecurityProfileDocumentType | ||
DocumentsOfRecord | ||
ElementClassification | ||
ElementEntry | PAY_ELEMENT_ENTRIES_F | ELEMENT_ENTRY_ID |
ElementEntryValue | PAY_ELEMENT_ENTRY_VALUES_F | ELEMENT_ENTRY_VALUE_ID |
ElementLink | PAY_ELEMENT_LINKS_F | ELEMENT_LINK_ID |
ElementPayrollFrequencyRule | ||
ElementRunTypeUsage | ||
ElementSpanUsage | ||
ElementType | ||
EmailAddress | PER_EMAIL_ADDRESSES | EMAIL_ADDRESS_ID |
Establishment | ||
Ethinicity | PER_ETHNICITIES | ETHNICITY_ID |
EventGroup | ||
ExtendedLookupCode | ||
ExtractAction | ||
ExtractBlockLink | ||
ExtractDataElement | ||
ExtractDefinition | ||
ExtractDeliveryOptionDetail | ||
ExtractDeliveryOptions | ||
ExtractParameter | ||
ExtractReplacement | ||
Flow | ||
FlowParameter | ||
FlowTask | ||
FlowTaskInteraction | ||
FlowTaskParameter | ||
Formula | ||
FormulaResultRule | ||
GeneratedDataRole | ||
GeneratedDataRoleProfile | ||
Global | ||
Goal | ||
Grade | PER_GRADES_F | GRADE_ID |
GradeStep | PER_GRADE_STEPS_F | GRADE_STEP_ID |
Image | ||
InputValue | ||
Job | PER_JOBS_F | JOB_ID |
JobFamily | PER_JOB_FAMILY_F | JOB_FAMILY_ID |
JobLegislative | PER_JOB_LEG_F | JOB_LEG_ID |
LearningHierarchy | ||
LearningItem | ||
LegislativeDataGroupSecurityProfile | ||
LegislativeDataGroups | ||
LinkedInputValue | ||
Location | PER_LOCATIONS | LOCATION_ID |
LocationAddressUsage | PER_LOC_ADDRESS_USAGES_F | LOC_ADDRESS_USAGE_ID |
LocationDetail | PER_LOCATION_DETAILS_F | LOCATION_DETAILS_ID |
LocationLegislativeEFF | PER_LOCATION_EXTRA_INFO_F | LOCATION_EXTRA_INFO_ID |
NameFormat | HR_NAME_FORMATS | NAME_FORMAT_ID |
NameSetup | ||
NameStyle | ||
NationalIdentifier | ||
OrgInformationEFF | ||
Organization | HR_ALL_ORGANIZATION_UNITS_F | ORGANIZATION_ID |
OrganizationClassification | ||
OrganizationPaymentMethod | ||
OrganizationPaymentMethodUsage | ||
OrganizationSecurityProfile | ||
PayDates | ||
PayTaskUsage | ||
PayrollAssignmentDetails | ||
PayrollBalanceClassification | ||
PayrollConsolidationGroup | ||
PayrollDefinition | PAY_ALL_PAYROLLS_F | PAYROLL_ID |
PayrollInterfaceInboundRecord | HRY_PI_INBD_RECORDS | INBD_RECORD_ID |
PayrollInterfaceInboundRecordInformation | HRY_PI_INBD_RECORD_INFORMATION | INBD_RECORD_INFO_ID |
PayrollRelationshipDetails | PAY_PAY_RELATIONSHIPS_F | PAYROLL_RELATIONSHIP_ID |
PayrollRelationshipType | ||
PayrollRelationshipTypeMap | ||
PayrollTimeDefinition | PAY_TIME_DEFINITIONS | TIME_DEFINITION_ID |
PayrollTimePeriod | PAY_TIME_PERIODS | TIME_PERIOD_ID |
PeriodOfService | PER_PERIODS_OF_SERVICE | PERIOD_OF_SERVICE_ID |
Person | PER_ALL_PEOPLE_F | PERSON_ID |
PersonAddressUsage | PER_PERSON_ADDR_USAGES_F | PERSON_ADDR_USAGE_ID |
PersonHabits | BEN_PER_LE_HABITS_COV_F | LE_HABITS_COV_ID |
PersonLegislativeInfo | PER_PEOPLE_LEGISLATIVE_F | PERSON_LEGISLATIVE_ID |
PersonName | PER_PERSON_NAMES_F | PERSON_NAME_ID |
PersonSecurityProfile | PER_PERSON_SECURITY_PROFILES | PERSON_SECURITY_PROFILE_ID |
PersonSecurityProfileAorScope | ||
PersonSecurityProfilePersonType | ||
PersonType | PER_PERSON_TYPES | PERSON_TYPE_ID |
PersonTypeUsage | PER_PERSON_TYPE_USAGES_M | PERSON_TYPE_USAGE_ID |
PersonalPaymentMethod | PAY_PERSON_PAY_METHODS_F | PERSONAL_PAYMENT_METHOD_ID |
Phone | PER_PHONES | PHONE_ID |
PortraitContent | PER_PORTRAIT_CONTENT_B | PORTRAIT_CONTENT_ID |
Position | HR_ALL_POSITIONS_F | POSITION_ID |
PositionExtraInformation | PER_POSITION_EXTRA_INFO_F | POSITION_EXTRA_INFO_ID |
PositionHierarchy | PER_POSITION_HIERARCHY_F | POSITION_HIERARCHY_ID |
PositionLegislative | PER_POSITION_LEG_F | POSITION_LEG_ID |
PositionSecurityProfile | ||
PricingRule | ||
Profile | HRT_PROFILES_B | PROFILE_ID |
ProfileItem | HRT_PROFILE_ITEMS | PROFILE_ITEM_ID |
ProfileItemCatalog | ||
ProfileRelation | ||
ProgressionRule | ||
RangeItem | ||
Rate | ||
RateContributor | ||
RateDefinition | ||
RateValue | ||
RatingLevel | ||
RatingModel | ||
ReportBlock | ||
ReportCriteria | ||
ReportRecord | ||
ReportRecordRule | ||
ReportSortItem | ||
ReportSortOrder | ||
ReportSortType | ||
RequisitionSecurityProfile | ||
Reservation | ||
Resource | ||
RetroComponent | ||
RetroComponentUsage | ||
RoleMapping | PER_ROLE_MAPPINGS | ROLE_MAPPING_ID |
RoleMappingRole | ||
Route | FF_ROUTES_B | ROUTE_ID |
RouteParameterValue | ||
Salary | CMP_SALARY | SALARY_ID |
SalaryBasis | CMP_SALARY_BASES | SALARY_BASIS_ID |
SeniorityDate | PER_SENIORITY_DATES | SENIORITY_DATE_ID |
SeniorityDateRule | ||
StatusProcessingRule | ||
SubclassificationRule | ||
Task | ||
TaskAction | ||
TaskLibrary | ||
TaskParameter | ||
TaskProperty | ||
TimeDefinitionUsage | ||
User | PER_USERS | USER_ID |
UserColumn | FF_USER_COLUMNS | USER_COLUMN_ID |
UserColumnInstance | FF_USER_COLUMN_INSTANCES_F | USER_COLUMN_INSTANCE_ID |
UserEntity | FF_USER_ENTITIES_B | USER_ENTITY_ID |
UserRole | PER_ROLES_DN | ROLE_ID |
UserRow | FF_USER_ROWS_F | USER_ROW_ID |
UserTable | FF_USER_TABLES | USER_TABLE_ID |
ValidGrade | PER_VALID_GRADES_F | VALID_GRADE_ID |
ValueDefinition | PAY_VALUE_DEFINITIONS_F | VALUE_DEFN_ID |
WorkingHourPattern | PER_WORKING_HOUR_PATTERNS_F | WORKING_HOUR_PATTERN_ID |
I have filled in the table and surrogate id for the most frequently used tables. This is the complete exhaustive list of all the objects which are integration enabled. You can do a quick search in the tables and views link for the object name for the remaining objects and you would find the table name and surrogate id.
Sample Queries:
SELECT papf.person_number ,source_system_owner ,source_system_id ,surrogate_id ,PER_PEOPLE_LEGISLATIVE_F.SEX ,PER_PEOPLE_LEGISLATIVE_F.MARITAL_STATUS FROM HRC_INTEGRATION_KEY_MAP H ,PER_PEOPLE_LEGISLATIVE_F PER_PEOPLE_LEGISLATIVE_F ,per_all_people_f papf WHERE h.object_name = 'PersonLegislativeInfo' AND h.surrogate_id = PER_PEOPLE_LEGISLATIVE_F.PERSON_LEGISLATIVE_ID AND PER_PEOPLE_LEGISLATIVE_F.person_id = papf.person_id AND sysdate BETWEEN papf.effective_start_date AND papf.effective_end_date
SELECT papf.person_number ,source_system_owner ,source_system_id ,surrogate_id ,'National_Identifier_ID' ,PER_NATIONAL_IDENTIFIERS_V.NATIONAL_IDENTIFIER_NUMBER ,PER_NATIONAL_IDENTIFIERS_V.NATIONAL_IDENTIFIER_TYPE FROM HRC_INTEGRATION_KEY_MAP H ,PER_NATIONAL_IDENTIFIERS_V PER_NATIONAL_IDENTIFIERS_V ,per_all_people_f papf WHERE h.object_name = 'NationalIdentifier' AND h.surrogate_id = PER_NATIONAL_IDENTIFIERS_V.NATIONAL_IDENTIFIER_ID AND PER_NATIONAL_IDENTIFIERS_V.person_id = papf.person_id AND sysdate BETWEEN papf.effective_start_date AND papf.effective_end_date
SELECT papf.person_number ,H.source_system_owner ,H.source_system_id ,H.surrogate_id ,'Period_Of_Service_Id' ,to_char(ppos.DATE_START) ,to_char(ppos.ACTUAL_TERMINATION_DATE) FROM HRC_INTEGRATION_KEY_MAP H ,PER_PERIODS_OF_SERVICE ppos ,per_all_people_f papf WHERE H.object_name = 'PeriodOfService' AND H.surrogate_id = ppos.PERIOD_OF_SERVICE_ID AND ppos.PERSON_ID = papf.person_id AND sysdate BETWEEN papf.effective_start_date AND papf.effective_end_date
If you have any questions, please feel free to reach out to me by posting in comments section.
If you are interested in learning Fusion Technical tools go through this post
If you liked the article, please share it with your friends/ colleagues/ teammates or anyone who might also benefit from it.
Hi Sir,
Please let me know how to find out source keys for calculation card related business objects.
Thanks
Hi Preeti,
You need to use the object name of CalculationCard, CalculationCardAssociationDetails, CalculationCardAssociations, and CalculationCardComponents.
Thanks