UtilityWarningToLog Message

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
jjrbikes
Premium Member
Premium Member
Posts: 117
Joined: Tue Nov 25, 2003 11:09 am
Location: Minneapolis

UtilityWarningToLog Message

Post by jjrbikes »

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!!
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

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! :wink: Now you just need to find it.
-craig

"You can never have too many knives" -- Logan Nine Fingers
jjrbikes
Premium Member
Premium Member
Posts: 117
Joined: Tue Nov 25, 2003 11:09 am
Location: Minneapolis

Post by jjrbikes »

Thanks Craig!

That all makes good sense to me!! So can you tell me, does the
STAGE=> JobControl LINK=> -8

at the end of that message at least give me a clue of where to start looking? What does that -8 mean??

Thanks Again!

Jennifer
jjrbikes
Premium Member
Premium Member
Posts: 117
Joined: Tue Nov 25, 2003 11:09 am
Location: Minneapolis

Post by jjrbikes »

Thanks Craig!

That all makes good sense to me!! So can you tell me, does the
STAGE=> JobControl LINK=> -8

at the end of that message at least give me a clue of where to start looking? What does that -8 mean??

Thanks Again!

Jennifer
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

No, I think all the -8 means is that it is a warning. :?

I'd start with whatever JOB NAME is logging the message and dig down from there.
-craig

"You can never have too many knives" -- Logan Nine Fingers
jjrbikes
Premium Member
Premium Member
Posts: 117
Joined: Tue Nov 25, 2003 11:09 am
Location: Minneapolis

Post by jjrbikes »

Yep! That seems like the most logical place to start.
Thanks again!!!
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

-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.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
quiztime
Premium Member
Premium Member
Posts: 4
Joined: Fri Nov 16, 2007 2:26 am
Location: Sydney, Australia

Possible explanations for JobControl LINK=> -8 error

Post by quiztime »

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.
First make it run, then make it right and then make it fast.
Post Reply