ALTER procedure [dbo].[GuardarTicketCombustible]
@Proveedor varchar(300),
@CentroCostos varchar(40),
@Departamento varchar(40),
@ConceptoGasto varchar(40),
@ProductoGasto varchar(40),
@Vehiculo varchar(40),
@PeriodoAcomodo varchar(300),
@Moneda varchar(10),
@FechaVale date ,
@FolioVale varchar(30),
@FolioTicket varchar(30),
@Litros decimal(18,2),
@CostoLitro decimal(18,2),
@ImporteTotal decimal(18,2),
@Proyecto varchar(40),
@SubProyecto varchar(40)
as
declare @msg varchar(max)
declare @msg2 varchar(max)
declare @IdProveedor bigint
declare @IdCentroCosto bigint
declare @IdDepartamento bigint
declare @IdConceptoGasto bigint
declare @IdProductoGasto bigint
declare @IdVehiculo bigint
--------TicketConProyecto
declare @TicketCombustible bigint
declare @IdProyecto bigint
declare @IdSubProyecto bigint
begin try
begin tran
set @IdProveedor = (select IdProveedor from Proveedores where CONCAT(NombreCompleto,' ',ApellidoPaterno,' ',ApellidoMaterno) = @Proveedor)
set @IdCentroCosto = (select IdCentro from CentrosCostos where NombreCentroCosto = @CentroCostos)
set @IdDepartamento = (select IdDepartamento from Departamento where NombreDepartamento = @Departamento)
set @IdConceptoGasto = (select IdConceptoGeneral from ConceptoGeneral where NombreConceptoGeneral = @ConceptoGasto)
set @IdProductoGasto = (select IdProductoInsumo from ProductoInsumos where Descripcion = @ProductoGasto)
set @IdVehiculo = (select IdVehiculo from Vehiculos where Placas = @Vehiculo)
insert into TicketCombustibles (IdProveedor, IdCentroCosto, IdDepartamento, IdConceptoGasto, IdProductoGasto,IdVehiculo,
PeriodoAcomodo, Moneda, FechaVale, FolioVale, FolioTicket,Litros,CostoLitro,ImporteTotal, Estatus)
values(@IdProveedor,@IdCentroCosto,@IdDepartamento,@IdConceptoGasto,@IdProductoGasto,@IdVehiculo, @PeriodoAcomodo, @Moneda,@FechaVale,@FolioVale,
@FolioTicket, @Litros,@CostoLitro,@ImporteTotal, 'Pendiente')
if(@Proyecto != '')
begin
set @IdProyecto = (select IdProyecto from Proyecto where NombreProyecto = @Proyecto )
--select @IdProyecto
insert into [TicketConProyecto] (IdTicketCombustible,IdProyecto)
values (SCOPE_IDENTITY(), @IdProyecto)
I get an error on line 56 but I think it's because of this subquery
declare @SUMA decimal(18,2);
declare @Valor decimal(18,2);
set @SUMA = (select sum(ImporteTotal) AS SUMA from TicketCombustibles join TicketConProyecto on TicketConProyecto.IdTicketCombustible = TicketCombustibles.IdTicketCombustible WHERE IdProyecto = @IdProyecto group by ImporteTotal )
set @Valor = (SELECT SUM (Presupuesto + Margen )AS Total FROM Proyecto where IdProyecto = @IdProyecto)
if(@SUMA <= @Valor)
begin
update Proyecto set Pagado=@SUMA where IdProyecto=@IdProyecto
set @msg2 = 'Actualización de Proyecto'
select @msg2 as MSG2
end
declare @scopProyecto bigint
set @scopProyecto = SCOPE_IDENTITY()
select @scopProyecto
end
else
set @msg2 = 'El valor Excede del Presupuesto'
select @msg2 as MSG2
if (@SubProyecto != '')
begin
set @IdSubProyecto = (select IdSubProyecto from SubProyecto where NombreSubProyecto = @SubProyecto)
--select @IdSubProyecto
update TicketConProyecto set IdSubProyecto = @IdSubProyecto where IdTicketConProyecto = @scopProyecto
end
set @msg = 'Guardado con Exito'
select @msg as MSG
commit
end try
begin catch
rollback
SELECT ERROR_NUMBER() AS ErrorNumber ,ERROR_SEVERITY() AS ErrorSeverity ,ERROR_STATE() AS ErrorState ,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine ,ERROR_MESSAGE() AS ErrorMessage;
end catch