Created
November 10, 2020 21:12
-
-
Save AndyDaSilva52/149573ac245badea59a8becce9490c0f to your computer and use it in GitHub Desktop.
#MegaERP - Trigger - Reescriturar e Recontabilizar documento de entrada, conhecimento de frete e nota complementar
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
create or replace TRIGGER MGCLI.T_CLI_EST_RECEBIMENTO | |
BEFORE INSERT OR UPDATE ON MGADM.EST_RECEBIMENTO | |
REFERENCING OLD AS OLD NEW AS NEW | |
FOR EACH ROW | |
BEGIN | |
/** | |
Quem: AGS(anderson@sanavita.com.br) | |
Quando: 07/07/2018 | |
Motivo: Nao permitir CTe com Entrada antes da Emissão | |
*/ | |
IF (INSERTING AND :NEW.RCB_ST_CHAVEACESSOCTE IS NOT NULL AND :NEW.RCB_DT_MOVIMENTO < :NEW.RCB_DT_DOCUMENTO) THEN | |
RAISE_APPLICATION_ERROR(-20101, 'Data de Entrada ['|| TO_CHAR(:NEW.RCB_DT_MOVIMENTO, 'DD/MM/YYYY') | |
||'] menor que Data de Emissão ['|| TO_CHAR(:NEW.RCB_DT_DOCUMENTO, 'DD/MM/YYYY') ||'].' | |
|| CHR(13) || 'Contate o Suporte da Sanavita caso necessário incluir ou alterar essa regra. [MGCLI.T_CLI_EST_RECEBIMENTO]'); | |
END IF; | |
IF UPDATING THEN | |
BEGIN | |
/** | |
Motivo: Macar para reescriturar após alteração | |
*/ | |
UPDATE MGGLO.GLO_ACAOMOVIMENTO | |
SET ACAOM_RE_VALORFISCALREAL = 0 | |
WHERE | |
ACAOM_DT_EXCLUSAO IS NULL | |
AND ACAOM_DT_DATAENTRADA >= ( | |
SELECT MAX(e.sis_dt_encerramento) | |
FROM MGGLO.glo_encerrasistema E | |
WHERE E.SIS_IN_CODIGO IN (6) | |
AND E.ORG_TAB_IN_CODIGO = :NEW.ORG_TAB_IN_CODIGO | |
AND E.ORG_PAD_IN_CODIGO = :NEW.ORG_PAD_IN_CODIGO | |
AND E.ORG_TAU_ST_CODIGO = :NEW.ORG_TAU_ST_CODIGO | |
AND E.ORG_IN_CODIGO = :NEW.ORG_IN_CODIGO | |
AND E.FIL_IN_CODIGO = :NEW.FIL_IN_CODIGO | |
) | |
AND ACAOM_IN_SEQUENCIA = :NEW.ACAOM_IN_SEQUENCIA | |
AND ORG_TAB_IN_CODIGO = :NEW.ORG_TAB_IN_CODIGO | |
AND ORG_PAD_IN_CODIGO = :NEW.ORG_PAD_IN_CODIGO | |
AND ORG_TAU_ST_CODIGO = :NEW.ORG_TAU_ST_CODIGO | |
AND ORG_IN_CODIGO = :NEW.ORG_IN_CODIGO | |
; | |
END; | |
BEGIN | |
/** | |
Motivo: Macar para recontabilizar após alteração | |
*/ | |
UPDATE MGGLO.GLO_ACAOMOVIMENTO | |
SET ACAOM_RE_VALORCONTABILREAL = 0 | |
WHERE | |
ACAOM_DT_EXCLUSAO IS NULL | |
AND ACAOM_DT_DATAENTRADA >= ( | |
SELECT MAX(e.sis_dt_encerramento) | |
FROM MGGLO.glo_encerrasistema E | |
WHERE E.SIS_IN_CODIGO IN (4) | |
AND E.ORG_TAB_IN_CODIGO = :NEW.ORG_TAB_IN_CODIGO | |
AND E.ORG_PAD_IN_CODIGO = :NEW.ORG_PAD_IN_CODIGO | |
AND E.ORG_TAU_ST_CODIGO = :NEW.ORG_TAU_ST_CODIGO | |
AND E.ORG_IN_CODIGO = :NEW.ORG_IN_CODIGO | |
AND E.FIL_IN_CODIGO = :NEW.FIL_IN_CODIGO | |
) | |
AND ACAOM_IN_SEQUENCIA = :NEW.ACAOM_IN_SEQUENCIA | |
AND ORG_TAB_IN_CODIGO = :NEW.ORG_TAB_IN_CODIGO | |
AND ORG_PAD_IN_CODIGO = :NEW.ORG_PAD_IN_CODIGO | |
AND ORG_TAU_ST_CODIGO = :NEW.ORG_TAU_ST_CODIGO | |
AND ORG_IN_CODIGO = :NEW.ORG_IN_CODIGO | |
; | |
END; | |
END IF; | |
END; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment