Phantom Error 948

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
JDionne
Participant
Posts: 342
Joined: Wed Aug 27, 2003 1:06 pm

Phantom Error 948

Post by JDionne »

I have just seen my first phantom error!!! Ohh how excited I am...well not realy. I cant find any documentation on this error. Any one have an Idea what phantom error 948 means?
Jim
roy
Participant
Posts: 2598
Joined: Wed Jul 30, 2003 2:05 am
Location: Israel

Post by roy »

Hi,
you might want to elaborate more on what you do and even paste the compleete, if more info is in it, message you get.

even maybe when you get it?

any trace you can enable in your stages, if any.

I'm certain that you posted way to litle info.

Good Luck,

Roy R.
JDionne
Participant
Posts: 342
Joined: Wed Aug 27, 2003 1:06 pm

Post by JDionne »

This is the full error code.
quote:
DataStage Job 13 Phantom 948
Program "JOB.1730727197.DT.1304256656.TRANS1": Line 175, Improper data type.
Attempting to Cleanup after ABORT raised in stage JOCPOPDEVSTEP1Test..Apply_Bussness_Rulles
DataStage Phantom Aborting with @ABORT.CODE = 3


This is the only thing that i have changed in my transform
quote:
if (Count("'588','570','580','582','583','560','559','549','565','557','552', '538','555','579','566','546','574','561','684','553'", Transform_Full_File.COUNTRY) > 0 AND Count("'MARSHAL ISL','KWAJALEIN'", Transform_Full_File.ULTPORT )= 0 ) Or Transform_Full_File.COUNTRY = 462 And Count("'ABAKAN','KHABAROVSK','KORSAKOV','MAGADAN','PETROPAVLOVSK','VLADIVOSTOK','VOSTOCHNY','YUZHNO SAKHAL','YUZHNO SAKHALINSK'", Transform_Full_File.ULTPORT ) > 0 Then 'PACIFIC TOTAL' Else ""


That is the derivation on a stage variable. These are the only things that have changed...and the job ran once before i got this error.
Jim
roy
Participant
Posts: 2598
Joined: Wed Jul 30, 2003 2:05 am
Location: Israel

Post by roy »

Hi,

The error code says improper data type so check that your data types match.
Also check for validity of an empty string in the specific case you tried.

BTW:You can drop the single qoutes from the count functions the coma seperators are enough, I didn't to save time.

p.s.
in case you have Count("528,345",link.var) if the var is 5 or any substring of 1 of your 3 caharacter digits you will get >0 from the count function so if it is a posibility use some functions to format the link.var (i.e. FMT(), Iconv() etc' )

IHTH & Good Luck,



Roy R.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Take a look at the file JOB.1730727197.DT.1304256656.TRANS1 in the subdirectory RT_BP13 in your project directory, and let us know what's happening at, and for a couple of lines either side of, line 175. This should shed some light on that "improper data type".
These are usually caused by an "opaque" variable, such as a file or subroutine variable, being used in an inappropriate manner.

Ray Wurlod
Education and Consulting Services
ABN 57 092 448 518
mhester
Participant
Posts: 622
Joined: Tue Mar 04, 2003 5:26 am
Location: Phoenix, AZ
Contact:

Post by mhester »

Jim,

As Ray stated you might want to edit the code and you may encounter a line in the code that looks something like -

V0S1.Stagevar%%2 = If Pin%%V0S1P1.Column%%2 > 0 And Pin%%V0S1P1.Column%%1 > 0 And Len(Trim(Pin%%V0S1P1.Column%%4, ' ', 'B')) > 0 Then 'Y' Else 'N'

You need to look at the variables like Pin%%V0S1P1.Column%%2 and if you view the top n number of lines of code there will be assignments for these variables that correspond to input, output and other stage variables.

This should help you more accurately determine where your problem is.

Also, if the substring portion of the count function (or what you want to find) is null then a runtime error is produced and the program will terminate.

And if the substring portion of the count function is an empty string then the number of characters in string is returned, which may or may not be what you want.

Hope this helps,

Michael Hester
JDionne
Participant
Posts: 342
Joined: Wed Aug 27, 2003 1:06 pm

Post by JDionne »

Uggg. I need to get a better handle on all of this stuff. Ill go look for what you mentioned.
Thanx
Jim

quote:Originally posted by mhester
[br]Jim,

As Ray stated you might want to edit the code and you may encounter a line in the code that looks something like -

V0S1.Stagevar%%2 = If Pin%%V0S1P1.Column%%2 > 0 And Pin%%V0S1P1.Column%%1 > 0 And Len(Trim(Pin%%V0S1P1.Column%%4, ' ', 'B')) > 0 Then 'Y' Else 'N'

You need to look at the variables like Pin%%V0S1P1.Column%%2 and if you view the top n number of lines of code there will be assignments for these variables that correspond to input, output and other stage variables.

This should help you more accurately determine where your problem is.

Also, if the substring portion of the count function (or what you want to find) is null then a runtime error is produced and the program will terminate.

And if the substring portion of the count function is an empty string then the number of characters in string is returned, which may or may not be what you want.

Hope this helps,

Michael Hester
Post Reply