Hola compañeros buenas tardes
Expongo un problema que tengo en un Transaction Notificacion donde se cancela una factura de proveedor.
no me esta respetando que al momento de cancelar lo detecta como nuevo (A) en vez de cancelar (C).
este transaction tiene que resta el monto que se tiene en una tabla de presupuesto ya ejercido.
este es mi consulta
IF @object_type = ‘18’ AND @transaction_type in (‘C’)
BEGIN
declare @contlines1 int, @contitt1 int, @base nvarchar(50), @docentry nvarchar(50), @baseType int
Declare @lineasfact1 table (
Linenum numeric (10),
linetotal numeric(20),
mes nvarchar(20),
folio nvarchar(50),
area nvarchar(20),
folio_int nvarchar(50),
base nvarchar(50),
docentry nvarchar(50)
);
Set @contitt1 = '0'
Insert into @lineasfact1 (Linenum, Linetotal, Mes, Folio, area, folio_int, base, docentry)
select T1.Linenum, T1.LineTotal, T1.U_FMP_Mes, T1.U_Folio_Concepto, T1.U_FMP_AREA, T1.U_FMP_F_Interno, T1.BaseRef, T1.DocEntry
from PCH1 T1
where T1.DocEntry = @list_of_cols_val_tab_del
SELECT @doctotal = linetotal, @mes = mes, @folio = Folio, @area = AREA, @folio_int = folio_int, @base = base, @docentry = docentry from @lineasfact1 order by mes
OFFSET @contitt1 rows fetch next 1 rows only
BEGIN
update KYA_ASIGNACION_PRES set ESTATUS = ‘C’ where FOLIO_INTERNO = @folio_int
--MOVIMIENTO EN EL PRESUPUESTO COMPROMETIDO--
select @area = dbo.presupuesto_tabla (@area)
select @mes1 = [dbo].[presupuesto_mes_ejer] (@mes)
select @sql ='update '+@area+' set '+@mes1+' = (select '+@mes1+' from '+@area+' where U_FOLIO_CONCEPTO = '+char(39)+@folio+char(39)+') - '+convert(varchar(20),@doctotal) +' where U_FOLIO_CONCEPTO = '+char(39)+@folio+char(39);
select @parametros = N'@mes1 varchar(20),@area varchar(20),@folio nvarchar(10), @doctotal NUMERIC(19,6)';
execute sp_executesql @sql, @parametros, @mes1 ,@area ,@folio , @doctotal;
END
set @contitt1 = @contitt1 + 1
END
END