Datastage phantom error

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
roopaknair
Participant
Posts: 5
Joined: Mon Aug 01, 2005 3:22 am

Datastage phantom error

Post by roopaknair »

Hi All,

I am getting a Warning in my Datastage server job," Phantom 3812, Variable previously defined, Zero length string used." The same job was running previously without problems. Now suddenly this error is starting to show. Can somebody please help why this would be happening?

Roopak
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Hello roopaknair,

The message probably reads "Variable previously undefined..."; it means that the first use of the variable was to see it's value instead of assigning one to it.

You should check your TRANSformer stages in the job and look at stage variables or usage of parameters to perhaps spot an error.

If you cannot find it through that method then you could use the line number shown in the error message and look at the source code of that job stage to track it down, but that it usually more work than looking at the job directly.

If you are certain that nothing has changed in the program then the cause must be data driven - does your job contain any branches or conditionals?
roopaknair
Participant
Posts: 5
Joined: Mon Aug 01, 2005 3:22 am

Post by roopaknair »

Hi ArndW ,

I removed all the parameters and stage variables in the TRANSformer stage but i m still getting the error. I am now finding that it is happening for all the jobs wherein an ODBC stage is present. I am passing the DSN, User Name and password as parameters to these ODBC stage jobs. The warning is

DataStage Job 577 Phantom 3812
Program "DSD.BCIGetInfo": Line 61, Variable previously undefined. Zero length string used.
Program "DSD.BCIGetInfo": Line 61, Variable previously undefined. Zero length string used.
DataStage Phantom Finished

Thanks for the help
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Most likely you have misspelled one of the parameter names, that would explain the error. Variable names such as parameters are case-sensitive. If you can't find the problem, replace the parameters with constant values until the error goes away.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

The same job was running previously without problems.

What has changed? "Nothing" is not the correct answer.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
roopaknair
Participant
Posts: 5
Joined: Mon Aug 01, 2005 3:22 am

Post by roopaknair »

Hi ArndW,Ray

Even when I replaced the job parameters with constant values, the phantom error keeps coming. So right now the server job which I am running does not have any job parameters and only hardcoded values and still shows the error.

The appearence of the phantom error was very surprising as till yesterday afternoon the jobs were running fine and they started showing this error suddenly yesterday evening. Can any change or the datastage environment becoming corrupt cause this problem?

Thanks Roopak
gpatton
Premium Member
Premium Member
Posts: 47
Joined: Mon Jan 05, 2004 8:21 am

Post by gpatton »

Are you invoking this job from a sequencer?
roopaknair
Participant
Posts: 5
Joined: Mon Aug 01, 2005 3:22 am

Post by roopaknair »

Yes i want to invoke this job from a sequencer. But the error comes even when i dont invoke it with a sequencer but run the job as it is by itself and give constant values.
I_Server_Whale
Premium Member
Premium Member
Posts: 1255
Joined: Wed Feb 02, 2005 11:54 am
Location: United States of America

Post by I_Server_Whale »

OK....Now is the fun part. TROUBLESHOOTING. :)

How many stages does your job have? Could you tell us more about what you are trying to achieve with your job?

If your job is not big enough. I would advise you to redesign the job and see what happens. In this new job do not use any variables and parameters.
Hard-code all the values and see if you still get the message.

Thanks,
Naveen.
gpatton
Premium Member
Premium Member
Posts: 47
Joined: Mon Jan 05, 2004 8:21 am

Post by gpatton »

If you export the job in question to a dsx file and then look at the parameters section, do you see any special characters or a line feed or carriage return in the export that may be difficult to see in the job itself?
crouse
Charter Member
Charter Member
Posts: 204
Joined: Sun Oct 05, 2003 12:59 pm
Contact:

Post by crouse »

I seldom see this error from a job that DOES NOT contain reference to a routine. The error is usually in the routine.

Since routines are dynamically linked at runtime, another developer could have modified and compiled the routine, then the errors magically start appearing the next time the job(s) is run, even though "you" did not change a thing.
Craig Rouse
Griffin Resouces, Inc
www.griffinresources.com
kcbland
Participant
Posts: 5208
Joined: Wed Jan 15, 2003 8:56 am
Location: Lutz, FL
Contact:

Post by kcbland »

Or there could be a routine with conditional logic with a path that is mostly never traversed. Maybe nowyour source data is in a condition that is causing that branch to be used, and it references a variable previously not set.

Edited: corrected "past" to "path"
Last edited by kcbland on Tue Oct 18, 2005 7:43 pm, edited 1 time in total.
Kenneth Bland

Rank: Sempai
Belt: First degree black
Fight name: Captain Hook
Signature knockout: right upper cut followed by left hook
Signature submission: Crucifix combined with leg triangle
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

When you reset the job, the "from previous run..." event should identify the actual stage in which the problem occurred, even if the original message did not. Did you post the entire error message?

It's odd that the message is being reported from DSD.BCIGetInfo. This function is used by ODBC and UniVerse stages to request information from the data source about syntax. (That is, it may not be your error.) Has anything changed vis-a-vis the ODBC driver?

What does your support provider say?

Can you reproduce it in a second job?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
roopaknair
Participant
Posts: 5
Joined: Mon Aug 01, 2005 3:22 am

Post by roopaknair »

Hi All,

I redesigned the job and it still did not solve the problem.

But the problem got solved when I created a new project in the same server and exported the files from the old project and imported it into the new one. Possibly the old project had got corrupted due to some reason.

Thanks for all the help
Roopak
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

What happens if you rename the old job then import into the old project?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply