<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: [resolved] How to get the error message from the child job in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318605#M88935</link>
    <description>You could try globalMap.get("tRunJob_1_CHILD_EXCEPTION_STACKTRACE") in case of your error is caused by an exception. Normal tDie messages couldn't be retrieved this way.</description>
    <pubDate>Mon, 05 May 2014 19:25:23 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2014-05-05T19:25:23Z</dc:date>
    <item>
      <title>[resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318604#M88934</link>
      <description>Dear Helpers, 
&lt;BR /&gt;We have a parent job with a tRunJob component. Both jobs have tLogCatcher inside. Inside the 
&lt;BR /&gt;child job execeptions/errors via tDie can occur. How can the error message passed to the parent 
&lt;BR /&gt;job that calls the sub-job via tRunJob? Are there any globalMap parameters or what approach is 
&lt;BR /&gt;applied for that? 
&lt;BR /&gt;I have found that entry 
&lt;BR /&gt; 
&lt;A href="https://community.qlik.com/s/feed/0D53p00007vCoKhCAK" target="_blank" rel="nofollow noopener noreferrer"&gt;https://community.talend.com/t5/Design-and-Development/how-to-catch-the-error-message-of-sub-job-at-the-outside-father/td-p/93792&lt;/A&gt; 
&lt;BR /&gt;but it doesn't work. 
&lt;BR /&gt;I am very grateful for any help. 
&lt;BR /&gt;Kind regards 
&lt;BR /&gt;Hilderich</description>
      <pubDate>Mon, 05 May 2014 15:55:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318604#M88934</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-05-05T15:55:04Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318605#M88935</link>
      <description>You could try globalMap.get("tRunJob_1_CHILD_EXCEPTION_STACKTRACE") in case of your error is caused by an exception. Normal tDie messages couldn't be retrieved this way.</description>
      <pubDate>Mon, 05 May 2014 19:25:23 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318605#M88935</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-05-05T19:25:23Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318606#M88936</link>
      <description>Hello jlolling, 
&lt;BR /&gt;Many thanks for answering. Unfortunately I want exactly the tDie message returned to the parent job. The tLogCatcher in the child job is triggerd by tDie and the message is there also received. The question is how to pass it to the parent job? Do you have the answer? 
&lt;BR /&gt;Kind Regards 
&lt;BR /&gt;Hilderich</description>
      <pubDate>Tue, 06 May 2014 11:04:50 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318606#M88936</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-05-06T11:04:50Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318607#M88937</link>
      <description>Hi Hilderich
&lt;BR /&gt;Using a tBufferOutput component in the child job to pass the error message from the child job to the main job. Refer to this KB article:
&lt;BR /&gt;
&lt;A href="https://help.talend.com/search/all?query=Returning+a+value+from+a+child+Job+to+the+parent+Job&amp;amp;content-lang=en" rel="nofollow noopener noreferrer"&gt;https://help.talend.com/search/all?query=Returning+a+value+from+a+child+Job+to+the+parent+Job&amp;amp;content-lang=en&lt;/A&gt;
&lt;BR /&gt;Shong</description>
      <pubDate>Tue, 06 May 2014 11:12:07 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318607#M88937</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-05-06T11:12:07Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318608#M88938</link>
      <description>Hi, 
&lt;BR /&gt;There could be many options to do this. 
&lt;BR /&gt;1) Context variable - enable Transmit whole context. This would transfer the value of context variable to child job. 
&lt;BR /&gt;2) use (getter-setter) routine - Set the error value in subjob and get the same value in parent job 
&lt;BR /&gt;3) Use tFixedFlowInput--&amp;gt;tBuffer in subjob for your error message. Retrieve schema in parent job to get the error message 
&lt;BR /&gt;4) If you are using tlogcatcher - output the result sets to flat file. In parent job read that flat file to see the error message 
&lt;BR /&gt;Thanks 
&lt;BR /&gt;Vaibhav</description>
      <pubDate>Tue, 06 May 2014 11:14:09 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318608#M88938</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-05-06T11:14:09Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318609#M88939</link>
      <description>Hello shong, sanvaibhav and jlolling, 
&lt;BR /&gt;As I see there are no limits in being creative. I am grateful for your hints. 
&lt;BR /&gt;Kind regards 
&lt;BR /&gt;Hilderich</description>
      <pubDate>Tue, 06 May 2014 13:48:23 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318609#M88939</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-05-06T13:48:23Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318610#M88940</link>
      <description>Hello sanvaibhav, 
&lt;BR /&gt;Your suggestion No 1 explains the return mechanism via context variables. I have tried this but 
&lt;BR /&gt;with no success. Both jobs have one identical context variable 'errorInSubjob' and on tRunJob 
&lt;BR /&gt;the option 'Transmit whole context' is activated. After the sub-job failed and returned back to 
&lt;BR /&gt;the parent job this variable is not set properly. Are there any side attentions to take care? 
&lt;BR /&gt;Kind regards 
&lt;BR /&gt;Hilderich</description>
      <pubDate>Tue, 06 May 2014 14:31:52 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318610#M88940</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-05-06T14:31:52Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318611#M88941</link>
      <description>Hilderich - "Transmit whole context" goes from Parent to Child, not the other way around. The other methods described here would give you that - Talend in-built global variables, tBufferOutput, a global hashmap variable (set/get), a file).</description>
      <pubDate>Tue, 06 May 2014 15:30:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318611#M88941</guid>
      <dc:creator>willm1</dc:creator>
      <dc:date>2014-05-06T15:30:02Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318612#M88942</link>
      <description>Hello All,&lt;BR /&gt;I have solved it with a context variable of type Object and assigned to it a Map.&lt;BR /&gt;In the sub-job I have put an entry of type string into the map and then I was able to &lt;BR /&gt;read it afterwards in my parent job. I have done my "job".&lt;BR /&gt;Kind regards&lt;BR /&gt;Hilderich</description>
      <pubDate>Tue, 06 May 2014 17:20:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318612#M88942</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-05-06T17:20:02Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318613#M88943</link>
      <description>Hilderich, 
&lt;BR /&gt;As Willm said, transmit whole context is applicable for parent to child and not from child to parent. But enabling that check box, allows bi-directional flow of variables, else it won't. Resetting the context variable value of parent job is implemented using (getter setter) routines. Suppose I have multiple subjobs called in a job, once I return the context variable value using routine from child to parent job, then again this context variable value is available to all the other subjobs. This way, it becomes easy to manage variables. 
&lt;BR /&gt;Thanks 
&lt;BR /&gt;Vaibhav</description>
      <pubDate>Wed, 07 May 2014 05:13:17 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318613#M88943</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-05-07T05:13:17Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318614#M88944</link>
      <description>Hello sanvaibhav, 
&lt;BR /&gt;I cannot grasp why a context variable of type String doesn't work (also not working with 
&lt;BR /&gt;option "transmit whole context" in tRunJob) but it works when this context variable is of 
&lt;BR /&gt;type Object and you assign a HashMap to it in parent and modify its entries in the child 
&lt;BR /&gt;jobs. Then theses values are in a bi-directional access for parent and child afterwards. 
&lt;BR /&gt;That's magic. 
&lt;BR /&gt;tJavaRow (parent) 
&lt;BR /&gt;Map&amp;lt;String,String&amp;gt; errors = new HashMap&amp;lt;String,String&amp;gt;(); 
&lt;BR /&gt;errors.put("ERRORS",""); 
&lt;BR /&gt;context.errors = errors; 
&lt;BR /&gt;tRunJob (parent) with option "Transmit whole context" 
&lt;BR /&gt;tLogCatcher -&amp;gt; tJavaRow (child) 
&lt;BR /&gt;Map&amp;lt;String,String&amp;gt; errors = (HashMap&amp;lt;String,String&amp;gt;) context.errors; 
&lt;BR /&gt;errors.put("ERRORS", output_row.message); 
&lt;BR /&gt;tLogCatcher -&amp;gt; tJavaRow (parent) 
&lt;BR /&gt;Map&amp;lt;String,String&amp;gt; errors = (HashMap&amp;lt;String,String&amp;gt;) context.errors; 
&lt;BR /&gt;if(StringUtils.isNotBlank(errors.get("ERRORS"))) { 
&lt;BR /&gt; output_row.message = errors.get("ERRORS"); 
&lt;BR /&gt;} 
&lt;BR /&gt;Conclusion: That works! 
&lt;BR /&gt;Kind regards 
&lt;BR /&gt;Hilderich</description>
      <pubDate>Wed, 07 May 2014 08:17:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318614#M88944</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2014-05-07T08:17:02Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318615#M88945</link>
      <description>&lt;BLOCKQUOTE&gt; 
 &lt;TABLE border="1"&gt; 
  &lt;TBODY&gt; 
   &lt;TR&gt; 
    &lt;TD&gt;I cannot grasp why a context variable of type String doesn't work (also not working with &lt;BR /&gt;option "transmit whole context" in tRunJob) but it works when this context variable is of &lt;BR /&gt;type Object and you assign a HashMap to it in parent and modify its entries in the child &lt;BR /&gt;jobs. Then theses values are in a bi-directional access for parent and child afterwards. &lt;BR /&gt;That's magic.&lt;/TD&gt; 
   &lt;/TR&gt; 
  &lt;/TBODY&gt; 
 &lt;/TABLE&gt; 
&lt;/BLOCKQUOTE&gt; 
&lt;BR /&gt;The key to understanding Talend parameter passing, is to understand how Java handles parameter passing. When you pass your Context variables to a child Job (or return values back), you are using the Java parameter passing mechanism. Java Passes by Value. This means that when you transmit your context variables to your child Job, you can't simply reassign the value, for the parent Job to then pick it up. 
&lt;BR /&gt;By passing in a hashmap (mutable object) to the child job in a context, the child job changes it and that hashmap returns the value in the parent that was changed in the child... 
&lt;BR /&gt;See this article for the more complete explanation... 
&lt;A href="http://www.talendbyexample.com/talend-returning-values-from-subjobs.html" rel="nofollow noopener noreferrer"&gt;http://www.talendbyexample.com/talend-returning-values-from-subjobs.html&lt;/A&gt; Scroll down to the section that starts with "Returning Values through Context"</description>
      <pubDate>Thu, 08 May 2014 20:07:09 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318615#M88945</guid>
      <dc:creator>willm1</dc:creator>
      <dc:date>2014-05-08T20:07:09Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318616#M88946</link>
      <description>The simple truth is that you just will post ads for babysitting jobs online and offer up your babysitting services through bulletin boards and web portals and job hunting sites. The trick is to be careful-especially if you are under age. Always have a parent go with you to meet your potential babysitter job clients before the actual job is to take place.&lt;BR /&gt;&lt;A href="https://junglejuniors.com.au/" rel="nofollow noopener noreferrer"&gt;https://junglejuniors.com.au/&lt;/A&gt;</description>
      <pubDate>Fri, 16 May 2014 05:41:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318616#M88946</guid>
      <dc:creator>_AnonymousUser</dc:creator>
      <dc:date>2014-05-16T05:41:26Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318617#M88947</link>
      <description>&lt;BLOCKQUOTE&gt;
 &lt;TABLE border="1"&gt;
  &lt;TBODY&gt;
   &lt;TR&gt;
    &lt;TD&gt;Hi &amp;nbsp;Hilderich&lt;BR /&gt;Using a tBufferOutput component in the child job to pass the error message from the child job to the main job. Refer to this KB article:&lt;BR /&gt;&lt;A href="https://help.talend.com/search/all?query=Returning+a+value+from+a+child+Job+to+the+parent+Job&amp;amp;content-lang=en" target="_blank" rel="nofollow noopener noreferrer"&gt;https://help.talend.com/search/all?query=Returning+a+value+from+a+child+Job+to+the+parent+Job&amp;amp;content-lang=en&lt;/A&gt;&lt;BR /&gt;Shong&lt;BR /&gt;tBufferOutput is not working in this case Shong.&lt;BR /&gt;need a solution&lt;BR /&gt;&lt;/TD&gt;
   &lt;/TR&gt;
  &lt;/TBODY&gt;
 &lt;/TABLE&gt;
&lt;/BLOCKQUOTE&gt;</description>
      <pubDate>Sat, 06 Feb 2016 05:01:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318617#M88947</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-02-06T05:01:04Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318618#M88948</link>
      <description>tBufferOutput is not working in this case Shong.
&lt;BR /&gt;need a solution...</description>
      <pubDate>Sat, 06 Feb 2016 05:02:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318618#M88948</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-02-06T05:02:26Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318619#M88949</link>
      <description>Exactly Satya! 
&lt;BR /&gt;Shong,&amp;nbsp; 
&lt;BR /&gt;As Satya said, tBufferOutput doesn't work during error. I mean, it doesn't carry information from child to parent incase of error. 
&lt;BR /&gt;But the same component is successfully carrying data incase of job success. Please take an example and try it.... 
&lt;BR /&gt;Regards, 
&lt;BR /&gt;Vijay (abhicool666@gmail.com)</description>
      <pubDate>Thu, 18 Feb 2016 23:15:05 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318619#M88949</guid>
      <dc:creator>_AnonymousUser</dc:creator>
      <dc:date>2016-02-18T23:15:05Z</dc:date>
    </item>
    <item>
      <title>Re: [resolved] How to get the error message from the child job</title>
      <link>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318620#M88950</link>
      <description>Hi Vijay
&lt;BR /&gt;I gave an example in my reply in this the 
&lt;A href="https://help.talend.com/search/all?query=Returning+a+value+from+a+child+Job+to+the+parent+Job&amp;amp;content-lang=en?focusedCommentId=266311565#comment-266311565" target="_blank" rel="nofollow noopener noreferrer"&gt;article &lt;/A&gt;that use onsubjoberror to trigger a subjob that pass the customized message from the child job to parent job, i have tested it and it works.
&lt;BR /&gt;
&lt;FONT size="2"&gt;&lt;FONT face="noto, Helvetica, Arial, sans-serif"&gt;Best regards&lt;/FONT&gt;&lt;/FONT&gt;
&lt;BR /&gt;
&lt;FONT size="2"&gt;&lt;FONT face="noto, Helvetica, Arial, sans-serif"&gt;Shong&lt;/FONT&gt;&lt;/FONT&gt;</description>
      <pubDate>Fri, 19 Feb 2016 02:21:08 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/resolved-How-to-get-the-error-message-from-the-child-job/m-p/2318620#M88950</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-02-19T02:21:08Z</dc:date>
    </item>
  </channel>
</rss>

