Page 1 of 1

improper datatype

Posted: Tue Oct 30, 2007 11:00 am
by dspxguy
I am getting this error

Code: Select all

Program "JOB.261291493.DT.1454834689.TRANS1": Line 165, Improper data type.
there is a sequential file ---transfoermer ---sequential file being used.

I check for the RT_BPnnn file and went to line 165, but couldnt understand what was the error.

Posted: Tue Oct 30, 2007 12:33 pm
by DSguru2B
A little bit more info on the design and what you are trying to achieve, will be helpful.

Posted: Tue Oct 30, 2007 12:57 pm
by chulett
That or post the block of code around line 165 for us to see.

Posted: Tue Oct 30, 2007 9:49 pm
by dspxguy
chulett wrote:That or post the block of code around line 165 for us to see. ...
Guys thanks for your responses...

I will post the Basic Code tomorrow first thing in the morning :D

Posted: Wed Oct 31, 2007 1:49 pm
by dspxguy

Code: Select all

    229         ERROR = Pin%%V0S1P1.REJECTEDCODE
    230 WHILE NOT(ERROR)
    231         * Stage variable evaluation
    232 IF STAGECOM.TRACE.STATS THEN CALL $PERF.BEGIN(-2)
    233         V0S1.Stagevar%%1 = Pin%%V0S1P1.Column%%12
    234         V0S1.Stagevar%%2 = Pin%%V0S1P1.Column%%12
    235         V0S1.Stagevar%%3 =  if len(trim(computeTCV(Pin%%V0S1P1.Column%%5, Pin%%V0S1P1.Column%%6, Pin%%V0S1P1.Column%%7, Pin%%V0S1P1.Column%%8))) = 0 then 0 else computeTCV(Pin%%V0S1P1.Column%%5, Pin%%V0S1P1.Column%%6, Pin%%V0S1P1.Column%%7, Pin%%V0S1P1.Column%%8)
    236         V0S1.Stagevar%%4 = V0S1.Stagevar%%3 / Pin%%V0S1P1.Column%%5
    237         V0S1.Stagevar%%5 = Int(Pin%%V0S1P1.Column%%5 / 12)
    238         V0S1.Stagevar%%6 =  If V0S1.Stagevar%%5 <= 1 Then 0 Else V0S1.Stagevar%%3 / V0S1.Stagevar%%5
    239         V0S1.Stagevar%%7 =  If V0S1.Stagevar%%5 <= 1 Then V0S1.Stagevar%%3 Else V0S1.Stagevar%%3 - (V0S1.Stagevar%%6 * (V0S1.Stagevar%%5 - 1))
    240         V0S1.Stagevar%%8 =  If V0S1.Stagevar%%1 = 1 Then V0S1.Stagevar%%7 Else 0
    241         V0S1.Stagevar%%9 =  If Pin%%V0S1P1.Column%%5 - (V0S1.Stagevar%%1 - 1) < 12 Then V0S1.Stagevar%%4 * (Pin%%V0S1P1.Column%%5 - (V0S1.Stagevar%%1 - 1)) Else V0S1.Stagevar%%4 * 12
    242         V0S1.Stagevar%%10 = V0S1.Stagevar%%9 * (Pin%%V0S1P1.Column%%10 / 100)
    243         V0S1.Stagevar%%11 =  If Pin%%V0S1P1.Column%%5 - (V0S1.Stagevar%%1 - 1) < 12 Then (V0S1.Stagevar%%9 - V0S1.Stagevar%%10) / (Pin%%V0S1P1.Column%%5 - (V0S1.Stagevar%%1 - 1)) Else (V0S1.Stagevar%%9 - V0S1.Stagevar%%10) / 12
    244         V0S1.Stagevar%%12 =  If V0S1.Stagevar%%1 = Int(Pin%%V0S1P1.Column%%5) Then (V0S1.Stagevar%%3 - V0S1.Stagevar%%13) Else ( If V0S1.Stagevar%%1 = 1 Or Mod(V0S1.Stagevar%%1 - 1, 12) = 0 Then V0S1.Stagevar%%10 + V0S1.Stagevar%%11 Else V0S1.Stagevar%%11)
    245         V0S1.Stagevar%%13 =  If V0S1.Stagevar%%1 <> Int(Pin%%V0S1P1.Column%%5) Then ( If (V0S1.Stagevar%%22 = Pin%%V0S1P1.Column%%1 And V0S1.Stagevar%%23 = Pin%%V0S1P1.Column%%2 And V0S1.Stagevar%%24 = Pin%%V0S1P1.Column%%3) Then V0S1.Stagevar%%13 + V0S1.Stagevar%%12 Else V0S1.Stagevar%%12) Else V0S1.Stagevar%%13
    246         V0S1.Stagevar%%14 = Oconv(Iconv(Pin%%V0S1P1.Column%%9[1, 10], "D-YMD[4,2,2]"), "D/MDY[2,2,4]")[1, 2]    247         V0S1.Stagevar%%15 = Oconv(Iconv(Pin%%V0S1P1.Column%%9[1, 10], "D-YMD[4,2,2]"), "D/MDY[2,2,4]")[7, 4] + INT((V0S1.Stagevar%%14 + (V0S1.Stagevar%%2 - 1)) / 12)    248         V0S1.Stagevar%%16 =  IF INDEX(Pin%%V0S1P1.Column%%11, 24, 1) <> 0 OR INDEX(Pin%%V0S1P1.Column%%11, 25, 1) <> 0 OR INDEX(Pin%%V0S1P1.Column%%11, 40, 1) <> 0 OR INDEX(Pin%%V0S1P1.Column%%11, 41, 1) <> 0 OR INDEX(Pin%%V0S1P1.Column%%11, 42, 1) <> 0 OR INDEX(Pin%%V0S1P1.Column%%11, 43, 1) <> 0 OR INDEX(Pin%%V0S1P1.Column%%11, 44, 1) <> 0 THEN 2 ELSE  IF INDEX(Pin%%V0S1P1.Column%%11, 17, 1) <> 0 THEN 3 ELSE  IF INDEX(Pin%%V0S1P1.Column%%11, 18, 1) <> 0 THEN 4 ELSE  IF LEN(Pin%%V0S1P1.Column%%11) = 0 THEN 1 ELSE 1    249         V0S1.Stagevar%%17 =  IF MOD((V0S1.Stagevar%%14 + (V0S1.Stagevar%%2 - 1)), 12) = 0 THEN 12 ELSE  IF LEN(MOD((V0S1.Stagevar%%14 + (V0S1.Stagevar%%2 - 1)), 12)) = 1 THEN "0" : MOD((V0S1.Stagevar%%14 + (V0S1.Stagevar%%2 - 1)), 12) ELSE MOD((V0S1.Stagevar%%14 + (V0S1.Stagevar%%2 - 1)), 12)
 
error is on line 242....improper data..

Posted: Wed Oct 31, 2007 2:32 pm
by gateleys
Looks like you are performing arithmetic on some non-numeric columns. Check the data in those columns. You may want to test by first passing few rows to see if the result occurs. If it does, then you can narrow it down to the calculation columns for non-numeric value.

Alternatively, you may want to check the suspect columns with the num() function to see if they consist of only numbers.