quarta-feira, 24 de janeiro de 2018

Trigger que Impede gravar TOP zero

DROP TRIGGER TRG_INC_TGFFIN_VALIDA;

CREATE OR REPLACE TRIGGER TRG_INC_TGFFIN_VALIDA
BEFORE INSERT OR UPDATE
ON TGFFIN
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DISABLE
DECLARE

  ERRMSG                VARCHAR2(500);


  ERROR EXCEPTION;
  P_VALIDAR BOOLEAN;
  PRAGMA Autonomous_Transaction;

BEGIN

  /*
  Autor: Ricardo Netto
  Data: 12/08/2014
  Descrição: Impedir de gravar com top 0
  */

  --[INICIO]

IF INSERTING AND :NEW.CODTIPOPER = 0 AND :NEW.RECDESP IN (1,-1) THEN

  RAISE_APPLICATION_ERROR(-20101, 'O campo TIPO DE OPERAÇÃO deve ser informado');

END IF;

IF UPDATING('CODTIPOPER') AND :NEW.CODTIPOPER = 0  AND :NEW.RECDESP IN (1,-1) THEN

  RAISE_APPLICATION_ERROR(-20101, 'O campo TIPO DE OPERAÇÃO deve ser informado');

END IF;

--[FIM]
  RETURN;

EXCEPTION
  WHEN ERROR THEN
    RAISE_APPLICATION_ERROR(-20101, ERRMSG);

END;
/

Nenhum comentário:

Postar um comentário