Showing posts with label HCM Data Loader. Show all posts
Showing posts with label HCM 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.

Thursday, 19 January 2023

HDL Template to Accrual Plan Enrollment of Worker

HDL Template to Accrual Plan Enrollment of Worker

Please find the below sample template :

File Name - PersonAccrualPlanEnrollment.dat


METADATA|PersonAccrualPlanEnrollment|PersonNumber|WorkTermAsgNum|PlanName|EnrtStDt|SourceSystemId|SourceSystemOwner

MERGE|PersonAccrualPlanEnrollment|XXTEST22|XXTEST_WRKTERM22|Sick|2021/01/01|XXTEST_SICK1|XXTEST

HDL Template to Disability of Worker

 HDL Template to Person Disability


Please find the below sample template :


File Name- PersonDisability.dat

METADATA|PersonDisability|SourceSystemOwner|SourceSystemId|EffectiveStartDate|EffectiveEndDate|LegislationCode|PersonId|PersonNumber|SelfDisclosedType|Category|QuotaFTE|Status

MERGE|PersonDisability|XXTEST|XXTEST_DIS21|2021/07/07|4712/12/31|US|100000609337422|XXTEST21|ORA_PER_YES_US|NA|1|A


 

Wednesday, 18 January 2023

HDL Template to Change Hire Date of Worker

HDL Template to Change Hire Date of Worker 


For this use Worker.dat


Please find the below sample template :



SET PURGE_FUTURE_CHANGES N


METADATA|WorkRelationship|SourceSystemOwner|SourceSystemId|PersonId(SourceSystemId)|LegalEmployerName|NewStartDate

MERGE|WorkRelationship|XXTEST|XXTEST_HIREDATE1|100009|India Legal Entity|2002/02/10


HDL Template for Salary of Worker

 Salary Of Worker using HDL.

For this use Salary.dat


Please find the below sample template :


METADATA|Salary|AssignmentNumber|DateFrom|DateTo|SalaryAmount|SalaryBasisName|ActionCode|SalaryApproved

MERGE|Salary|ORACLE_ASG12|1991/01/01||10000|US1 Annual Salary|HIRE|Y


HDL Template for Worker Extra Information of Worker (EIT)

HDL Template for Worker Extra Information of Worker (EIT).

For this use Worker.dat

Please find the below sample template :

Sample file for Worker EIT.

METADATA|WorkerExtraInfo|PersonNumber|EffectiveStartDate|EffectiveEndDate|InformationType|PeiInformationCategory|CategoryCode|FLEX:PER_PERSON_EIT_EFF|EFF_CATEGORY_CODE|_CASTE(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)|_COMMUNITY(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)|_EX_SERVICE_PERSON(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)|_HEIGHT(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)|_PAN_APPLIED(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)|_PAN_REFERENCE_NUMBER(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)|_RESIDENTIAL_STATUS(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)|_RESIDENTIAL_STATUS_Display(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)|_WEIGHT(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)


MERGE|WorkerExtraInfo|PS5|2010/11/02||HRX_IN_MISCELLANEOUS|HRX_IN_MISCELLANEOUS|PER_EIT|HRX_IN_MISCELLANEOUS|PER_EIT|Test123|Backward|||||||

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 Template for eText BIP Report

 Sample Template for eText BIP Report 

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


Please find the attached templates:

1) eText Template -

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

 

2) Fixed Position eText Template  - 

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

<TEMPLATE TYPE>

FIXED_POSITION_BASED

<OUTPUT CHARACTER SET>

iso-8859-1

<CASE CONVERSION>

UPPER

<NEW RECORD CHARACTER>

Carriage Return

 

<LEVEL>

DATA_DS

<POSITION>

<LENGTH>

<FORMAT>

<PAD>

<DATA>

<COMMENTS>

<NEW RECORD>

TABLE_HEADER

1

15

Alpha

R, ' '

'Person Id'

 

16

3

Alpha

R, ' '

'|'

 

19

15

Alpha

R, ' '

'Title'

 

35

3

Alpha

R, ' '

'|'

 

39

50

Alpha

R, ' '

'First Name'

 

90

3

Alpha

R, ' '

'|'

 

94

20

Alpha

R, ' '

'Last Name'

 

<LEVEL>

G_1

<POSITION>

<LENGTH>

<FORMAT>

<PAD>

<DATA>

<COMMENTS>

<NEW RECORD>

TABLE_HEADER

1

15

Alpha

R, ' '

PERSON_ID

 

16

3

Alpha

R, ' '

'|'

 

19

15

Alpha

R, ' '

TITLE

 

35

3

Alpha

R, ' '

'|'

 

39

50

Alpha

R, ' '

FIRST_NAME

 

90

3

Alpha

R, ' '

'|'

 

94

20

Alpha

R, ' '

LAST_NAME

 

<END LEVEL>

G_1

<END LEVEL>

DATA_DS

 

Note - For any doubts or additional information, please reach out in the comment section.

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 lo...