Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
In a Talend flow, I switched from a tSAPTableInput to a tELTSAPInput for better performance. However, I noticed that tELTSAPInput is truncating string fields longer than 100 characters. In tSAPTableInput, I could specify the maximum length of strings, but this option is not available in tELTSAPInput, causing the truncation issue.
When you click on the [...] box to edit the schema in your tELTSAPInput component, have you filled the columns "Length" and "Precision" to allow the component to know what length to expect ?
If you already have done this, could you share more detail and screenshots of your job ?
Normally Talend shouldn't truncate any string field since java doesn't limit a string size by default. But this could be a limitation from the ELT way of working with SAP.
- Quentin
Hi Quentin,
yes I have already specified Lenght and Pecision
The flow is quite simple: it reads from SAP and writes to an Oracle database.
I tried printing the output before writing to Oracle, and it appears truncated, so I would exclude an issue with the writing process.
Here’s what I am doing for debugging:
The eltsapmap uses the RFC server; here you can see how it is set:
Previously, I was using a tSAOTableInput, where I could specify the maximum character length by adding this flag:
maybe I could specify it in the JVM arguments?
thank you,
Anea
So I may have an idea to help you
First, create a tSAPConnection (you will later use that connection call in other components by clicking the checkbox "Use an existing connection")
Fill your connection context
And in SAP Properties try this :
jco.client.max_field_length 4000
4000 being the "Value" column
You can also try (to mimic the behavior of the component)
api.use_z_talend_read_table true
Since I don't have access to tSAP components right now, you could check the code behind the tSAPTableInput to understand and see what Java / JCO properties they are using when you click on the checkbox to get the string limitation to 4000.
Alternatively you could also load data from tSAPTableInput to a tFileOutputDelimited (or other output) (csv file) with your non-truncated data and then from this file or other option load your data with ELT components. That's not a good option if your performance issues come from your SAP Table and not from transformation in the talend job.
If you find something, don't forget to post the answer here, it could help more people since there isn't a lot of information on internet about this issue at the moment
- Quentin