cancel
Showing results for 
Search instead for 
Did you mean: 

Query error

Former Member
0 Kudos

query on UDF

IF $[OIGE.Series.Number]= 65

begin

Select OIGN.U_BP_Name From OIGN where DocNum =$[OIGE.U_JW_NO]

End

If $[OIGE.Series]= 64

Begin

select CardName from OCRD

END

If $[OIGE.Series]= 17

Begin

select CardName from OCRD

END

when i m executing this query it generate this error :

Error. [Microsoft][SQL Native Client][SQL Server]Incorrect syntax near

the keyword 'FOR'. 2). [Microsoft][SQL Native Client][SQL

Server]Statement '' (NFN1) (s) could not be prepared.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Try this:


SELECT CASE 
      WHEN $[OIGE.Series] = 65 THEN (Select OIGN.U_BP_Name From OIGN where DocNum =$[OIGE.U_JW_NO])
      WHEN $[OIGE.Series] IN (64, 17) THEN (Select T0.CardName from OCRD T0 WHERE T0.CardCode=$[OIGE.CardCode]
END

Thanks,

Gordon

Answers (1)

Answers (1)

Former Member
0 Kudos

Try this one:


SELECT  CASE 
         WHEN $[OIGE.Series] = 65 THEN (Select OIGN.U_BP_Name From OIGN where DocNum =$[OIGE.U_JW_NO])
         WHEN $[OIGE.Series] = 64 THEN (Select T0.CardName from OCRD T0)
         WHEN $[OIGE.Series] = 17 THEN (Select T0.CardName from OCRD T0)
      END