[resolved] tDie after RunIf condition

Highlighted
One Star

[resolved] tDie after RunIf condition

Hi,
I'm using TOS 5.0.1 with AS400 SGBD.
I would like to create a parent job to transmit by integer variable (context) asked "STOP_TO_ERROR" an argument to child job.
My child job execute an tAS400Row and testing the variable "STOP_TO_ERROR" and if equals 1 then execute tDie component to stop process:
tAS400Row --> RunIf --> tDie
If condition : ((Integer)globalMap.get("STOP_SI_ERREUR")).equals(1)
When I'm executing the parent job I have an error message :
connecting to socket on port 3569
connected
Exception in component tAS400Row_1
java.lang.NullPointerException
at shlmr.alim_maj_statut_0_1.alim_maj_statut.tAS400Row_1Process(alim_maj_statut.java:895)
at shlmr.alim_maj_statut_0_1.alim_maj_statut.runJobInTOS(alim_maj_statut.java:3625)
at shlmr.alim_maj_statut_0_1.alim_maj_statut.runJob(alim_maj_statut.java:3312)
at shlmr.aaa_0_1.aaa.tRunJob_3Process(aaa.java:1246)
at shlmr.aaa_0_1.aaa.tAS400Input_1Process(aaa.java:1116)
at shlmr.aaa_0_1.aaa.runJobInTOS(aaa.java:3997)
at shlmr.aaa_0_1.aaa.main(aaa.java:3646)
Exception in component tRunJob_3
java.lang.RuntimeException: Child job running failed
at shlmr.aaa_0_1.aaa.tRunJob_3Process(aaa.java:1264)
at shlmr.aaa_0_1.aaa.tAS400Input_1Process(aaa.java:1116)
at shlmr.aaa_0_1.aaa.runJobInTOS(aaa.java:3997)
at shlmr.aaa_0_1.aaa.main(aaa.java:3646)
disconnected
I think i should be used tJava or tJavaRow component...
How to create RunIf condition to testing my parameter after execute the tAS400Row ?
See a screenshot.
Regards,
Olivier

Accepted Solutions
One Star

Re: [resolved] tDie after RunIf condition

Hi
Here is the expression of Run-if trigger in this child job.
context.STOP_SI_ERREUR==1

I think you don't understand how to pass value with tRunjob.
Regards,
Pedro

All Replies
One Star

Re: [resolved] tDie after RunIf condition

Hi Olivier
According to your description, now the problem is how to pass the value of "STOP_TO_ERROR" from main job to child job, for which you need to configure 'Context param' on tRunjob.
Here is a previous topic 21855.
Regards,
Pedro
One Star

Re: [resolved] tDie after RunIf condition

Hi Pedro,
It's ok for this part.
My problem is to testing my variable after executing tAS00Row (from my screenshot).
If I using Run If condition after tAS400Row I have this error
. I don't know if it's an obligation to use tJava component for loading «STOP_TO_ERROR» before testing this parameter on If condition.
In another job, I'm using this condition after tJavaRow :
tAS400Input --main--> tJavaRow --If-->tRunJob
And it's ok, I can replicate the result of tAS400Input on my variable by the tJavaRow and testing my variable on If condition...
But, how to create this job :
tAS400Row --?--> tDie.
tDie not depending of tAs400Row, is executing after this.
tDie depending of my ParentParameter «STOP_TO_ERROR».
Thanks
One Star

Re: [resolved] tDie after RunIf condition

Hi
Please show me the screenshot about tRunjob in your main job.
The reason you got NPE exception is that global value "STOP_TO_ERROR" wasn't passed from main job to child job.
Solution: Add a context variable called new1 in the child job.
Configure tRunJob component of the main job as the following image.
Modify the expression of Run-if trigger in the child job with context.new1.
Regards,
Pedro
One Star

Re: [resolved] tDie after RunIf condition

See my screenshot from parentjob and childrenjob.
To resum, I'll would like to stop process (all jobs) when asking childjob and "STOP_TO_ERROR" parameters = 1.
Parent Job in order process :
ParentSearch.jpg
JavaRowParent.jpg
If2Parent.jpg
ParentJob.jpg
If1Parent.jpg
ParentJobOK.jpg

Children Job in order :
contextchildjob.jpg
ChildJobUpdate.jpg
IfChildJob.jpg
One Star

Re: [resolved] tDie after RunIf condition

Hi
Here is the expression of Run-if trigger in this child job.
context.STOP_SI_ERREUR==1

I think you don't understand how to pass value with tRunjob.
Regards,
Pedro
One Star

Re: [resolved] tDie after RunIf condition

Ok...
Many thanks for your reply Smiley Wink

Regards,
Olivier

2019 GARNER MAGIC QUADRANT FOR DATA INTEGRATION TOOL

Talend named a Leader.

Get your copy

OPEN STUDIO FOR DATA INTEGRATION

Kickstart your first data integration and ETL projects.

Download now

What’s New for Talend Summer ’19

Watch the recorded webinar!

Watch Now

Best Practices for Using Context Variables with Talend – Part 2

Part 2 of a series on Context Variables

Blog

Best Practices for Using Context Variables with Talend – Part 1

Learn how to do cool things with Context Variables

Blog

Migrate Data from one Database to another with one Job using the Dynamic Schema

Find out how to migrate from one database to another using the Dynamic schema

Blog