• Index
  •  » Talend Open Studio for Data Integration » Usage, Operation
  •  » [resolved] tFileOutputMSPositional accepts only one input

#1 2009-12-28 17:52:16

ewall
Member
Registered: 2010-12-16
Posts: 29
Website

[resolved] tFileOutputMSPositional accepts only one input

Using a Java (1.6.0_17) project in Talend Open Studio 3.2.0 on Windows XP SP3, I can't convince the tFileOutputMSPositional to accept more than one row-type input.

I've tried configuring all the incoming schema, row input from different components (tMap vs tFileInput...) and so on, with no luck. I also tried other tFileOutputMS* components, and they acted the same. (One forum thread noted that the tFileOutputMS* components would only accept data coming directly from a tFileInput* component, but it makes no difference for me.)

I have read the user guide & components documentation, plus all the related forum threads I could find. The multi-schema inputs work fine for me, delivering separate row outputs for each schema.

Am I not understanding how this component works? Or what else could I be missing? Thanks...

Last edited by ewall (2009-12-28 17:59:25)


Thanks for the help! ~ewall

Offline

#2 2009-12-29 04:59:10

shong
Talend team
Registered: 2007-08-29
Posts: 10350
Website

Re: [resolved] tFileOutputMSPositional accepts only one input

Hello guy
Can you try again on TOS3.2.2 or the latest version TOS4.0.0M1? I use TOS3.2.2 and it works fine.

Best regards

        shong


Email:shong@talend.com
Choose Talend, Enjoy Talend!
New & Event: Talend Help Center
Talend-->the leader of open source data management and application integration solutions!

Offline

#3 2009-12-29 15:48:14

ewall
Member
Registered: 2010-12-16
Posts: 29
Website

Re: [resolved] tFileOutputMSPositional accepts only one input

Thanks for the reply, shong.

I upgraded to v3.2.2, rebuilt some of the components, etc. but still the same behavior: I can only connect one row input to tFileOutputMSPositional. Any other inputs I try to connect are refused (using the GUI, I select the row output on the tMap, then drag over to the tFileOutputMSPositional, but the plug icon shows a circle with the cross through it, showing that it cannot connect).

(I have not tried v4.0.x yet, preferring to wait until it's marked stable/production-ready.)

Is there maybe another way to make the connection? Or something that has to be configured first?

Re-reading the components reference guide, it talks about how the table of schemas will be automatically filled in when inputs are added, but that you need to configure the dependencies between them. In my case, there are no dependencies--it is just a header row, a handful of data rows, and then a footer row. Maybe there's a better way to do this? For example, I could make 3 separate positional files, the concatenate them together. But the tFileOutputMSPositional sure seems like the right component for the job...

Last edited by ewall (2009-12-29 15:55:05)


Thanks for the help! ~ewall

Offline

#4 2009-12-30 06:41:02

shong
Talend team
Registered: 2007-08-29
Posts: 10350
Website

Re: [resolved] tFileOutputMSPositional accepts only one input

Hello

(using the GUI, I select the row output on the tMap, then drag over to the tFileOutputMSPositional, but the plug icon shows a circle with the cross through it, showing that it cannot connect).

Maybe you are tring to create a cycle flow in a job, you are not allowed to do that. See [Forum, topic 1468] multiple tAgregateRow and tMap components.
Can you upload a screenshot of your job?

Best regards

         shong


Email:shong@talend.com
Choose Talend, Enjoy Talend!
New & Event: Talend Help Center
Talend-->the leader of open source data management and application integration solutions!

Offline

#5 2009-12-30 18:55:12

ewall
Member
Registered: 2010-12-16
Posts: 29
Website

Re: [resolved] tFileOutputMSPositional accepts only one input

Yes, that's it! It didn't like having 3 inputs from the same source (see picture #1).

Once I copied and split out the input file into 3 separate pieces, I was able to have all inputs go into the final tFileOutputMSPositional (see picture #2). However, that gives me some strange errors:

HeaderOutput cannot be resolved to a type
Syntax error on token ".", class expected after this token
DataOutput cannot be resolved to a type
Syntax error on token ".", class expected after this token

It appears that some lines of the output code don't get filled in correctly:

HeaderOutputMap_tFileOutputMSPositional_1.put(String.valueOf(HeaderOutput.), HeaderOutput_tFileOutputMSPositional_1);

I wonder if this is because I haven't filled in the tFileOutputMSPositional component's fields for parent row, key column, etc. (since there is no such relationship between the rows)?

I did find a work-around, though... I used another set of tMaps to concatenate all the fields into a single 145-character field, which makes them all the same schema so I could join them with a tUnite and write to the output file (see picture #3). Should I stick with this solution, or is there a way to fix the errors in #2?


Uploaded Images

Last edited by ewall (2009-12-30 19:08:23)


Thanks for the help! ~ewall

Offline

  • Index
  •  » Talend Open Studio for Data Integration » Usage, Operation
  •  » [resolved] tFileOutputMSPositional accepts only one input

Board footer

Powered by FluxBB