Untitled
unknown
sql
a year ago
1.6 kB
7
Indexable
CREATE OR REPLACE TRIGGER "TRG_LOGOFERTAS"
BEFORE UPDATE OF PRECOREVISTA, PVENDA1 ON PCTABPR
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
declare
vsmaquina varchar2(80);
vsusuario varchar2(80);
vsprograma varchar2(80);
begin
vsmaquina := SYS_CONTEXT('USERENV', 'TERMINAL');
vsusuario := SYS_CONTEXT('USERENV', 'OS_USER');
vsprograma := SYS_CONTEXT('USERENV', 'MODULE');
IF ((nvl(:OLD.PRECOREVISTA, 0) = 0) AND (:NEW.PRECOREVISTA > 0) AND
(:NEW.PVENDA1 <> :OLD.PVENDA1)) THEN
INSERT INTO LOGOFERTAS
VALUES
(SYSDATE,
:NEW.NUMREGIAO,
:NEW.CODPROD,
:OLD.PRECOREVISTA,
:NEW.PRECOREVISTA,
:OLD.PVENDA1,
:NEW.PVENDA1,
'ENTROU',
VSMAQUINA,
VSUSUARIO,
VSPROGRAMA);
END IF;
IF ((nvl(:NEW.PRECOREVISTA, 0) = 0) AND (:OLD.PRECOREVISTA > 0)) THEN
INSERT INTO LOGOFERTAS
VALUES
(SYSDATE,
:NEW.NUMREGIAO,
:NEW.CODPROD,
:OLD.PRECOREVISTA,
:NEW.PRECOREVISTA,
:OLD.PVENDA1,
:NEW.PVENDA1,
'SAIU',
VSMAQUINA,
VSUSUARIO,
VSPROGRAMA);
END IF;
IF ((:OLD.PVENDA1 <> :NEW.PVENDA1) AND (:NEW.PRECOREVISTA > 0) AND
(:NEW.PVENDA1 <> :OLD.PVENDA1)) THEN
INSERT INTO LOGOFERTAS
VALUES
(SYSDATE,
:NEW.NUMREGIAO,
:NEW.CODPROD,
:OLD.PRECOREVISTA,
:NEW.PRECOREVISTA,
:OLD.PVENDA1,
:NEW.PVENDA1,
'ALTEROU',
VSMAQUINA,
VSUSUARIO,
VSPROGRAMA);
END IF;
END;
---feito por Guilherm Eloi dia 09/08/2024
Editor is loading...
Leave a Comment