Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in Toronto Sept 9th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Catching errors and tAssert

I have a job populating data in a SalesforceOutput component.  I would like to catch any errors on the rows that didn't make it in.   My plan was to use tAssert and tie it to the SalesforceOutput component and send the failures there.  Then, use tAssertion catcher to write to a output file. Is this the right approach?   If so, I am not sure what I need to populate in the expression for the tAssert.  Any help would be appreciated.  

Labels (3)
1 Solution

Accepted Solutions
Anonymous
Not applicable
Author

@steeld95 

 

If you are using file to store the logging information, you can use Append mode (check box under basic section of file output components) to load the data and it will prevent overwriting. But I would always suggests to use Databases instead of files to track these type of information. Files can get manipulated or corrupted easily but DB is not error prone like files. So if you want to create any audit information, create some audit tables and load the data there.

 

Coming to tAssert, it is used to assert or confirm that flow has passed through that route of the overall job execution. The best way to catch errors is also by redirecting the error flows (like OnSubJobError) to a database so that you know the place of error.

 

Warm Regards,
Nikhil Thampi

Please appreciate our Talend community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved 🙂

View solution in original post

3 Replies
manodwhb
Champion II
Champion II

@steeld95 ,you can directly take the main>>reject form tSaleasforceOutput to tfiloutputdelimiter and if any record was failed to insert/update it will route that file.

Anonymous
Not applicable
Author

Thanks for the suggestion @manodwhb .   I can set that up.  My only question is, each time that job is run, will the file from the previous job get overwritten?   Is there a way to store a record each time the job runs?  Also, just for clarification, is the tAssert and tAssertcatcher not intended to log row errors for outputs?  Seems like maybe they have a different intended purpose. 

Anonymous
Not applicable
Author

@steeld95 

 

If you are using file to store the logging information, you can use Append mode (check box under basic section of file output components) to load the data and it will prevent overwriting. But I would always suggests to use Databases instead of files to track these type of information. Files can get manipulated or corrupted easily but DB is not error prone like files. So if you want to create any audit information, create some audit tables and load the data there.

 

Coming to tAssert, it is used to assert or confirm that flow has passed through that route of the overall job execution. The best way to catch errors is also by redirecting the error flows (like OnSubJobError) to a database so that you know the place of error.

 

Warm Regards,
Nikhil Thampi

Please appreciate our Talend community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved 🙂