Can someone please shed some light on how we remedy this warning message?
<<jobname>>..JobControl (UtilityWarningToLog): USER INFO: Error in sub-routine JOB=> <<jobname>> STAGE=> JobControl LINK=> -8
What exactly does the -8 mean??
we are getting this message during the run of a sequenced series of jobs. Initially I thought perhaps it was being generated because the triggers from one of the jobs were set at "Unconditional" and "Otherwise". But it appears our developer has changed that to "OK" and "Otherwise" and is still receiving this message.
Thanks!!
UtilityWarningToLog Message
Moderators: chulett, rschirm, roy
UtilityWarningToLog is a function that you can call to write a Warning message to the log. DataStage does not call this function, someone has coded this into the job or (based on the message) a 'sub-routine' that one of the jobs or the Sequencer itself is calling.
The USER INFO part of the message - "Error in sub-routine" - is what was coded to be passed to the routine as its argument.
Much like the truth - it's out there! Now you just need to find it.
The USER INFO part of the message - "Error in sub-routine" - is what was coded to be passed to the routine as its argument.
Much like the truth - it's out there! Now you just need to find it.
-craig
"You can never have too many knives" -- Logan Nine Fingers
"You can never have too many knives" -- Logan Nine Fingers
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
-8 is an error code, meaning "not in stage".
It most probably indicates that you've called DSLinkInfo (more properly that DSLinkInfo has been called) with a StageName argument that isn't a stage name, or was DSJ.ME but the call was made other than within a stage. Check spelling and casing.
These negative error codes can be found in the dsinclude directory, in the JOBCONTROL.H file, as tokens beginning with "DSJE.". You can also find them in the on-line help for the various functions (such as DSGetLinkInfo) and in the DataStage BASIC manual.
It most probably indicates that you've called DSLinkInfo (more properly that DSLinkInfo has been called) with a StageName argument that isn't a stage name, or was DSJ.ME but the call was made other than within a stage. Check spelling and casing.
These negative error codes can be found in the dsinclude directory, in the JOBCONTROL.H file, as tokens beginning with "DSJE.". You can also find them in the on-line help for the various functions (such as DSGetLinkInfo) and in the DataStage BASIC manual.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Possible explanations for JobControl LINK=> -8 error
The possible explanations for an error fitting the pattern below appear to be:
<<jobname>>..JobControl (UtilityWarningToLog): USER INFO: Error in sub-routine JOB=> <<jobname>> STAGE=> JobControl LINK=> -8
1. Passing an empty or invalid parameter to a job from the .$UserStatus of the previous job e.g. the job that gets dates from the database runs a query that returns null and then attempts to pass this null parameter to the subsequent job in the sequence. What makes this kind of scenario tricky is that it can come up even though nothing has changed in DataStage e.g. if someone clears of the database table that is used by the DataStage job to get the data to pouplate the relevant parameter that it then passess on to the next job.
2. It appears that this error can also occur if the same sequence is called from two higher level sequences at the same time i.e. if you have a "reusable" sequence. As DataStage does not have a concept of multi instance sequences you should not really be reusing sequences that could potentially be called to run at the same time.
<<jobname>>..JobControl (UtilityWarningToLog): USER INFO: Error in sub-routine JOB=> <<jobname>> STAGE=> JobControl LINK=> -8
1. Passing an empty or invalid parameter to a job from the .$UserStatus of the previous job e.g. the job that gets dates from the database runs a query that returns null and then attempts to pass this null parameter to the subsequent job in the sequence. What makes this kind of scenario tricky is that it can come up even though nothing has changed in DataStage e.g. if someone clears of the database table that is used by the DataStage job to get the data to pouplate the relevant parameter that it then passess on to the next job.
2. It appears that this error can also occur if the same sequence is called from two higher level sequences at the same time i.e. if you have a "reusable" sequence. As DataStage does not have a concept of multi instance sequences you should not really be reusing sequences that could potentially be called to run at the same time.
First make it run, then make it right and then make it fast.