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
Phantom Error 948
Moderators: chulett, rschirm, roy
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
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
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.
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.
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
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
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
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
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
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
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