Symptom
While importing payment information zip file for a user with at-least 2 effective dated record, following error is thrown:
- This record failed due to an error in one of the related records i.e. a failed record with the same external Code or an error in either a parent or any composite child record.
- Sorry, you should provide only one main payment method.
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 Employee Central: Payment Information
Reproducing the Issue
Import payment information zip file for a user with at-least 2 effective dated records which results in the mentioned error.
Cause
Scenario:
Consider a new employee payment Information is being imported has multiple effective dated records then,
Payment _Information(Parent) defined in PaymentInformationV3.csv would have the below records
workerId,Effective start date
"123","01/01/2019" -> Parent_record1
"123","02/02/2019" -> Parent_record2
Payment _Information_detailV3(child) defined in PaymentInformationDetailsV3.csv would have the below records
"123","01/01/2019","MAIN", -> child_record 1
"123","02/02/2019","MAIN", -> child_record 2
As mentioned in the above scenario grouping would happen based on effective date of the parent,
For effective date of 01/01/2019 , there is only one entry in the child(child_record 1) from (Payment _Information_detailV3) is valid ,
So for the first effective date there would be only one entry picked from parent and child (ie)Parent_record1 is group with child_record 1 and made as a single entry and is provided to the payment information for the validations which will pass .
However ,For effective date of 02/02/2019, there is two entry in the child(child_record 1 & child_record 2) from (Payment _Information_detailV3) is valid and so an entry with one parent and two child are provided to the payment information for the validations and here the validation would break as there should be only one MAIN paytype valid as of a particular effective date. However in this case there are two MAIN Paytype type mentioned in child which is valid from payment information.
The issue is occurring as the import is being performed in incremental load. MDF Import has 'CopyOver' functionality that applicable on Incremental-Import, where the composite hierarchy of previous time-slice is copied-over to newly created time-slice.
Resolution
To resolve the issue, kindly set purgeType as fullPurge in import.properties file in the zip file as copyover functionality is only applicable for incremental import.
Keywords
Sorry, you should provide only one main payment method, Payment information import , KBA , LOD-SF-EC-PAY , Payment Information (Bank Information) , LOD-SF-EC , Employee Central , Problem