Problema al ejecutar Procedimiento Tengo en vb6 un dataenvironment con un comando que ejecuta un procedimiento almacenado que está en una bbdd de sql server, la sentencia es la siguiente:
Código:
'Generapedio(Empresa As Integer, Ejercicio As Integer, Serie As String, Numero As Long)
de.GeneraPedido Emp, ej, Ser, num
Pues cuando lo ejecuto me da este error:
-2147217833 : Los datos de cadena o binarios se truncarian
Este es el Procedimiento almacenado:
Código:
CREATE PROCEDURE dbo.GeneraPedido
@Emp smallint,
@Ej smallint,
@Serie varchar(4),
@Num integer
AS
declare @Articulo varchar(20)
declare @Formato varchar(10)
declare @Partida varchar(15)
declare @PartidaOrigen varchar(15)
declare @Cantidad decimal(28,10)
declare @Pos uniqueidentifier
declare @Ord int
declare @Orden int
declare @FechaRegistro Datetime
declare @FechaPedido DateTime
declare @Almacen varchar(4)
declare @Base varchar(10)
declare @Factor decimal(28,10)
declare @Familia varchar(10)
declare @SubFamilia varchar(10)
declare @D1 varchar(250)
declare @D2 varchar(250)
declare @D3 varchar(250)
declare @Cliente varchar(20)
declare @Proveedor varchar(20)
declare @Pedidas decimal(28,10)
declare @Servidas decimal(28,10)
declare @AServir decimal(28,10)
declare @CantidadBase decimal(28,10)
declare @AServirBase decimal(28,10)
declare @Definicion varchar(15)
declare @Transaccion tinyint
declare @Departamento varchar(10)
declare @Proyecto varchar(15)
declare @Seccion varchar(10)
declare @FechaCaduca datetime
declare @FechaNecesaria datetime
declare @FechaEntrega datetime
declare @FechaTope datetime
declare @SuPedido varchar(15)
declare @ReservaStock smallint
declare @AcumulaEstadistica smallint
declare @Estado tinyint
declare @IvaIncluido smallint
declare @GrupoIva tinyint
declare @CodigoIva smallint
declare @PIva decimal(28,10)
declare @Recargo decimal(28,10)
declare @BaseCorrectora decimal(28,10)
declare @Pendientes decimal(28,10)
declare @coste decimal(28,10)
declare @Comisionista integer
declare @Comisionista2 integer
declare @Comisionista3 integer
declare @Comisionista4 integer
declare @JefeVenta integer
declare @JefeZona integer
declare @PComision decimal(28,10)
declare @PComision2 decimal(28,10)
declare @PComision3 decimal(28,10)
declare @PComision4 decimal(28,10)
declare @PComisionVenta decimal(28,10)
declare @PComisionZona decimal(28,10)
declare @TipoArticulo varchar(1)
declare @GestionCompras smallint
declare @FactorPrecioVenta decimal(28,10)
declare @TipoUnidadCalculo tinyint
set @Serie=''
declare C_GP cursor for SELECT pe.CodigoEmpresa, pe.EjercicioPedido, pe.SeriePedido, pe.NumeroPedido, dbo.SiguienteOrdenPedido(pe.CodigoEmpresa, pe.EjercicioPedido,
pe.SeriePedido, pe.NumeroPedido) AS Orden, NEWID() AS LineasPosicion, GETDATE() AS FechaRegistro, pe.FechaPedido, m.CodigoArticulo,
pa.CodigoAlmacen, pa.Partida, u.UnidadMedida1_, a.UnidadMedida2_, m.FactorConversion_, a.CodigoFamilia, a.CodigoSubfamilia,
a.DescripcionArticulo, u.UnidadConfeccion AS Descripcion2Articulo, a.DescripcionLinea, pe.CodigoCliente AS CodigoDelCliente, Ag.CodigoProveedor,
pe.CodigoDefinicion_, pe.CodigoTransaccion, pe.CodigoProyecto, pe.CodigoSeccion, pe.CodigoDepartamento, pa.FechaEfectiva AS FechaCaduca,
pe.FechaNecesaria, pe.FechaEntrega, pe.FechaTope, pe.SuPedido, pe.ReservarStock_, a.AcumulaEstadistica_, 0 AS Estado, a.IvaIncluido, a.GrupoIva,
i.CodigoIva, i.[%Iva], i.[%RecargoEquivalencia] AS [%Recargo], i.[%BaseCorrectora] AS [%BaseCorreccion], m.Cantidad AS UnidadesPedidas,
0 AS UnidadesServidas, m.Cantidad AS UnidadesPendientes, m.Cantidad AS UnidadesAServir, m.UnidadesEntrada AS Unidades2_,
m.UnidadesEntrada AS Unidades2aServir_, m.CosteTotal AS PrecioCoste, pe.CodigoComisionista, pe.CodigoComisionista2_,
pe.CodigoComisionista3_, pe.CodigoComisionista4_, pe.CodigoJefeVenta_, pe.CodigoJefeZona_, pe.[%Comision], pe.[%Comision2_],
pe.[%Comision3_], pe.[%Comision4_], pe.[ComisionSobreVenta%_], pe.[ComisionSobreZona%_], a.TipoArticulo, a.GestionCompras,
a.FactorPrecioVenta_, a.TipoUnidadCalculo_
FROM dbo.CabeceraPedidoCliente pe INNER JOIN
dbo.Articulos a ON pe.CodigoEmpresa = a.CodigoEmpresa INNER JOIN
dbo.BC_PALETS pa ON pe.CodigoEmpresa = pa.CodigoEmpresa AND pe.EjercicioPedido = pa.Ejercicio AND ISNULL(pe.SeriePedido, '')
= ISNULL(pa.SeriePedido, '') AND pe.NumeroPedido = pa.NumeroPedido INNER JOIN
(SELECT PaletGuid, CodigoEmpresa, CodigoArticulo, UnidadMedida1_, CodigoAgricultor, CodigoParcela, FactorConversion_,
SUM(UnidadesEntrada) AS UnidadesEntrada, SUM(Cantidad) AS Cantidad, SUM(costetotal) AS CosteTotal
FROM dbo.BC_MERCANCIA
GROUP BY PaletGuid, CodigoEmpresa, CodigoArticulo, UnidadMedida1_, CodigoAgricultor, CodigoParcela, FactorConversion_) m ON
pa.ID_PALET = m.PaletGuid AND a.CodigoArticulo = m.CodigoArticulo AND pa.CodigoEmpresa = m.CodigoEmpresa INNER JOIN
dbo.UnidadesMedida u ON m.CodigoEmpresa = u.CodigoEmpresa AND m.CodigoArticulo = u.CodigoArticulo AND
m.UnidadMedida1_ = u.UnidadMedida1_ INNER JOIN
dbo.BC_Agricultores Ag ON m.CodigoAgricultor = Ag.CodigoAgricultor INNER JOIN
dbo.TiposIva i ON i.CodigoIva = dbo.GetCodigoIva(pe.CodigoCliente, pe.CodigoEmpresa, a.CodigoArticulo) AND
i.CodigoTerritorio = pe.CodigoTerritorio
WHERE (pe.CodigoEmpresa = @Emp) AND (pe.EjercicioPedido = @Ej) AND (pe.SeriePedido = @Serie) AND (pe.NumeroPedido = @Num)
open C_GP
fetch next from C_GP into @Emp, @Ej, @Serie, @Num, @Orden, @Pos, @FechaRegistro, @FechaPedido, @Articulo, @Almacen, @Partida, @Formato, @Base, @Factor, @Familia, @SubFamilia, @D1, @D2, @D3, @Cliente, @Proveedor,
@Definicion,@Transaccion,@Proyecto, @Seccion, @Departamento, @FechaCaduca, @FechaNecesaria, @FechaEntrega, @FechaTope, @SuPedido, @ReservaStock,@AcumulaEstadistica, @Estado, @IvaIncluido, @GrupoIva,
@CodigoIva,@PIva, @Recargo, @BaseCorrectora,@Pedidas, @Servidas,@Pendientes, @AServir, @CantidadBase, @AServirBase, @coste, @Comisionista,@Comisionista2,@Comisionista3,@Comisionista4,@JefeVenta, @JefeZona,
@PComision, @PComision2,@PComision3,@PComision4, @PComisionVenta, @PComisionZona, @TipoArticulo, @GestionCompras, @FactorPrecioVenta, @TipoUnidadCalculo
Set @Ord=1
while @@fetch_status=0 begin
insert into LineasPedidoCliente (CodigoEmpresa, EjercicioPedido, SeriePedido, NumeroPedido, Orden, LineasPosicion, FechaRegistro, FechaPedido, CodigoArticulo, CodigoAlmacen, Partida, UnidadMedida1_, UnidadMedida2_,
FactorConversion_,CodigoFamilia, CodigoSubFamilia, DescripcionArticulo, Descripcion2Articulo, DescripcionLinea, CodigoDelCliente, CodigoProveedor,CodigoDefinicion_,CodigoTransaccion, CodigoProyecto, CodigoSeccion,
CodigoDepartamento, FechaCaduca, FechaNecesaria, FechaEntrega, FechaTope, SuPedido, ReservarStock_, AcumulaEstadistica_, Estado, IvaIncluido, GrupoIva, CodigoIva, [%Iva], [%Recargo], [%BaseCorreccion],
UnidadesPedidas, UnidadesServidas,UnidadesPendientes, UnidadesAServir, Unidades2_, Unidades2AServir_, PrecioCoste, CodigoComisionista,CodigoComisionista2_,CodigoComisionista3_,CodigoComisionista4_, CodigoJefeVenta_,
CodigoJefeZona_, [%Comision],[%Comision2_], [%Comision3_], [%Comision4_], [ComisionSobreVenta%_], pe.[ComisionSobreZona%_], TipoArticulo, GestionCompras, FactorPrecioVenta_, a.TipoUnidadCalculo_)
values (@Emp, @Ej, @Serie, @Num, @Ord, @Pos, @FechaRegistro, @FechaPedido, @Articulo, @Almacen, @Partida, @Formato, @Base,
@Factor, @Familia, @SubFamilia, @D1, @D2, @D3, @Cliente, @Proveedor, @Definicion,@Transaccion,@Proyecto, @Seccion,
@Departamento, @FechaCaduca, @FechaNecesaria, @FechaEntrega, @FechaTope, @SuPedido, @ReservaStock,@AcumulaEstadistica, @Estado, @IvaIncluido, @GrupoIva,@CodigoIva,@PIva, @Recargo, @BaseCorrectora,
@Pedidas, @Servidas,@Pendientes, @AServir, @CantidadBase, @AServirBase, @coste, @Comisionista,@Comisionista2,@Comisionista3,@Comisionista4,@JefeVenta,
@JefeZona, @PComision, @PComision2,@PComision3,@PComision4, @PComisionVenta, @PComisionZona, @TipoArticulo, @GestionCompras, @FactorPrecioVenta, @TipoUnidadCalculo)
Set @Ord=@Ord+1
fetch next from C_GP into @Emp, @Ej, @Serie, @Num, @Orden, @Pos, @FechaRegistro, @FechaPedido, @Articulo, @Almacen, @Partida, @Formato, @Base, @Factor, @Familia, @SubFamilia, @D1, @D2, @D3, @Cliente, @Proveedor,
@Definicion,@Transaccion,@Proyecto, @Seccion, @Departamento, @FechaCaduca, @FechaNecesaria, @FechaEntrega, @FechaTope, @SuPedido, @ReservaStock,@AcumulaEstadistica, @Estado, @IvaIncluido, @GrupoIva,
@CodigoIva,@PIva, @Recargo, @BaseCorrectora,@Pedidas, @Servidas,@Pendientes, @AServir, @CantidadBase, @AServirBase, @coste, @Comisionista,@Comisionista2,@Comisionista3,@Comisionista4,@JefeVenta, @JefeZona,
@PComision, @PComision2,@PComision3,@PComision4, @PComisionVenta, @PComisionZona, @TipoArticulo, @GestionCompras, @FactorPrecioVenta, @TipoUnidadCalculo
end
close C_GP
deallocate C_GP
GO
Si lo ejecuto desde ISql funciona perfectamente pero desde la aplicación no le da la gana, con lo que he pensado que será problema de los parámetros pero por más vueltas que le doy no saco nada en claro, a ver si alguien me pudiera exar una mano... |