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 ) (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 .
(como dato, si quito los parametros la consulta si arroja los datos )
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
) ```