Ayuda SAP

Store procedure no reconoce los parametros

Buenas tardes comunidad

Tengo un problema que nunca me había sucedido y por mas que busco, no encuentro la solución o que puedo estar haciendo mal.

El siguiente es un query (SP), al cual le coloco dos parámetros que son componente y lote, la idea es que me pueda dar todas las facturas y productos padre que contienen ese componente con ese lote.

Sin embargo cuando ejecuto el SP y coloco sus dos parámetros, el resultado no me arroja ningún dato tampoco arroja algún error, simplemente no arroja ningún dato como si dejara los parámetros vacíos o no existiera ningún valor de los ingresados en los parámetros.

A continuación coloco el código o sintaxis (pueden notar que trate de poner las variables en diferentes lugares pero no los toma en cuenta :pensive:) (también la última tabla temporal solo la coloque para saber si pasando todo a una tabla nueva tomaría el valor de los parámetros pero tampoco :dizzy_face:.

(como dato, si quito los parametros la consulta si arroja los datos :upside_down_face:)

ALTER PROC [dbo].[sp_repASimulacroMed] 
 (
@psComponente nvarchar, -- ya les coloque tambien una longitud a las variables.
@psLote varchar 
)
AS BEGIN 

SELECT 
T0."DocEntry",
T7.LogEntry LogEntry2,
T8."SysNumber",
T0."DocNum" EMISION,
T0."DocDate",
T0."Comments",
T2.BaseRef  'OFab',
T2."ItemCode",
T2."Dscription",
T2."UomCode",
T10."Quantity",  
T9."DistNumber",
T7."LogEntry" ,
T10."BinAbs"
,T11."BinCode"
INTO #TEMP_SimMed01
FROM OIGE T0
Left Join IGE1 T2 On T0.DocEntry = T2.DocEntry
Left Join OITM T3 on T2."ItemCode"=T3."ItemCode" and T3."ManBtchNum"='Y'
left join OITL T7 on T2."DocEntry"=T7."DocEntry" AND T2."LineNum"=T7."DocLine" AND T2."ObjType"=T7."DocType" 	 
left join ITL1 T8 on T7."LogEntry"=T8."LogEntry"
left JOIN OBTN T9 on T8."MdAbsEntry"=T9."AbsEntry" and T7."ItemCode"=T9."ItemCode"
LEFT JOIN OBTL T10 ON  T7."LogEntry" = T10."ITLEntry" AND T8."MdAbsEntry"=T10."SnBMDAbs"
LEFT JOIN OBIN T11 ON T10."BinAbs" = T11."AbsEntry"
WHERE T7."StockEff"=1  -- AND T9.DistNumber = @psLote
ORDER BY T2.BaseRef
 

 SELECT  A1.SlpCode 'No. Vendedor', A2.SlpName Vendedor, 
                A1.CardCode Cliente, 
				A1.DocNum 'No. Pedido', A1.DocDate 'Fecha Pedido',  
			--	A4.ItemCode 'Producto Pedido', A4.Quantity Cantidad, 
			    ISNULL(A3.DocNum, 0)  'Orden Fabricación',
			    A3.ItemCode Padre,
				A5.ItemName Nombre_Padre
			 	INTO #TEMP_SimMed02
				FROM  ORDR A1 INNER JOIN  OSLP A2 ON  A1.SlpCode = A2.SlpCode 
                             INNER JOIN RDR1 A4 ON A1.DocEntry = A4.DocEntry
							 LEFT JOIN OWOR A3 ON A4.DocEntry  = A3.OriginAbs AND A4.ItemCode = A3.ItemCode
							 INNER JOIN OITM A5 ON A3.ItemCode = A5.ItemCode
                             WHERE A1.CANCELED <> 'Y'  
							 order by A3.DocNum
							 ;

WITH CTESimMed AS (
							 SELECT A1.EMISION, 
							              A1.OFab, 
										  A2.Padre,
										  A2.Nombre_Padre,
							              A1.ItemCode Componente, 
										  A1.Dscription Nombre_Comp,
										  A1.DistNumber Lote, 
										  A2.[No. Pedido], 
										  A2.Cliente, A2.Vendedor
							 FROM #TEMP_SimMed01 A1 INNER JOIN #TEMP_SimMed02 A2 ON A1.OFab =A2.[Orden Fabricación]
							-- WHERE A1.DistNumber = @psLote  
                                      --   AND A1.ItemCode = @psProducto
													 -- Order by A1.OFab, A2.Padre
							)

							 SELECT Distinct
							 A1.EMISION, 
							 A1.OFab,
							 A1.[No. Pedido], 
							 A5.DocNum Factura, 
							 A1.Padre,
							 A1.Nombre_Padre,
							 A3.Quantity Cantidad_P,
							 A1.Componente,  
							 A1.Nombre_Comp,
							  A1.Lote, 
							 A1.Cliente, 
							 A1.Vendedor,
							 A2.DocNum Remision
							 INTO #TEMP_SimMed03 
 							 FROM  CTESimMed A1 
							             INNER JOIN DLN1   A4 ON A4.BaseEntry = A1.[No. Pedido]
							             INNER JOIN ODLN  A2 ON A4.DocEntry = A2.DocEntry 
                                         INNER JOIN INV1    A3 ON A3.BaseEntry = A2.DocNum  AND A3.ItemCode = A4.ItemCode
                                         INNER JOIN OINV   A5 ON A3.DocEntry = A5.DocEntry 
									--	 WHERE A1.Lote = CASE WHEN A1.Lote <> '' THEN @psLote  ELSE A1.Lote END 
										 --             AND A1.Componente = CASE WHEN A1.Componente <> '' THEN @psProducto  ELSE A1.Componente END
										 ORDER BY A1.OFab, A1.Componente   
							
							SELECT A1.Cliente, 
							             ISNULL(A2.AliasName,A3.CardName) Nombre,
										 (ISNULL(A4.CityS,'MX') + ',' + ISNULL(A4.StateS,'MX')) Direccion,
							             A1.Factura, 
							             A1.Padre,
										 A1.Nombre_Padre, 
										 A1.Componente, A1.Nombre_Comp, 
										 A1.Lote,
										 A1.Cantidad_P,
										 A1.OFab
							FROM #TEMP_SimMed03 A1 INNER JOIN OCRD A2 ON A1.Cliente     = A2.CardCode
							                                               INNER JOIN OINV A3 ON A1.Factura = A3.DocNum
																		   INNER JOIN INV12 A4 ON A2.DocEntry = A4.DocEntry
																	   WHERE A1.Componente = @psComponente AND A1.Lote = @psLote

 
							--        EXEC  sp_repASimulacroMed  'MP-014' ,  '2809181383-96%' 

							 END 
GO

) ```

Prueba colocarle valores directamente a las variables para probar tu query.
Desde donde lo estas llamando?

Gracias Willy.

Incluso colocando solamente los valores como si fuese una consulta normal, no los toma, lo que hice fue que a la variable @psLote volví a colocarle una longitud nvarchar(50), y ya con ese tomo finalmente el parámetro, pero el de producto sigue sin tomarlo, es raro porque es exactamente la misma sintaxis y lógica.

Afortunadamente con la variable de Lote, el reporte cumple con su función pues el valor de lote rara vez se repite con otro producto.

Gracias por el apoyo, pueden proceder a cerrar el post.