on 2017 Jul 18 1:24 PM
Buena Tardes a Todos
tengo un Stored Procedure que funciona en SqL y quisisera saber como poderlo hacer que el query manager solicite los parametros para SAP para que el usuario final pueda utilizarlo
ALTER PROCEDURE [dbo].[SP_OCUPACION]
@FECHAI Date, @FECHAF Date, @UNI Varchar (2), @DIA INT
AS BEGIN
DECLARE @rentados DECIMAL(8,0), @totales DECIMAL (8,0)
SELECT @rentados=SUM(FLOOR((case T1.[U_DURACION] when 'DIARIA' THEN T1.U_cantidad when 'SEMANAL' THEN T1.U_cantidad*7 when 'MENSUAL' THEN T1.U_cantidad*30 ELSE 0 END)))
FROM OINV T0 INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry
INNER JOIN OITM T2 ON T1.ItemCode = T2.ItemCode
where (T2.[QryGroup2] <>'Y' and T0.[invntsttus]<>'C') AND
(T0.[Docdate]>=@FECHAI and T0.[Docdate] <= @FECHAF) AND
(T1.[ItemCode] like @UNI+'-%%')and (T1.[PriceAfVAT]<>0)
SELECT @totales = (SUM(FLOOR((T0.[TreeQty])))* @DIA)
FROM [dbo].[OITM] T0 WHERE T0.[validFor] = 'Y' AND
T0.[ItemCode] Like @UNI+'-%%' AND
SELECT FLOOR((@rentados * 100.00 / @totales)) AS OCUPACION;
END
y pues leyendo en el foro encontre este codigo pero hay un parametro que no puedo o no se como asignar en el query manager
declare @d1 date, @d2 date, @d3 varchar(2), @d4 Int
set @d1=(/*select top 1 T0.DocDate from [dbo].[OINV] T0
where T0.DocDate=*/'[%0]')
set @d2=(/*select top 1 T0.DocDate from [dbo].[OINV] T0
where T0.DocDate=*/'[%1]')
set @d3=(/*select top 1 T1.ItemCode from [dbo].[OITM] T1
where T1.ItemCode=*/'[%2]')
set @d4 = ?
exec [dbo].[SP_OCUPACION] @d1,@d2,@d3,@d4
@d4 es un numero que el usuario debe asignar y no se encuentra almacenado en ninugna tabla por lo que las clausalas anteriores no funcionan con @d4 como puedo hacer para setear esete parametro
Gracais de antemano
Hola amigo, hice algunas pruebas y me funciona de la siguiente forma:
declare @d1 date, @d2 date, @d3 varchar(2), @d4 int
set @d1=(/*select top 1 T0.DocDate from [dbo].[OINV] T0
where T0.DocDate=*/'[%0]')
set @d2=(/*select top 1 T0.DocDate from [dbo].[OINV] T0
where T0.DocDate=*/'[%1]')
set @d3=(/*select top 1 T1.ItemCode from [dbo].[OITM] T1
where T1.ItemCode=*/'[%2]')
set @d4=(/*select top 1 T1.Number as número from [dbo].[OITM] T1
where T1.Number=*/'[%3]')
Select @d1,@d2,@d3 ,@d4
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
94 | |
9 | |
8 | |
8 | |
6 | |
5 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.