Skip to main content
Announcements
Accelerate Your Success: Fuel your data and AI journey with the right services, delivered by our experts. Learn More
cancel
Showing results for 
Search instead for 
Did you mean: 
StuJordan
Contributor
Contributor

How to generate multiple distinct lines in a new file for a single row of data from an input file...integrating with Oracle HCM using "data loader".

New Talend developer here.  Please help.

I get a file from a vendor having many rows of data for employees.  Each row of data is for a single employee.  If file has 10 rows then there are 10 employees' worth of data in file.  I have to take each row of data in the vendor's file and write 18 rows of data into a new file, for each employee, before attempting to load it into Oracle thru their data loader tool.  If the vendor's file had 10 employees in it...then it would result in 180 rows of data in final file that needs to be created before loading into Oracle HCM thru data loader.

The problem I'm having is I don't find a component in Talend that can handle this type of file writing.  Is there some kind of special iteration function that would allow 18 distinct lines being created for each individual row read from the vendor's file?

 

Example single input row from vendor file would be:

D|20240223|150412||20240219|20240218|987654321|123456789|WILSON|CARL|ARIZONA UNIVERSITY|||||||||||||||||||||A|10.00|E|0.00|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||20240215|20230116|A|20240201|D|20240201|E|20230116|||||||||||D|20240201|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||DS,BE,EC|

Example outout for single employee, consisting of 18 rows, would be:

METADATA|CalculationCard|SourceSystemOwner|SourceSystemId|LegislativeDataGroupName|DirCardDefinitionName|EffectiveStartDate|EffectiveEndDate|PayrollRelationshipNumber|CardSequence
MERGE|CalculationCard|PS|BP_123456789-1|US Legislative Data Group|Benefits and Pensions|2024/03/21||123456789-1|1
METADATA|CardComponent|SourceSystemOwner|SourceSystemId|LegislativeDataGroupName|DirCardId(SourceSystemId)|EffectiveStartDate|EffectiveEndDate|DirCardCompDefName|ComponentSequence
MERGE|CardComponent|PS|403b_123456789-1|US Legislative Data Group|BP_123456789-1|2024/03/21||Butler 403b Retirement Contribution|1
METADATA|CalculationValueDefinition|SourceSystemOwner|SourceSystemId|LegislativeDataGroupName|SourceId(SourceSystemId)|EffectiveStartDate|EffectiveEndDate|DirCardCompDefName|ValueDefinitionName
MERGE|CalculationValueDefinition|PS|403b_123456789-1Catch-Up Processing Rule|US Legislative Data Group|403b_123456789-1|2024/03/21||Butler 403b Retirement Contribution|Catch-Up Processing Rule
MERGE|CalculationValueDefinition|PS|403b_123456789-1Percentage for Employee Contribution|US Legislative Data Group|403b_123456789-1|2024/03/21||Butler 403b Retirement Contribution|Percentage for Employee Contribution
MERGE|CalculationValueDefinition|PS|403b_123456789-1Percentage for Employee Catch-Up Contribution|US Legislative Data Group|403b_123456789-1|2024/03/21||Butler 403b Retirement Contribution|Percentage for Employee Catch-Up Contribution
MERGE|CalculationValueDefinition|PS|403b_123456789-1Percentage for Employer Contribution|US Legislative Data Group|403b_123456789-1|2024/03/21||Butler 403b Retirement Contribution|Percentage for Employer Contribution
MERGE|CalculationValueDefinition|PS|403b_123456789-1Percentage for Employer Catch-Up Contribution|US Legislative Data Group|403b_123456789-1|2024/03/21||Butler 403b Retirement Contribution|Percentage for Employer Catch-Up Contribution
MERGE|CalculationValueDefinition|PS|403b_123456789-1Partial deduction Allowed|US Legislative Data Group|403b_123456789-1|2024/03/21||Butler 403b Retirement Contribution|Partial deduction Allowed
METADATA|EnterableCalculationValue|SourceSystemOwner|SourceSystemId|LegislativeDataGroupName|ValueDefnId(SourceSystemId)|EffectiveStartDate|EffectiveEndDate|Value1|ValueDefinitionName
MERGE|EnterableCalculationValue|PS|403b_123456789-1Catch-Up Processing Rule|US Legislative Data Group|403b_123456789-1Catch-Up Processing Rule|2024/03/21||Concurrent|Catch-Up Processing Rule
MERGE|EnterableCalculationValue|PS|403b_123456789-1Percentage for Employee Contribution|US Legislative Data Group|403b_123456789-1Percentage for Employee Contribution|2024/03/21||11|Percentage for Employee Contribution
MERGE|EnterableCalculationValue|PS|403b_123456789-1Percentage for Employee Catch-Up Contribution|US Legislative Data Group|403b_123456789-1Percentage for Employee Catch-Up Contribution|2024/03/21||9|Percentage for Employee Catch-Up Contribution
MERGE|EnterableCalculationValue|PS|403b_123456789-1Percentage for Employer Contribution|US Legislative Data Group|403b_123456789-1Percentage for Employer Contribution|2024/03/21||0|Percentage for Employer Contribution
MERGE|EnterableCalculationValue|PS|403b_123456789-1Percentage for Employer Catch-Up Contribution|US Legislative Data Group|403b_123456789-1Percentage for Employer Catch-Up Contribution|2024/03/21||0|Percentage for Employer Catch-Up Contribution
MERGE|EnterableCalculationValue|PS|403b_123456789-1Partial deduction Allowed|US Legislative Data Group|403b_123456789-1Partial deduction Allowed|2024/03/21||Yes|Partial deduction Allowed

Labels (6)
1 Reply
Shicong_Hong
Support
Support

Hi

I can't see how the 18 rows of your output data have anything to do with your input data, however, you need a tFlowToIterate to iterate each record in source file, and then you can use a tLoop to generate multiple rows for each record. Take a look at the component documentation and learn these two components.

Regards

Shicong