ALTER TABLE RETVENDAADQ DROP CONSTRAINT CKC_IDSITUACAO_RETVENDAADQ
/

ALTER TABLE RETVENDAADQ ADD CONSTRAINT CKC_IDSITUACAO_RETVENDAADQ CHECK (IDSITUACAO IN ('C', 'D', 'N', 'O'))
/

ALTER TABLE CONSMOVCAIXA ADD CDFILIALNF VARCHAR2(4)
/

ALTER TABLE CONSMOVCAIXA ADD NRLANCTONF VARCHAR2(10)
/

ALTER TABLE CONSMOVCAIXA ADD CONSTRAINT FK_CONSMOVCAIXA_NOTAFISCAL FOREIGN KEY ( CDFILIALNF, NRLANCTONF ) REFERENCES NOTAFISCAL ( CDFILIAL, NRLANCTONF )
/

ALTER TABLE CONSMOVCAIXA ADD DTVENCIMENTO DATE
/

ALTER TABLE TIPODIVERGENCIA DROP CONSTRAINT CKC_TIPODIVERG_IDDIVERGENCIA
/

ALTER TABLE TIPODIVERGENCIA ADD CONSTRAINT CKC_TIPODIVERG_IDDIVERGENCIA CHECK ( IDDIVERGENCIA IN ('A', 'B', 'C', 'D', 'G', 'I', 'L', 'N', 'P', 'R', 'T', 'V'))
/

BEGIN
   DECLARE
      V_COUNT NUMBER;
      V_SEQVARCHAR VARCHAR2(50);
      V_SEQUENCIAL NUMBER;
   BEGIN
      V_COUNT := 0;
      SELECT COUNT(*)
        INTO V_COUNT
        FROM TIPODIVERGENCIA
	   WHERE IDDIVERGENCIA = 'D';
      IF V_COUNT = 0 THEN
         NOVO_CODIGO_NT('TIPODIVERGENCIA', V_SEQVARCHAR);
         V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);
         INSERT INTO TIPODIVERGENCIA
            (NRTPDIVERGENCIA, IDDIVERGENCIA, DSTIPODIV, IDTIPOCORDIV)
         VALUES
            (V_SEQUENCIAL, 'D', 'DATA DE VENCIMENTO', 'A');
      END IF;
   END;
END;
/

BEGIN
   DECLARE
      V_COUNT NUMBER;
      V_SEQVARCHAR VARCHAR2(20);
      V_SEQUENCIAL NUMBER;
   BEGIN
      V_COUNT := 0;
      BEGIN
         SELECT COUNT(*)
           INTO V_COUNT
           FROM ITEMCORRECAO
		  WHERE DSITEMCORRECAO = 'DATA DE VENCIMENTO';
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_COUNT := 0;
      END;
      IF V_COUNT = 0 THEN
         NOVO_CODIGO_NT('ITEMCORRECAO', V_SEQVARCHAR);
         V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);
         INSERT INTO ITEMCORRECAO
            (NRITEMCORRECAO, DSITEMCORRECAO)
         VALUES
            (V_SEQUENCIAL, 'DATA DE VENCIMENTO');
      END IF;
   END;
END;