Trabajo dando soporte de SAP B1, Tengo un inconveniente con una alarma que me solicitaron realizar; necesito que se dispare una alarma al momento de modificar el campo limite de crédito del SN, no logro que funcione, tal vez estoy colocando algo mal o me falta algo que agregar; si fueran tan amables de poder ayudarme a ver que es lo que estoy haciendo mal.
Adjunto el Query:
Declare @Transaction_type nchar(1)
Declare @CardCode nchar(12)
Declare @Cardtype nchar(1)
IF (@Transaction_type = 'U' and @Cardtype= 'C')
Begin
If Exists (Select T0.CardCode,T0.Balance , T0.GroupNum, T0.CreditLine
From OCRD T0
Where T0.CardCode = $[OCRD.CardCode] and
(T0.CreditLine <> $[OCRD.CreditLine] or
T0.Debtlineor <> $[OCRD.Debtline] or
T0.GroupNum <> $[OCRD.GroupNum] ))
end
Hola Mila
Estas mezclando sintaxis de busquedas formateadas con sintaxis de Transaction Notification, lo cual esta mal.
Las alarmas no se ejecutan contra un evento del sistema, se ejecutan contra un temporizador.
Una forma de realizar la alerta es listar los clientes actualizados en el dia y cruzarlo contra la tabla de log y los registros con diferencias en el campo deberia ser el resultado para enviar al usuario.
La siguiente consulta es una base, se deben agregar validaciones adicionales al inner join
SELECT T0."CardCode", T0."CardName", T0."CreditLine", T1."CreditLine"
FROM OCRD T0
INNER JOIN ACRD T1 ON T0."CardCode" = T1."CardCode"
WHERE T0."UpdateDate" = CURRENT_DATE AND T0."CreditLine" <> T1."CreditLine"