Showing posts with label Data Loader. Show all posts
Showing posts with label Data Loader. Show all posts

Wednesday, 7 January 2026

The values {attributes} are not valid for the attribute BankAccountId


Error While Loading PersonalPaymentMethod Using HCM Data Loader

Introduction

Oracle Fusion HCM HCM Data Loader (HDL) is commonly used to load payroll-related data such as Personal Payment Methods. However, while loading PersonalPaymentMethod.dat, you may encounter validation errors related to bank account resolution.

One of the most common errors is:

HRC-1035539 – The values {attributes} are not valid for the attribute BankAccountId

This blog explains why this error occurs, the root causes, and multiple solutions to fix it using real project scenarios.


Cause Analysis

Cause 1: Missing BankAccountType

Consider a scenario where two bank accounts exist for the same person:

  • Bank Account 1 → No BankAccountType

  • Bank Account 2 → Has BankAccountType

In this case:

  • If you refer to Bank Account 1, HDL can resolve it without BankAccountType

  • If you refer to Bank Account 2, BankAccountType becomes mandatory

❗ If the existing ExternalBankAccount has a value for BankAccountType, it must be provided in PersonalPaymentMethod.dat.


Cause 2: Invalid Bank Account Attribute Combination

The system is unable to identify a valid BankAccountId because the values provided for:

  • BankName

  • BankCountryCode

  • BankAccountNumber

  • BankAccountType

  • BankBranchName

  • BankBranchNumber

do not match any existing External Bank Account in Oracle Fusion.


Solution 1: Provide BankAccountType When Required

If the External Bank Account already has a BankAccountType, then it must be passed in PersonalPaymentMethod.dat.

Best Practice

✔ Always provide BankAccountType when multiple bank accounts exist
✔ Ensure the value exactly matches what exists in Fusion

This ensures unique resolution of ExternalBankAccount.


Solution 2: Validate Bank Account Details in Fusion

Ensure that the following attributes in PersonalPaymentMethod.dat match an existing bank account:

  • Bank Name

  • Bank Country Code

  • Bank Account Number

  • Bank Account Type

  • Bank Branch Name

  • Bank Branch Number

If any of these values are incorrect, Fusion will fail to resolve the BankAccountId.


Query to Validate Bank Account Data

Use the below SQL query to verify whether the bank account exists and matches the provided details:

SELECT ppr.payroll_relationship_id payrollrelationshipid, ppr.person_id personid, h.party_id partyid, eba.bank_account_id bankaccountid, eba.bank_account_num bankaccountnumber, eba.bank_id bankid, eba.bank_name bankname, eba.bank_number banknumber, eba.branch_number branchnumber, eba.branch_id branchid, eba.bank_branch_name branchname, eba.eft_swift_code eftswiftcode, eba.bank_home_country homecountry, eba.bank_account_type bankaccounttype FROM pay_bank_accounts eba, iby_account_owners ebao, hz_parties h, pay_pay_relationships_dn ppr, per_persons p, hz_orig_sys_references hosp WHERE eba.bank_account_id = ebao.ext_bank_account_id AND ebao.account_owner_party_id = h.party_id AND hosp.owner_table_id = h.party_id AND hosp.orig_system_reference = TO_CHAR(ppr.person_id) AND hosp.owner_table_name = 'HZ_PARTIES' AND hosp.orig_system = 'FUSION_HCM' AND ppr.person_id = p.person_id AND h.status = 'A' AND eba.bank_account_num = <enter bank account num> AND eba.bank_name = <enter Bank Name> AND eba.bank_branch_name = <bank branch name>;

🔎 Replace data with values from your PersonalPaymentMethod.dat file.


Final Root Causes Summary

Cause 1

  • BankAccountType not provided even though it exists in the system

Cause 2

  • No matching BankAccountId exists for the provided bank details

Conclusion

The error occurs when Oracle Fusion HCM cannot uniquely identify the External Bank Account for a Personal Payment Method. By ensuring accurate bank details and providing BankAccountType when required, this issue can be resolved effectively.

This approach is widely used in payroll implementations and data migration projects.

Wednesday, 28 December 2022

HDL Template for Global Temporary Transfer of Worker

For this use Worker.dat


Please find the below sample template :

METADATA|WorkRelationship|PersonNumber|LegalEmployerName|DateStart|ActualTerminationDate|PrimaryFlag|WorkerNumber|WorkerType|RehireRecommendationFlag|OnMilitaryServiceFlag|ActionCode|ReasonCode|DateOfDeath

MERGE|WorkRelationship|XXTEST9|US1 Legal Entity|2018/01/01||Y|XXTEST9|E|Y|N|GLB_TEMP_ASG||

MERGE|WorkRelationship|XXTEST9|UK Legal Entity|2019/01/01||N|XXTEST9|E|Y|N|GLB_TEMP_ASG||



METADATA|WorkTerms|ActionCode|PersonNumber|LegalEmployerName|DateStart|WorkerType|AssignmentNumber|EffectiveStartDate|EffectiveEndDate|EffectiveLatestChange|EffectiveSequence|AssignmentType|PersonTypeCode|AssignmentStatusTypeCode|BusinessUnitShortCode|PrimaryWorkTermsFlag|SystemPersonType|ReasonCode

MERGE|WorkTerms|GLB_TEMP_ASG|XXTEST9|US1 Legal Entity|2018/01/01|E|XXTEST_WRKTERM9|2019/01/01|4712/12/31|Y|1|ET|Employee|SUSPEND_PROCESS|US1 Business Unit|Y|EMP|

MERGE|WorkTerms|GLB_TEMP_ASG|XXTEST9|UK Legal Entity|2019/01/01|E|XXTEST_WRKTERM9-2|2019/01/01|4712/12/31|Y|1|ET|Employee|ACTIVE_PROCESS|UK Business Unit|Y|EMP|


METADATA|Assignment|ActionCode|PersonNumber|LegalEmployerName|DateStart|WorkerType|AssignmentNumber|WorkTermsNumber|EffectiveStartDate|EffectiveEndDate|EffectiveLatestChange|EffectiveSequence|AssignmentType|PersonTypeCode|AssignmentStatusTypeCode|BusinessUnitShortCode|GradeCode|JobCode|LocationCode|DepartmentName|ManagerFlag|LabourUnionMemberFlag|ReasonCode

MERGE|Assignment|GLB_TEMP_ASG|XXTEST9|US1 Legal Entity|2018/01/01|E|XXTEST_ASSIGN9|XXTEST_WRKTERM9|2019/01/01|4712/12/31|Y|1|E|Employee|SUSPEND_PROCESS|US1 Business Unit|XXTEST_GRADE1|XXTEST_CFO|XXTEST_LOC12|XXTEST Department1|Y|N|

MERGE|Assignment|GLB_TEMP_ASG|XXTEST9|UK Legal Entity|2019/01/01|E|XXTEST_ASSIGN9-2|XXTEST_WRKTERM9-2|2019/01/01|4712/12/31|Y|1|E|Employee|ACTIVE_PROCESS|UK Business Unit|XXTEST_GRADE1|ADM|XXTEST_LOC12|XXTEST Department1|Y|N|

 

Friday, 23 April 2021

Sample Templates for eText BI Publisher Reports (Delimiter & Fixed Position)

 Sample Templates for eText BI Publisher Reports (Delimiter & Fixed Position)

Introduction to eText BI Publisher Reports

Oracle BI Publisher (BIP) provides eText report templates to generate text-based output files such as .txt, .dat, or interface files required for integrations with external systems.

Unlike PDF or Excel outputs, eText reports are mainly used when:

  • Data must follow a specific layout

  • Files are consumed by external payroll, banking, or legacy systems

  • Strict formatting rules (delimiter or fixed length) are required

In this blog, we’ll cover:

  • What eText BI Publisher reports are

  • how to create eText report in BI Publisher

  • Differences between Delimiter-Based and Fixed Position-Based eText

  • BI Publisher eText report example

  • how to create fixed position eText report

  • common errors in BI Publisher eText report


Difference Between Delimiter & Fixed Position eText

Delimiter VS Fixed Position eText


You can see step by step video to develop eText BIP Report using this Link



🔹 Sample 1: Delimiter-Based eText Template

This template generates output with values separated by a delimiter (for example, |).

You can see step by step video to develop eText BIP Report using this Link

<TEMPLATE TYPE>

DELIMITER_BASED

<OUTPUT CHARACTER SET>

iso-8859-1

<CASE CONVERSION>

UPPER

<NEW RECORD CHARACTER>

Carriage Return

 

<LEVEL>

DATA_DS

<MAXIMUMLENGTH>

<FORMAT>

<DATA>

<COMMENTS>

<NEW RECORD>

TableHeader

20

Alpha

'Person Id'

 

1

Alpha

'|'

 

20

Alpha

'Title'

 

1

Alpha

'|'

 

20

Alpha

'First Name'

 

1

Alpha

'|'

 

20

Alpha

'Last Name'

 

 

<LEVEL>

G_1

<MAXIMUMLENGTH>

<FORMAT>

<DATA>

<COMMENTS>

<NEW RECORD>

CLRDAta

20

Alpha

PERSON_ID

 

1

Alpha

'|'

 

20

Alpha

TITLE

 

1

Alpha

'|'

 

20

Alpha

FIRST_NAME

 

1

 

'|'

 

20

Alpha

LAST_NAME

 

<END LEVEL>

G_1

 

<END LEVEL>

DATA_DS

 This format is useful when the target system expects delimiter-separated text files.

HDL Template for Personal Payment Method Details

 HDL Template for Personal Payment Method Details

Prerequisite: 
1. Bank and Bank Branches data should be loaded. Click here to find the sample bank details.  
2. External bank Account should be loaded. Click here to find the sample file.  

For this use PersonalPaymentMethod.dat file.

You can see step by step video to load Personal Payment Method Details using this Link

Please find the below sample template :


METADATA|PersonalPaymentMethod|SourceSystemOwner|SourceSystemId|LegislativeDataGroupName|AssignmentNumber|PersonalPaymentMethodCode|EffectiveStartDate|PaymentAmountType|Amount|Percentage|ProcessingOrder|OrganizationPaymentMethodCode|BankName|BankBranchNumber|BankCountryCode|BankAccountNumber|BankAccountType


MERGE|PersonalPaymentMethod|XXTEST|XXTEST_PAYMETHOD2|US Legislative Data Group|XXTEST_ASSIGN2|XXTEST_PAYMETHOD2|2021/04/19|P||100|1|Direct Deposit|American Bank|000000123|US|3456|Checking



Tuesday, 20 April 2021

HDL Template for External Bank Account Details

HDL Template for External Bank Account Details   

Prerequisite: 
1. Bank and Bank Branches data should be loaded. Click here to find the sample bank details.   


For this use ExternalBankAccount.dat file.

You can see step by step video to load External Bank Account Details using this Link

Please find the below sample template :


METADATA|ExternalBankAccount|SourceSystemOwner|SourceSystemId|AccountNumber|BankBranchName|BankName|CountryCode|CurrencyCode|AccountType

MERGE|ExternalBankAccount|XXTEST|XXTEST_BANKACCT2|123456|AMC123|American Bank|US|USD|Checking


METADATA|ExternalBankAccountOwner|SourceSystemOwner|SourceSystemId|PersonNumber|AccountNumber|BankBranchNumber|BankNumber|CountryCode|CurrencyCode|BankBranchName|BankName|ExternalBankAccountId(SourceSystemId)

MERGE|ExternalBankAccountOwner|XXTEST|XXTEST_ACCTOWNER2|XXTEST2|123456|123|Test123|US|USD|AMC123|American Bank|XXTEST_BANKACCT2

HDL Template for Bank and Bank Branch Details

  For this use Bank.dat and BankBranch.dat file.

You can see step by step video to load Bank and Bank Branch Details using this Link

Please find the below sample template :

Bank :

METADATA|Bank|BankName|CountryCode|BankNumber|SourceSystemOwner|SourceSystemId

MERGE|Bank|American Bank|US|Test123|XXTEST|XXTEST_BANKTest123


Bank Branch: 


METADATA|BankBranch|BankName|BankBranchNumber|BankBranchName|CountryCode|EftSwiftCode|SourceSystemOwner|SourceSystemId

MERGE|BankBranch|American Bank|123|AMC123|US||XXTEST|XXTEST_BANKBRANCHAM123




Tuesday, 13 April 2021

Oracle Fusion HCM: Assigned Payroll HDL – Complete Template & Example (AssignedPayroll.dat)


🔹 Introduction: What is Assigned Payroll HDL?

In Oracle Fusion HCM, assigned payroll determines the payroll schedule and payroll definition for an employee’s assignment.

Using AssignedPayroll.dat via HCM Data Loader (HDL) allows you to:

  • Assign payroll definitions like Weekly, Monthly, or Biweekly

  • Link legislative data groups for country-specific payroll rules

  • Ensure accurate payroll processing

  • Avoid manual assignment errors


You can see step by step video to load Assigned Payroll details of worker using this Link


🔹 Prerequisites

Before loading Assigned Payroll HDL, ensure:

  1. Worker assignment exists (AssignmentNumber)

  2. Payroll definitions are configured in Oracle HCM

  3. Legislative data groups are correctly set

  4. Unique Source System identifiers are used


🔹 Objects Required

ObjectPurpose
AssignedPayrollAssigns payroll definitions to a worker’s assignment and links to legislative data groups

🔹 Sample AssignedPayroll.dat Template

File Name - AssignedPayroll.dat

METADATA|AssignedPayroll|EffectiveStartDate|AssignmentNumber|PayrollDefinitionCode|LegislativeDataGroupName|StartDate

MERGE|AssignedPayroll|2021/04/09|XXTEST_ASSIGN1|Weekly|US Legislative Data Group|2021/04/09


🔹 Field Explanation (Infographic Ready)

Assigned Payroll Key fields
Assigned Payroll Keyfields




🔹 Step-by-Step Process to Load Assigned Payroll Using HDL

Step 1️⃣ Prepare AssignedPayroll.dat

  • Use correct AssignmentNumber

  • Validate PayrollDefinitionCode

Step 2️⃣ Upload File in Oracle HCM

Navigation:
Tools → HCM Data Loader → Import and Load Data

Step 3️⃣ Monitor HDL Process

Check status:
✔ Completed
❌ Error

Step 4️⃣ Validate in Oracle HCM UI

Person Management → Payroll Relationship 


🔹 Common Errors & Resolutions

Common Issues in Assigned Payroll Load

Thursday, 8 April 2021

Oracle Fusion HCM: Element Entry HDL – Complete Template & Examples (ElementEntry.dat)


🔹 Introduction: What is Element Entry HDL?

Learn how to load element entry details for workers in Oracle Fusion HCM using ElementEntry.dat and ElementEntryValue.dat files. Complete HDL templates, step-by-step guide, common errors, troubleshooting, and FAQ included.

In Oracle Fusion HCM, element entries allow you to define payroll elements such as allowances, deductions, or benefits for employees.

Using ElementEntry and ElementEntryValue via HCM Data Loader (HDL) enables you to:

  • Load bulk element entries for multiple workers

  • Maintain consistency in payroll calculations

  • Avoid manual data entry errors

  • Manage repetitive or complex payroll elements efficiently

You can see step by step video to element entry details of worker using this ElementEntry.dat


🔹 Prerequisites

Before loading Element Entry HDL, ensure:

  1. Worker/assignment exists (AssignmentNumber must be valid)

  2. Element names are configured in Oracle HCM

  3. Legislative data groups are correctly set

  4. Source system identifiers are unique for each entry


🔹 Objects Required

ObjectPurpose
ElementEntryDefines the payroll element entry for an assignment
ElementEntryValueDefines specific values for each element entry (amount, periodicity, flags)

🔹 Sample HDL Templates

ElementEntry

METADATA|ElementEntry|EffectiveEndDate|EffectiveStartDate|ElementName|LegislativeDataGroupName|MultipleEntryCount|EntryType|AssignmentNumber|SourceSystemOwner|SourceSystemId|ReplaceLastEffectiveEndDate

MERGE|ElementEntry|4712/12/31|2021/04/06|Housing Allowance Expat|US Legislative Data Group||E|XXTEST_ASSIGN1|XXTEST|XXTEST_ENTRY2|

ElementEntryValue.dat

METADATA|ElementEntryValue|EffectiveEndDate|EffectiveStartDate|InputValueName|ScreenEntryValue|AssignmentNumber|ElementName|LegislativeDataGroupName|ElementEntryId(SourceSystemId)|SourceSystemOwner|SourceSystemId|ReplaceLastEffectiveEndDate

MERGE|ElementEntryValue|4712/12/31|2021/04/06|Periodicity|PRD|XXTEST_ASSIGN1|Housing Allowance Expat|US Legislative Data Group|XXTEST_ENTRY2|XXTEST|XXTEST_ENTRYVALUE4|

MERGE|ElementEntryValue|4712/12/31|2021/04/06|Amount|100|XXTEST_ASSIGN1|Housing Allowance Expat|US Legislative Data Group|XXTEST_ENTRY2|XXTEST|XXTEST_ENTRYVALUE5|

MERGE|ElementEntryValue|4712/12/31|2021/04/06|Process Separately|Y|XXTEST_ASSIGN1|Housing Allowance Expat|US Legislative Data Group|XXTEST_ENTRY2|XXTEST|XXTEST_ENTRYVALUE6|


🔹 Field Explanation (Infographic Ready)

Element Entry Key Fields




🔹 Step-by-Step Process to Load Element Entries Using HDL

  1. Prepare ElementEntry.dat and ElementEntryValue.dat

  2. Validate AssignmentNumber and element reference data

  3. Zip the files into a single HDL package

  4. Go to Tools → HCM Data Loader → Upload

  5. Submit the load process and monitor status

  6. Verify element entries in the employee’s assignment


🔹 Common Errors & Resolutions

Common Errors in Element Entry Load




🔹 FAQ – Oracle Fusion HCM Element Entry HDL

1️⃣ What is ElementEntry HDL in Oracle HCM?

It allows bulk loading of payroll element entries such as allowances, deductions, and benefits.

2️⃣ Which files are required for element entry load?

ElementEntry and ElementEntryValue metadata are mandatory.

3️⃣ How to load multiple elements for one assignment?

Include multiple ElementEntry records with unique SourceSystemId. Use ElementEntryValue for specific amounts/flags.

4️⃣ Can I overwrite previous entries using HDL?

Yes, set ReplaceLastEffectiveEndDate = Y to overwrite older entries.

5️⃣ Why am I seeing “element not created” error?

  • Invalid AssignmentNumber

  • Element not configured in Oracle HCM

  • Dates not valid

  • Duplicate SourceSystemId

Person Contact HDL in Oracle Fusion HCM – Complete Guide with Contact.dat Template


🔹 Introduction: Why Load Person Contact Using HDL?

In Oracle Fusion HCM, person contact details include email addresses, phone numbers, emergency contacts, dependents, and beneficiaries.
Loading these contacts using HDL allows bulk updates and avoids manual entry.

This is essential for:

  • Employee onboarding

  • Emergency contact management

  • Payroll and benefits integration

  • Accurate HR reporting

You can see step by step video to load person contact details using this Link


🔹 Prerequisites

Before loading Contact.dat, ensure:

  1. Worker/person exists in Oracle HCM (PersonNumber must be valid)

  2. Source system codes are configured correctly

  3. Legislation codes are set (e.g., US, GLOBAL)

  4. Contact types and relationships are defined in reference data


🔹 Objects Required for Person Contact HDL

ObjectPurpose
ContactLoads person contact records (start date, end date)
ContactNameLoads names for the contact (first, middle, last, title)
ContactRelationshipDefines relationships (emergency, dependent, beneficiary, bondholder)

🔹 Sample HDL Templates (Contact.dat hdl template)

  • Contact Metadata - Covers Start Date,End Date of Contact

METADATA|Contact|SourceSystemOwner|SourceSystemId|EffectiveStartDate|EffectiveEndDate|PersonNumber|StartDate

MERGE|Contact|XXTEST|XXTEST_PERCNT2|2019/09/01|4712/12/31|XXTEST_CNT1|2019/09/01

  • ContactName Metadata - Covers Name of the Person contact

METADATA|ContactName|SourceSystemOwner|SourceSystemId|PersonId(SourceSystemId)|EffectiveStartDate|EffectiveEndDate|LegislationCode|NameType|FirstName|MiddleNames|LastName|Title

MERGE|ContactName|XXTEST|XXTEST_CNTNM2|XXTEST_PERCNT2|2019/09/01|4712/12/31|US|GLOBAL|ADAM||TEST|MR.

  • ContactRelationship Metadata - Covers Relation of Person Contact with Worker

METADATA|ContactRelationship|SourceSystemOwner|SourceSystemId|EffectiveStartDate|EffectiveEndDate|PersonId(SourceSystemId)|RelatedPersonId(SourceSystemId)|ContactType|BeneficiaryFlag|DependentFlag|EmergencyContactFlag|BondholderFlag

MERGE|ContactRelationship|XXTEST|XXTEST_CREL_CNT2|2019/09/01|4712/12/31|XXTEST_PERCNT2|XXTEST_PER1|Emergency|||Y|


🔹 Field Explanation (Infographic Ready)

FieldDescription
SourceSystemOwnerSource system that owns the record
SourceSystemIdUnique ID from source system
PersonNumberOracle Fusion employee number
EffectiveStartDateStart date of contact record
EffectiveEndDateEnd date of contact record
LegislationCodeCountry/region (e.g., US, GLOBAL)
NameTypeType of contact name (GLOBAL, LOCAL)
ContactTypeEmergency, Dependent, Beneficiary, Bondholder
EmergencyContactFlagY = Yes, this is emergency contact
DependentFlagY = Yes, this is dependent
BeneficiaryFlagY = Yes, this is beneficiary
BondholderFlagY = Yes, this is bondholder

🔹 Step-by-Step Process to Load Person Contact Using HDL

  1. Prepare Contact , ContactName , and ContactRelationship metadata

  2. Validate PersonNumber and reference data

  3. Zip files in a single HDL upload package

  4. Go to Tools → HCM Data Loader → Upload

  5. Submit process and monitor load status

  6. Verify contact records


🔹 Common Errors & Resolutions

IssueResolution
Contact not createdVerify PersonNumber exists
No change after loadCheck EffectiveStartDate and EffectiveEndDate
Invalid ContactTypeValidate reference data setup
Missing NameEnsure ContactName loaded correctly
Emergency/Dependent flag not updatedVerify flags (Y/N)

🔹 Best Practices

  • Always test in test environment first

  • Validate PersonNumber before upload

  • Use unique SourceSystemId for each contact

  • Keep EffectiveStartDate/EndDate consistent

  • Use separate files for Contact, ContactName, ContactRelationship


🔹 Internal Linking (SEO Boost)

Link this post to:

HDL Template for Dependent Enrollment in Oracle Fusion HCM (DependentEnrollment.dat)

  HDL Template for Dependent Enrollment in Oracle Fusion HCM (DependentEnrollment.dat) (Using DependentEnrollment.dat) Introduction In O...