Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save AndyDaSilva52/25716274f56cc81391da25e6bb92c863 to your computer and use it in GitHub Desktop.
Save AndyDaSilva52/25716274f56cc81391da25e6bb92c863 to your computer and use it in GitHub Desktop.
#Mega - Trigger para não permitir Inventário de Item que tem Código de Reserva para Quantidade que seja diferente de 0 (Zero) #MegaERP
create or replace TRIGGER T_CLI_EST_INVENTARIO_ITENS_RSV
BEFORE UPDATE OF ITI_RE_QTCONTADA ON MGADM.EST_ITENSINVENTARIO
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
WHEN (NVL(NEW.MVS_IN_RESERVA,0) <> 0)
DECLARE
vITI_RE_QTCONTADA MGADM.EST_ITENSINVENTARIO.ITI_RE_QTCONTADA%TYPE;
BEGIN
CASE
WHEN NVL(:NEW.ITI_RE_QTCONTADA,0) <> 0 THEN vITI_RE_QTCONTADA := :NEW.ITI_RE_QTCONTADA;
WHEN NVL(:NEW.ITI_RE_QTCONTADA2,0) <> 0 THEN vITI_RE_QTCONTADA := :NEW.ITI_RE_QTCONTADA2;
WHEN NVL(:NEW.ITI_RE_QTCONTADA3,0) <> 0 THEN vITI_RE_QTCONTADA := :NEW.ITI_RE_QTCONTADA3;
WHEN NVL(:NEW.ITI_RE_QTCONTADAAUD,0) <> 0 THEN vITI_RE_QTCONTADA := :NEW.ITI_RE_QTCONTADAAUD;
ELSE vITI_RE_QTCONTADA := NULL;
END CASE;
IF (vITI_RE_QTCONTADA IS NOT NULL) THEN
RAISE_APPLICATION_ERROR(-20101,
CHR(13) || 'Ficha ['|| :NEW.ITI_IN_SEQUENCIA
||'] do Inventário ['|| :NEW.INV_IN_CODIGO
||'] tem Código de Reserva ['|| :NEW.MVS_IN_RESERVA ||'].'|| CHR(13)
|| 'Não é permitido informar Quantidade ['||
vITI_RE_QTCONTADA
||'] diferente de zero!' || CHR(13) || CHR(13)
|| 'Favor zerar a quantidade e em seguida inserir uma nova ficha do Item ['|| :NEW.PRO_IN_CODIGO || ']'
|| ' com as mesmas Características de Estoque do Saldo Reservado!' || CHR(13) || CHR(13)
|| 'Obs: É importante verificar se o Documento (Ordem/Solicitação) está com Status ainda Aberto.'
|| ' O processo de zerar deve ser realizado quando não há outra alternativa!'
|| CHR(13) || CHR(13)
|| '[MGCLI].[T_CLI_EST_INVENTARIO_ITENS_RSV]'
);
END IF;
END;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment