ALTER TABLE RETVENDAADQ ADD NRTERMINAL VARCHAR2(50)
/

ALTER TABLE VALIDACAOADQ ADD NRORDEM NUMBER
/

ALTER TABLE VALIDACAOADQ ADD CONSTRAINT UN_VALIDACAOADQ UNIQUE (NRADQUIRENTE, NRORDEM)
/

UPDATE VALIDACAOADQ SET NRORDEM = 0 WHERE NRORDEM IS NULL
/

ALTER TABLE VALIDACAOADQ ADD IDAJUSTEAUT VARCHAR2(1) DEFAULT 'N' NOT NULL
/

ALTER TABLE VALIDACAOADQ ADD CONSTRAINT CKC_VALIDACAOADQ_IDAJUST CHECK (IDAJUSTEAUT IN ('N', 'S')) 
/

ALTER TABLE VALIDACAOADQ ADD NRDIASTOL NUMBER
/

ALTER TABLE VALIDACAOADQEST ADD NRORDEM NUMBER
/

ALTER TABLE VALIDACAOADQEST DROP CONSTRAINT UN_VALIDACAOADQEST
/

ALTER TABLE VALIDACAOADQEST ADD CONSTRAINT UN_VALIDACAOADQEST UNIQUE (NRADQUIRENTE, NRESTABELEC, NRORDEM)
/

UPDATE VALIDACAOADQEST SET NRORDEM = 0 WHERE NRORDEM IS NULL
/

ALTER TABLE VALIDACAOADQEST ADD IDAJUSTEAUT VARCHAR2(1) DEFAULT 'N' NOT NULL
/

ALTER TABLE VALIDACAOADQEST ADD CONSTRAINT CKC_VALIDACAOADQEST_IDAJUST CHECK (IDAJUSTEAUT IN ('N', 'S'))
/

ALTER TABLE VALIDACAOADQEST ADD NRDIASTOL NUMBER
/

ALTER TABLE CONSMOVCAIXA ADD IDSITUACAO VARCHAR2(1) DEFAULT 'N' NOT NULL
/

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

CREATE TABLE ITEMCORRECAO(
    NRITEMCORRECAO   NUMBER 	  NOT NULL,
    DSITEMCORRECAO VARCHAR2(200)  NOT NULL,
    NRORG          NUMBER 	  DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') ,
    IDATIVO        VARCHAR2(1)    DEFAULT 'S',
	CONSTRAINT CKC_IDATIVO_ITEMCORRECAO CHECK (IDATIVO IN ('S','N')),
    DTINCLUSAO     DATE DEFAULT SYSDATE,
    DTULTATU       DATE DEFAULT SYSDATE,
    NRORGINCLUSAO  NUMBER 	 DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg'),
    CDOPERINCLUSAO VARCHAR2(12)  DEFAULT '1',
    NRORGULTATU    NUMBER 	 DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg'),
    CDOPERULTATU   VARCHAR2(12)  DEFAULT '1',
	CONSTRAINT PK_ITEMCORRECAO PRIMARY KEY (NRITEMCORRECAO)
)
/

CREATE TABLE ITEMCORVENDA(
    NRITEMCORVENDA NUMBER NOT NULL,
    NRCONSMOVCAIXA NUMBER NOT NULL,
    NRITEMCORRECAO NUMBER NOT NULL,
    VRANTIGO       VARCHAR2 (200),
    VRNOVO         VARCHAR2 (200) NOT NULL,
    NRORG          NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg'),
    IDATIVO        VARCHAR2 (1) DEFAULT 'S',
	CONSTRAINT CKC_IDATIVO_ITEMCORVENDA CHECK (IDATIVO IN ('S','N')),
    DTINCLUSAO     DATE DEFAULT SYSDATE,
    DTULTATU       DATE DEFAULT SYSDATE,
    NRORGINCLUSAO  NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg'),
    CDOPERINCLUSAO VARCHAR2 (12) DEFAULT '1',
    NRORGULTATU    NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg'),
    CDOPERULTATU   VARCHAR2 (12) DEFAULT '1',
	CONSTRAINT PK_ITEMCORVENDA PRIMARY KEY (NRITEMCORVENDA)
)
/

ALTER TABLE ITEMCORVENDA ADD CONSTRAINT FK_CONSMOVCAIXA_ITEMCORVENDA FOREIGN KEY (NRCONSMOVCAIXA) 
	REFERENCES CONSMOVCAIXA (NRCONSMOVCAIXA)
/

ALTER TABLE ITEMCORVENDA ADD CONSTRAINT FK_ITEMCORRECAO_ITEMCORVENDA FOREIGN KEY (NRITEMCORRECAO) 
	REFERENCES ITEMCORRECAO (NRITEMCORRECAO)
/

ALTER TABLE PRODUTOADQ ADD NRDIASVENC NUMBER
/

ALTER TABLE PARAMFINESTADQ ADD CDTPDBDEBGER VARCHAR2(4)
/

ALTER TABLE PARAMFINESTADQ ADD CONSTRAINT FK_TPDEBIBANC3_PARAMFINESTADQ FOREIGN KEY (CDTPDBDEBGER) 
	REFERENCES TPDEBIBANC (CDTPDEBIBANC)
/

ALTER TABLE ESTABELECIMENTO ADD CDTPDBDEBGER VARCHAR2(4)
/

ALTER TABLE ESTABELECIMENTO ADD CONSTRAINT FK_TPDEBIBANC3_ESTABELECIMENTO FOREIGN KEY (CDTPDBDEBGER) 
	REFERENCES TPDEBIBANC (CDTPDEBIBANC) 
/

ALTER TABLE TAXAADQPROD ADD NRDIASVENC NUMBER
/

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 =  'PRODUTO';
      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, 'PRODUTO');
      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 DA VENDA';
      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 DA VENDA');
      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 =  '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, 'VENCIMENTO');
      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 =  'NSU';
      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, 'NSU');
      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 =  'AUTORIZACAO';
      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, 'AUTORIZACAO');
      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 =  'VALOR';
      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, 'VALOR');
      END IF;
   END;
END;
/