Variables en Query Manager

que tal estimados, estoy apoyando en una migración de SQL a Hana, el tema que tengo es una duda, he visto varios temas pero solo son de fecha, tengo estos parámetros en un query de query manager, y quiero saber si alguien ha realizado esto:

declare @item nvarchar(100) set @item = ‘[%0]’
declare @qty decimal set @qty = ‘[%1]’

el de item lo puedo montar en el where del final del query, pero el qty no, ya que es un parámetro que pide un valor decimal que se usa en el query para realizar operaciones numéricas, alguien ha tenido algún caso similar o tendrá alguna idea de como migrar esa variable / parámetro a hana?

Intenta quitandole las comillas al ‘[%1]’

2 Me gusta

pruebo y te paso mis comentarios Estimado

mando este amigable error:

1). [SAP AG][LIBODBCHDB32 DLL][HDBODBC32] Syntax error or access violation;257 sql syntax error: incorrect syntax near “declare”: line 1 col 33 ‘’ (ECM2) (at pos 33)

Declare qty decimal;
qty := [%1]; 

SELECT T0."Code", qty , T1."Code", T1."Quantity", T2."OnHand", T2."TreeType", T2."OnHand" - (qty * T1."Quantity") AS "Requerido0",
CASE WHEN T2."OnHand" - (qty * T1."Quantity") >= 0 THEN 'OK' ELSE CASE WHEN T2."OnHand" - (qty * T1."Quantity") < 0 THEN 'Sin' ELSE '' END END AS "Status0",
A.*, A."OnHand" - (qty * A."Quantity") AS "RequeridoA", CASE WHEN A."OnHand" - (qty * A."Quantity") >= 0 THEN 'OK' ELSE CASE WHEN A."OnHand" - 
(qty * A."Quantity") < 0 THEN 'Sin' ELSE '' END END AS "StatusA",
B.*, B."OnHand" - (qty * B."Quantity") AS "RequeridoB", CASE WHEN B."OnHand" - (qty * B."Quantity") >= 0 THEN 'OK' ELSE CASE WHEN B."OnHand" - 
(qty * B."Quantity") < 0 THEN 'Sin' ELSE '' END END AS "StatusB",
C.*, C."OnHand" - (qty * C."Quantity") AS "RequeridoC", CASE WHEN C."OnHand" - (qty * C."Quantity") >= 0 THEN 'OK' ELSE CASE WHEN C."OnHand" - 
(qty * C."Quantity") < 0 THEN 'Sin' ELSE '' END END AS "StatusC",
D.*, D."OnHand" - (qty * D."Quantity") AS "RequeridoD", CASE WHEN D."OnHand" - (qty * D."Quantity") >= 0 THEN 'OK' ELSE CASE WHEN D."OnHand" - 
(qty * D."Quantity") < 0 THEN 'Sin' ELSE '' END END AS "StatusD",
E.*, E."OnHand" - (qty * E."Quantity") AS "RequeridoE", CASE WHEN E."OnHand" - (qty * E."Quantity") >= 0 THEN 'OK' ELSE CASE WHEN E."OnHand" - 
(qty * E."Quantity") < 0 THEN 'Sin' ELSE '' END END AS "StatusE"

el script termina en ; ?

puedes también intentar poniendo en la primera linea BEGIN y al final de todo END;

1 me gusta

Hola @Daniel_Torrez, revisa este tema que fue solucionado con la sintaxis correcta:

ht_ps://answers.sap.com/questions/403708/error-con-query-manager-en-consulta-con-par%C3%A1metro.html

Saludos.

al final el query no se migro ya que era obsoleto, pero se declaro otra variable y quedo de la siguiente manera:

DECLARE Com decimal;
SELECT TOP 1 R0."Commission" INTO Com FROM OSLP R0 WHERE R0."SlpName" = 'GerGral';