on 02-17-2012 6:17 PM
Saludos
Desarrolle el siguiente store procedure el cual me permite tener el recorrido de mis choferes:
-
ALTER PROCEDURE [dbo].[SBO_SP_Listar_Recorrido]
@Chofer nVarchar(8)
@Vehiculo nVarchar(15)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
With c as
(
SELECT
'TRACTO' = VEH.Name,
'CONDUCTOR' = CHO.U_BPP_CHNO,
'FECHA PARTIDA' = RDT.U_TC_FECHA,
'ORIGEN' = RDT.U_TC_ORIGEN,
'DESTINO' = RDT.U_TC_DESTINO,
'TIPO' = Case RDT.U_TC_TIPOVIAJE When '01' Then 'IDA' Else 'VUELTA' End,
'PEDIDO' = RDT.U_TC_PEDIDO,
'CLIENTE' = ORD.CardName,
'CARGA' = ORD.U_VTH_ARROZ
From
[@TC_RECVEHCB] RCB
Inner Join [@TC_RECVEHDT] RDT On RCB.DocEntry = RDT.DocEntry
Inner Join [@BPP_CONDUC] CHO On CHO.Code = RDT.U_TC_CODCHF
Inner Join [@BPP_VEHICU] VEH On VEH.Code = RCB.U_TC_PLACA
Inner Join [ORDR] ORD On RDT.U_TC_PEDIDO = ORD.DocNum
Where
RDT.U_TC_CONSOLIDADO = 'N'
And (IsNull(@Chofer, '') = '' Or RDT.U_TC_CODCHF = IsNull(@Chofer, ''))
And (IsNull(@Vehiculo, '') = '' Or RCB.U_TC_PLACA = IsNull(@Vehiculo, ''))
UNION
SELECT
'TRACTO' = VEH.Name,
'CONDUCTOR' = CHO.U_BPP_CHNO,
'FECHA PARTIDA' = RDT.U_TC_FECHA,
'ORIGEN' = RDT.U_TC_ORIGEN,
'DESTINO' = RDT.U_TC_DESTINO,
'TIPO' = Case RDT.U_TC_TIPOVIAJE When '01' Then 'IDA' Else 'VUELTA' End,
'PEDIDO' = RDT.U_TC_PEDIDO,
'CLIENTE' = 'VARIOS',
'CARGA' = 'CONSOLIDADO'
From
[@TC_RECVEHCB] RCB
Inner Join [@TC_RECVEHDT] RDT On RCB.DocEntry = RDT.DocEntry
Inner Join [@BPP_CONDUC] CHO On CHO.Code = RDT.U_TC_CODCHF
Inner Join [@BPP_VEHICU] VEH On VEH.Code = RCB.U_TC_PLACA
Inner Join [ORDR] ORD On RDT.U_TC_PEDIDO = ORD.DocNum
Where
RDT.U_TC_CONSOLIDADO = 'Y'
And (IsNull(@Chofer, '') = '' Or RDT.U_TC_CODCHF = IsNull(@Chofer, ''))
And (IsNull(@Vehiculo, '') = '' Or RCB.U_TC_PLACA = IsNull(@Vehiculo, ''))
)
Select * From c
END
-
Este procedimento funciona bien y me lista todo como quiero. Lo que no se como realizar es en el querie manager leer mi consulta puesto que mi tabla @bpp_conduc es una tabla definida por usuario y no se como llamarla
Podria ser algo asi:
Declare @CHOFERe nVarchar(8);
-- (Select Top 1 T1.CODE From [dbo].[@BPP_CONDUC] T1 Where CODE = '[%0]')
Set @CHOFER = '[%0]'
EXECUTE SBO_SP_Listar_Recorrido @CHOFER
Alguna ayuda
iNTENTA CON
/*SELECT FROM [dbo].[@BPP_CONDUC] T1] T1*/
declare @CHOFER as nvarchar (8)
/* WHERE */
set @CHOFER= /* T1.CODE */ '[%0]'
EXEC SBO_SP_Listar_Recorrido @CHOFER
Esto guardalo en sap como una consulta de usuario
A ver si te sirve
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Muchas gracias ya este codigo me estaba haciendo torturando. Una consulta, si tengo mas variables simplemente le agrego a ese codigo las varables que tengo no?
Cuando me corre esa consulta por SAP al momento de escoger el codigo me lee el nombre de la variable en este caso CODE. Habria forma de cambiarle o simplemente lee la variable.
Una consulta fuera de SAP como hiciste para que en este foro el codigo que me enviaste este dentro de ese rectangulo que se ve mejor
Por ejemplo mi store tiene una variable mas
/SELECT FROM [dbo].[@BPP_CONDUC] T1] T1/
/SELECT FROM [dbo].[@BPP_VEHICU] T2] T2/
declare @CHOFER as nvarchar (8)
declare @VEHICULO as nvarchar (20)
/* WHERE */
set @CHOFER= /* T1.NAME */ '[%0]'
set @VEHICULO= /* T2.NAME */ '[%0]'
EXEC SBO_SP_Listar_Recorrido @CHOFER, @VEHICULO
estaria bien de esta forma
Hola Luis, disculpa me podrías ayudar necesito crear un store procedure tengo el store procedure creado el query para que lo llame sap, el problema que tengo es que no se como crearlo para que me aparezca en Store Procedure ej. dbo.LibroCompras
perdón que yo se estas solicitando ayuda de como hacer la llamada de tu store procedure, pero a cambio de tu ayuda te dejo el query que llama el SP en SAP del SP que esta creado en SQL.
Declare @Inicio DateTime
Declare @final DateTime
Select @Inicio = (a1.RateDate) from dbo.ORTT a1 where a1.RateDate = '[%0]'
Select @final = (a2.RateDate) from dbo.ORTT a2 where a2.RateDate = '[%1]'
exec dbo.LibroCompras @inicio, @Final
Espero te se ayuda y me puedas ayudar, lo que hace esto es que me devuelve todas las facturas de proveedores, si necesitas ver el SP con gusto te lo puedo proporcionar, tal vez por correo que aca no pude colocar, se ve todo raro por eso no lo coloque.
Saludos y de antemano muy agradecido por tu ayuda.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Segun te entiendo lo que quieres es crear un store procedure, de ser asi es simple:
Ingresas a tu Base de datos luego escoges programmability luego click en store procedure
Ahi se te van a listar todos los store que tiene tu BD.
Si quieres crear un nuevo store. Le das click derecho en el despleglable Store procedure y escoges new store procedure
Te va a abrir la ventana de desarrollo con ya parametros donde solo escribes tu codigo
Me avisas cualquier asunto
Gracias por el codigo lo voy a probar
Segun colocaste configure el codgo, de la siguiente manera:
Declare @CHOFER NVARCHAR(8)
Declare @VEHICULO NVARCHAR(10)
Select @CHOFER = (a1.RateDate) from dbo.@BPP_CONDUC a1 where a1.RateDate = '[%0]'
Select @VEHICULO = (a2.RateDate) from dbo.@BPP_CONDUC a2 where a2.RateDate = '[%1]'
exec SBO_SP_Listar_Recorrido @CHOFER, @VEHICULOS
Pero me sale: Contrato de Servicio OCTR
User | Count |
---|---|
107 | |
12 | |
11 | |
6 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.