-- ============================================================
--   TABLE: ADQUIRENTE
-- ============================================================

CREATE TABLE ADQUIRENTE
(
    NRADQUIRENTE 	NUMBER 	      	NOT NULL,
    CDADQUIRENTE 	VARCHAR2(3)   	NOT NULL,
    NMADQUIRENTE 	VARCHAR2(100) 	NOT NULL,
    VRTAXAADM 		FLOAT,
    VRTOLERANCIA 	FLOAT,
    IDUTILIZADO    	VARCHAR2(1)   	DEFAULT 'S' NOT NULL,
    IDVISIVEL      	VARCHAR2(1)   	DEFAULT 'N' NOT NULL,
		CONSTRAINT CKC_IDVISIVEL_ADQUIRENTE CHECK (IDVISIVEL IN ('N','S')),
    NRORG          	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
    IDATIVO        	VARCHAR2(1)   	DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_ADQUIRENTE CHECK (IDATIVO IN ('S','N')),
    DTINCLUSAO     	DATE,
    DTULTATU       	DATE,
    NRORGINCLUSAO   	NUMBER       	NULL,
    CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
    NRORGULTATU     	NUMBER       	NULL,
    CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_ADQUIRENTE PRIMARY KEY (NRADQUIRENTE)
)
/
		

-- ============================================================
--   TABLE: BANDEIRAVAN
-- ============================================================
CREATE TABLE BANDEIRAVAN
(
    NRBANDEIRAVAN  	NUMBER 	NOT NULL,
    CDBANDEIRA     	VARCHAR2(3) 	NOT NULL,
    NMBANDEIRA     	VARCHAR2(30),
    NMCONTROLE     	VARCHAR2(50) NOT NULL,
    IDVISIVEL      	VARCHAR2(1) 	DEFAULT 'N' NOT NULL,
		CONSTRAINT CKC_IDVISIVEL_BANDEIRAVAN CHECK (IDVISIVEL IN ('N','S')),
    NRORG          	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
    IDATIVO        	VARCHAR2(1) 	DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_BANDEIRAVAN CHECK (IDATIVO IN ('N','S')),
    DTINCLUSAO     	DATE,
    DTULTATU       	DATE,
    NRORGINCLUSAO  	NUMBER       	NULL,
    CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
    NRORGULTATU     	NUMBER       	NULL,
    CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_BANDEIRAVAN PRIMARY KEY (NRBANDEIRAVAN),
		CONSTRAINT UN_BANDEIRAVAN UNIQUE (CDBANDEIRA)
)
/


-- ============================================================
--   TABLE: CONCILIACAOLANC
-- ============================================================

CREATE TABLE CONCILIACAOLANC
(
    NRCONCLANC       	NUMBER 	  NOT NULL,
    DTCONCILIACAO    	DATE,
    IDTPCONCILIACAO  	VARCHAR2(1),
		CONSTRAINT CKC_IDTPCONCILIACAO_CONCILALAN CHECK (IDTPCONCILIACAO IN ('A','M')),
    NRDIVCONCILIACAO 	NUMBER,
    NRORG            	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
    IDATIVO          	VARCHAR2(1)  DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_CONCILIACAOMAN CHECK (IDATIVO IN ('N','S')),
    DTINCLUSAO       	DATE,
    DTULTATU         	DATE,
    NRORGINCLUSAO   	NUMBER       	NULL,
    CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
    NRORGULTATU     	NUMBER       	NULL,
    CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_CONCILIACAOMAN PRIMARY KEY (NRCONCLANC)
)
/


-- ============================================================
--   TABLE: CONSMOVCAIXA
-- ============================================================

CREATE TABLE CONSMOVCAIXA
(
    NRCONSMOVCAIXA 	NUMBER 	     NOT NULL,
    CDFILIAL    	VARCHAR2(10) NOT NULL,
    CDCAIXA     	VARCHAR2(10),
    DTABERCAIX 		DATE,
    NRSEQUMOVI  	VARCHAR2(10),
    NRCONCLANC     	NUMBER,
    CDLOJA      	VARCHAR2(10),
    CDNSU          	VARCHAR2(50),
    NRAUTORIZACAO  	VARCHAR2(20),
    NRQTPARCELA    	NUMBER,
    NRPARCELA      	NUMBER,
    CDCUPOM        	VARCHAR2(50),
    CDTIPORECE     	VARCHAR2(3),
    VRVENDA 		FLOAT,
    DTVENDA        	DATE,
    IDCONCILIADO   	VARCHAR2(1)  DEFAULT 'P' NOT NULL,
		CONSTRAINT CKC_IDCONCILIADO_CONSMOVCAIXA CHECK (IDCONCILIADO IN ('C', 'I', 'P')),
    IDORIGFOS      	VARCHAR2(1)  DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDORIGFOS_CONSMOVCAIXA CHECK (IDORIGFOS IN ('N','S')),
    IDVENDATEF     	VARCHAR2(1)  DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDVENDATEF_CONSMOVCAIXA CHECK (IDVENDATEF IN ('N', 'S')),
    NRORG          NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
    IDATIVO        	VARCHAR2(1)  	DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_CONSMOVCAIXA CHECK (IDATIVO IN ('N','S')),
    DTINCLUSAO     	DATE,
    DTULTATU       	DATE,
    NRORGINCLUSAO   	NUMBER       	NULL,
    CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
    NRORGULTATU     	NUMBER       	NULL,
    CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_CONSMOVCAIXA PRIMARY KEY (NRCONSMOVCAIXA)
)
/

-- ============================================================
--   TABLE: CONTROLEACESWS
-- ============================================================ 

CREATE TABLE CONTROLEACESWS
(
    NRCTRLACESWS   	NUMBER 	 NOT NULL,
    IDTIPO         	VARCHAR2(1) 	 DEFAULT 'V' NOT NULL,
		CONSTRAINT CKC_IDTIPO_CONTROLEACESWS CHECK (IDTIPO IN ('P','V')),
    DTRETORNADA    	DATE 	 	NOT NULL,
    DTACESSO       	DATE 	 	NOT NULL,
    NRORG          	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
    IDATIVO        	VARCHAR2(1) 	DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_CONTROLEACESWS CHECK (IDATIVO IN ('N','S')),		
    DTINCLUSAO     	DATE,
    DTULTATU       	DATE,
    NRORGINCLUSAO   	NUMBER       	NULL,
    CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
    NRORGULTATU     	NUMBER       	NULL,
    CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_CONTROLEACESWS PRIMARY KEY (NRCTRLACESWS)
)
/


-- ============================================================
--   TABLE: DIVCONCILIACAO
-- ============================================================ 

CREATE TABLE DIVCONCILIACAO
(
    NRDIVCONCILIACAO 	NUMBER 	 NOT NULL,
    NRCONCLANC       	NUMBER 	 NOT NULL,
    NRTPDIVERGENCIA  	NUMBER 	 NOT NULL,
    NRRETVENDAADQ    	NUMBER,
    NRRETFINANCADQ   	NUMBER,
    NRCONSMOVCAIXA   	NUMBER,
    VRESPERADO       	VARCHAR2(100) NOT NULL,
    VRENCONTRADO     	VARCHAR2(100),
    NRORG            	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
    IDATIVO          VARCHAR2(1) DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_DIVCONCILIACAO CHECK (IDATIVO IN ('N','S')),
    DTINCLUSAO       	DATE,
    DTULTATU         	DATE,
    NRORGINCLUSAO   	NUMBER       	NULL,
    CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
    NRORGULTATU     	NUMBER       	NULL,
    CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_DIVCONCILIACAO PRIMARY KEY (NRDIVCONCILIACAO)
)
/

-- ============================================================
--   TABLE: ESTABELECIMENTO
-- ============================================================ 

CREATE TABLE ESTABELECIMENTO
(
    NRESTABELEC     	NUMBER 	 NOT NULL,
    CDESTABELEC     	VARCHAR2(20) NOT NULL,
    NMESTABELEC     	VARCHAR2(50),
    CDFILIAL        	VARCHAR2(4),
    NRCNPJESTABELEC 	VARCHAR2(14),
    NRORG           	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
    IDATIVO         	VARCHAR2(1)  DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_ESTABELECIMENTO CHECK (IDATIVO IN ('N','S')),
    DTINCLUSAO      	DATE,
    DTULTATU        	DATE,
    NRORGINCLUSAO   	NUMBER       	NULL,
    CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
    NRORGULTATU     	NUMBER       	NULL,
    CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_ESTABELECIMENTO PRIMARY KEY (NRESTABELEC)
)
/


-- ============================================================
--   TABLE: LOTEVENDA
-- ============================================================ 

CREATE TABLE LOTEVENDA
(
    NRLOTEVENDA    	NUMBER 	NOT NULL,
    NRADQUIRENTE   	NUMBER 	NOT NULL,
    CDLOTEVENDA    	VARCHAR2(20) NOT NULL,
    DTLOTE         	DATE,
    IDTIPOLOTE     	VARCHAR2(1)  DEFAULT 'N' NOT NULL,
		CONSTRAINT CKC_IDTIPOLOTE_LOTEVENDA CHECK (IDTIPOLOTE IN ('A','N')),	
    NRORG          	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
    IDATIVO        	VARCHAR2(1)  DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_LOTEVENDA CHECK (IDATIVO IN ('N','S')),
    DTINCLUSAO     	DATE,
    DTULTATU       	DATE,
    NRORGINCLUSAO   	NUMBER       	NULL,
    CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
    NRORGULTATU     	NUMBER       	NULL,
    CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_LOTEVENDA PRIMARY KEY (NRLOTEVENDA),
		CONSTRAINT UN_LOTEVENDA UNIQUE (NRADQUIRENTE, CDLOTEVENDA)
)
/

-- ============================================================
--   TABLE: PRODUTOADQ
-- ============================================================ 

CREATE TABLE PRODUTOADQ
(
    NRPRODUTOADQ 	NUMBER 		NOT NULL,
    CDPRODUTOADQ 	VARCHAR2(3) 	NOT NULL,
    NMPRODUTOADQ 	VARCHAR2(100) 	NOT NULL,
    CDTIPORECE   	VARCHAR2(3),
    VRTOLERANCIA 	FLOAT,
    NRBANDEIRAVAN  	NUMBER,
    IDUTILIZADO    	VARCHAR2(1) 	DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDUTILIZADO_PRODUTOADQ CHECK (IDUTILIZADO IN ('N','S')),
    IDVISIVEL      	VARCHAR2(1) 	DEFAULT 'N' NOT NULL,
		CONSTRAINT CKC_IDVISIVEL_PRODUTOADQ CHECK (IDVISIVEL IN ('N','S')),
    NRORG          NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
    IDATIVO        	VARCHAR2(1) 	DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_PRODUTOADQ CHECK (IDATIVO IN ('N','S')),
    DTINCLUSAO     	DATE,
    DTULTATU       	DATE,
    NRORGINCLUSAO   	NUMBER       	NULL,
    CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
    NRORGULTATU     	NUMBER       	NULL,
    CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_PRODUTOADQ PRIMARY KEY (NRPRODUTOADQ),
		CONSTRAINT UN_PRODUTOADQ UNIQUE (CDPRODUTOADQ),
		CONSTRAINT UN_TIPORECE UNIQUE (CDTIPORECE)
)
/

-- ============================================================
--   TABLE: RETFINANCADQ
-- ============================================================ 

CREATE TABLE RETFINANCADQ
(
    NRRETFINANCADQ 	NUMBER NOT NULL,
    NRPRODUTOADQ   	NUMBER,
    NRADQUIRENTE   	NUMBER NOT NULL,
    NRBANDEIRAVAN  	NUMBER,
    NRLOTEVENDA    	NUMBER,
    NRESTABELEC    	NUMBER NOT NULL,
    NRCONCLANC     	NUMBER,
    NRPARCELA      	NUMBER,
    CDNSU          	VARCHAR2(50),
    NRAUTORIZACAO  	VARCHAR2(20),
    NRCARTAOTRUNC  	VARCHAR2(20),
    DTVENDA        	DATE,
    DTCREDITO      	DATE,
    VRBRUTVENDA 	FLOAT,
    VRTAXAADM 		FLOAT,
    VRCOBRADOTAXA 	FLOAT,
    VRLIQPGTO 		FLOAT,
    VRTAXAANT 		FLOAT,
    VRTAXAANTVENDA 	FLOAT,
    NRANTECIPACAO   	VARCHAR2(11),
    CDBANCO         	VARCHAR2(3),
    CDAGENCIA       	VARCHAR2(6),
    CDCONTCORR      	VARCHAR2(20),
    DSAJUSTE        	VARCHAR2(100),
    IDCONCILIADO    	VARCHAR2(1) DEFAULT 'P' NOT NULL,
		CONSTRAINT CKC_IDCONCILIADO_RETFINANCADQ CHECK (IDCONCILIADO IN ('C', 'I', 'P')),
    IDSTATUSVENDA   	VARCHAR2(1) DEFAULT 'L' NOT NULL,
		CONSTRAINT CKC_IDSTATUSVENDA_RETFINANCADQ CHECK (IDSTATUSVENDA IN ('A', 'C', 'E', 'L', 'P')),
    IDSITUACAO      	VARCHAR2(1) DEFAULT 'N' NOT NULL,
		CONSTRAINT CKC_IDSITUACAO_RETFINANCADQ CHECK (IDSITUACAO IN ('C', 'D', 'N')),
    NRRETORIGFINANC 	NUMBER,
    NRORG           	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
    IDATIVO         	VARCHAR2 (1) DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_RETFINANCADQ CHECK (IDATIVO IN ('N', 'S')),
    DTINCLUSAO      	DATE,
    DTULTATU        	DATE,
    NRORGINCLUSAO   	NUMBER       	NULL,
    CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
    NRORGULTATU     	NUMBER       	NULL,
    CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_RETFINANCADQ PRIMARY KEY (NRRETFINANCADQ)
)
/

-- ============================================================
--   TABLE: RETORIGFINANC
-- ============================================================ 

CREATE TABLE RETORIGFINANC
(
      NRRETORIGFINANC 	NUMBER NOT NULL,
      NRCTRLACESWS    	NUMBER NOT NULL,
      NRESTABELEC     	NUMBER NOT NULL,
      NMADQUIRENTE    	VARCHAR2 (100),
      NRADQUIRENTE    	NUMBER,
      CDPRODUTOADQ    	VARCHAR2(3),
      NMPRODUTOADQ    	VARCHAR2(100),
      NRPRODUTOADQ    	NUMBER,
      DTVENDA         	DATE,
      DTCREDITO       	DATE,
      CDLOTEVENDA     	VARCHAR2(20),
      NRAUTORIZACAO   	VARCHAR2(50),
      CDNSU           	VARCHAR2(50),
      NRTID           	VARCHAR2(20),
      VRBRUTVENDA 	FLOAT,
      VRTAXAADM 	FLOAT,
      VRCOBRADOTAXA 	FLOAT,
      VRLIQVENDA 	FLOAT,
      CDBANCO        	VARCHAR2(3),
      CDAGENCIA      	VARCHAR2(6),
      CDCONTCORR     	VARCHAR2(20),
      NRPARCELA      	NUMBER,
      NRQTPARCELA    	NUMBER,
      IDANTECIPADO   	VARCHAR2(1) DEFAULT 'N' NOT NULL,
		CONSTRAINT CKC_IDANTECIPADO_RETORIGFINANC CHECK (IDANTECIPADO IN ('N','S')),
      IDTIPOTRANS    	VARCHAR2(1) DEFAULT 'V' NOT NULL,
		CONSTRAINT CKC_IDTIPOTRANS_RETORIGFINANC CHECK (IDTIPOTRANS IN ('C','D', 'P','V')),
      DSTRANSACAO    	VARCHAR2(100),
      NRORG          	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
      IDATIVO        	VARCHAR2(1) DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_RETORIGFINANC CHECK (IDATIVO IN ('N', 'S')),
      DTINCLUSAO     	DATE,
      DTULTATU       	DATE,
      NRORGINCLUSAO   	NUMBER       	NULL,
      CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
      NRORGULTATU     	NUMBER       	NULL,
      CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_RETORIGFINANC PRIMARY KEY (NRRETORIGFINANC)
)
/

-- ============================================================
--   TABLE: RETORIGVENDA
-- ============================================================ 

CREATE TABLE RETORIGVENDA
(
      NRRETORIGVENDA 	NUMBER NOT NULL,
      NRCTRLACESWS   	NUMBER NOT NULL,
      NRESTABELEC    	NUMBER NOT NULL,
      NMADQUIRENTE   	VARCHAR2(100),
      NRADQUIRENTE   	NUMBER,
      CDPRODUTOADQ   	VARCHAR2(3),
      NMPRODUTOADQ   	VARCHAR2(100),
      NRPRODUTOADQ   	NUMBER,
      IDMODALIDADE   	VARCHAR2(1),
		CONSTRAINT CKC_IDMODALIDADE_RETORIGVENDA CHECK (IDMODALIDADE IN ('B', 'C', 'D', 'P')),
      DSMODALIDADE   	VARCHAR2(20),
      DTVENDA        	DATE,
      DTCREDITO      	DATE,
      CDLOTEVENDA    	VARCHAR2(20),
      NRAUTORIZACAO  	VARCHAR2(50),
      NRCARTAOTRUNC  	VARCHAR2(20),
      CDNSU          	VARCHAR2(50),
      NRTID          	VARCHAR2(20),
      VRBRUTVENDA 	FLOAT,
      VRTAXAADM 	FLOAT,
      VRCOBRADOTAXA 	FLOAT,
      VRLIQVENDA 	FLOAT,
      NRTERMINAL  	VARCHAR2(50),
      CDBANCO     	VARCHAR2(3),
      CDAGENCIA   	VARCHAR2(6),
      CDCONTCORR  	VARCHAR2(20),
      DTHORATRANS 	DATE,
      NRPARCELA   	NUMBER,
      NRQTPARCELA 	NUMBER DEFAULT 0,
      IDSTATUS    	VARCHAR2 (1),
		CONSTRAINT CKC_IDSTATUS_RETORIGVENDA CHECK (IDSTATUS IN ('A', 'C', 'P')),
      IDREJEITADO 	VARCHAR2 (1),
		CONSTRAINT CKC_IDREJEITADO_RETORIGVENDA CHECK (IDREJEITADO IN ('N', 'S')),
      IDCANCELADO 	VARCHAR2 (1),
		CONSTRAINT CKC_IDCANCELADO_RETORIGVENDA CHECK ( IDCANCELADO IN ('N', 'S')),
      DTPGTO      	DATE,
      VRLIQPGTO 	FLOAT,
      NRORG          	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
      IDATIVO        	VARCHAR2(1) DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_RETORIGVENDA CHECK ( IDATIVO IN ('N', 'S')),
      DTINCLUSAO     	DATE,
      DTULTATU       	DATE,
      NRORGINCLUSAO   	NUMBER       	NULL,
      CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
      NRORGULTATU     	NUMBER       	NULL,
      CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_RETORIGVENDA PRIMARY KEY (NRRETORIGVENDA)
)
/

-- ============================================================
--   TABLE: RETVENDAADQ
-- ============================================================

CREATE TABLE RETVENDAADQ
(
      NRRETVENDAADQ  	NUMBER 	NOT NULL,
      NRADQUIRENTE   	NUMBER 	NOT NULL,
      NRPRODUTOADQ   	NUMBER 	NOT NULL,
      NRBANDEIRAVAN  	NUMBER,
      NRLOTEVENDA    	NUMBER 	NOT NULL,
      NRESTABELEC    	NUMBER 	NOT NULL,
      NRRETORIGVENDA 	NUMBER,
      NRCONCLANC     	NUMBER,
      NRCONCLANCPGTO 	NUMBER,
      NRPARCELA      	NUMBER,
      NRQTPARCELA    	NUMBER 	DEFAULT 0 NOT NULL,
      DSPLANO        	VARCHAR2(10),
      CDNSU          	VARCHAR2(50),
      NRAUTORIZACAO  	VARCHAR2(50),
      NRCARTAOTRUNC  	VARCHAR2(20),
      DTVENDA        	DATE,
      DTCREDITO      	DATE,
      VRBRUTVENDA 	FLOAT,
      VRTAXAADM 	FLOAT,
      VRTAXAPREV 	FLOAT,
      VRLIQVENDA 	FLOAT,
      CDBANCO        	VARCHAR2(3),
      CDAGENCIA      	VARCHAR2(6),
      CDCONTCORR     	VARCHAR2(20),
      NRTID          	VARCHAR2(20),
      IDCONCILIADO   	VARCHAR2(1) 	 DEFAULT 'P' NOT NULL,
		CONSTRAINT CKC_IDCONCILIADO_RETVENDAADQ CHECK (IDCONCILIADO IN ('C', 'I', 'P')),
      NRORG          	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
      IDSITUACAO    	VARCHAR2(1) 	 DEFAULT 'N' NOT NULL,
		CONSTRAINT CKC_IDSITUACAO_RETVENDAADQ CHECK (IDSITUACAO IN ('C', 'D', 'N')),
      IDATIVO        	VARCHAR2(1) 	 DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_RETVENDAADQ CHECK ( IDATIVO IN ('N', 'S')),
      DTINCLUSAO     	DATE,
      DTULTATU       	DATE,
      NRORGINCLUSAO   	NUMBER       	NULL,
      CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
      NRORGULTATU     	NUMBER       	NULL,
      CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_RETVENDADQ PRIMARY KEY (NRRETVENDAADQ)
)
/

-- ============================================================
--   TABLE: TAXAADQPARC
-- ============================================================

CREATE TABLE TAXAADQPARC
(
      NRTAXAADQPARC 	NUMBER NOT NULL,
      NRADQUIRENTE  	NUMBER NOT NULL,
      QTPARCELA     	NUMBER NOT NULL,
      VRTAXAPARC 	FLOAT  NOT NULL,
      NRORG          	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
      IDATIVO        	VARCHAR2(1) DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_TAXAADQPARC CHECK (IDATIVO IN ('N','S')),
      DTINCLUSAO     	DATE,
      DTULTATU       	DATE,
      NRORGINCLUSAO   	NUMBER       	NULL,
      CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
      NRORGULTATU     	NUMBER       	NULL,
      CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_TAXAADQPARC PRIMARY KEY (NRTAXAADQPARC),
		CONSTRAINT UN_TAXAADQPARC UNIQUE (NRADQUIRENTE, QTPARCELA)
)
/

-- ============================================================
--   TABLE: TAXAADQPROD
-- ============================================================

CREATE TABLE TAXAADQPROD
(
      NRTAXAADQPROD 	NUMBER 	NOT NULL,
      NRADQUIRENTE  	NUMBER 	NOT NULL,
      NRPRODUTOADQ  	NUMBER 	NOT NULL,
      NRESTABELEC   	NUMBER,
      VRTAXAADM 	FLOAT 	NOT NULL,
      NRORG          	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
      IDATIVO        	VARCHAR2(1) DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_TAXAADQPROD CHECK (IDATIVO IN ('N','S')),
      DTINCLUSAO     	DATE,
      DTULTATU       	DATE,
      NRORGINCLUSAO   	NUMBER       	NULL,
      CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
      NRORGULTATU     	NUMBER       	NULL,
      CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_PRODUTOADQFIL PRIMARY KEY (NRTAXAADQPROD),
		CONSTRAINT UN_TAXAADQPROD UNIQUE (NRESTABELEC, NRADQUIRENTE, NRPRODUTOADQ)
)
/

-- ============================================================
--   TABLE: TAXAPERADQ
-- ============================================================

CREATE TABLE TAXAPERADQ
(
      NRTAXAPERADQ 	NUMBER 	NOT NULL,
      NRADQUIRENTE 	NUMBER 	NOT NULL,
      NRPRODUTOADQ 	NUMBER 	NOT NULL,
      DTINICIAL    	DATE 	NOT NULL,
      DTFINAL      	DATE 	NOT NULL,
      VRTAXAADM 	FLOAT 	NOT NULL,
      NRORG          	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
      IDATIVO        	VARCHAR2(1) DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_TAXAPERADQ CHECK (IDATIVO IN ('N', 'S')),
      DTINCLUSAO     	DATE,
      DTULTATU       	DATE,
      NRORGINCLUSAO   	NUMBER       	NULL,
      CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
      NRORGULTATU     	NUMBER       	NULL,
      CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_TAXAPERADQ PRIMARY KEY (NRTAXAPERADQ)
)
/

-- ============================================================
--   TABLE: TECNOLOGIAADQ
-- ============================================================

CREATE TABLE TECNOLOGIAADQ
(
      NRTECNOLOGADQ  	NUMBER 	NOT NULL,
      NRTIPOTECNOLOG 	NUMBER 	NOT NULL,
      NRADQUIRENTE   	NUMBER 	NOT NULL,
      NRESTABELEC    	NUMBER,
      VRALUGUEL 	FLOAT 	NOT NULL,
      NRORG          	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
      IDATIVO        	VARCHAR2(1) DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_TECNOLOGIAADQ CHECK (IDATIVO IN ('N','S')),
      DTINCLUSAO     	DATE,
      DTULTATU       	DATE,
      NRORGINCLUSAO   	NUMBER       	NULL,
      CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
      NRORGULTATU     	NUMBER       	NULL,
      CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_TECNOLOGIAADQ PRIMARY KEY (NRTECNOLOGADQ)
)
/

-- ============================================================
--   TABLE: TIPODIVERGENCIA
-- ============================================================

CREATE TABLE TIPODIVERGENCIA
(
      NRTPDIVERGENCIA  NUMBER 		NOT NULL,
      NRDIVCONCILIACAO NUMBER,
      IDDIVERGENCIA    VARCHAR2(1) 	NOT NULL,
		CONSTRAINT CKC_TIPODIVERG_IDDIVERGENCIA CHECK (IDDIVERGENCIA IN ('A', 'B', 'C', 'G', 'I', 'L', 'N', 'P', 'R', 'T', 'V')),
      DSTIPODIV        VARCHAR2(50) 	NOT NULL,
      IDTIPOCORDIV     VARCHAR2(1) 	DEFAULT 'A' NOT NULL,
		CONSTRAINT CKC_IDTIPOCOR_TIPODIVERGENCIA CHECK ( IDTIPOCORDIV IN ('A', 'I', 'U')),
      NRORG            NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
      IDATIVO          VARCHAR2(1) 	DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_TIPODIVERGENCIA CHECK (IDATIVO IN ('N','S')),
      DTINCLUSAO       DATE,
      DTULTATU         DATE,
      NRORGINCLUSAO    NUMBER       	NULL,
      CDOPERINCLUSAO   VARCHAR2(12)  	NULL,
      NRORGULTATU      NUMBER       	NULL,
      CDOPERULTATU     VARCHAR2(12)  	NULL,
		CONSTRAINT PK_TIPODIVERGENCIA PRIMARY KEY (NRTPDIVERGENCIA),
		CONSTRAINT UN_TIPODIVERGENCIA UNIQUE (IDDIVERGENCIA)
)
/

-- ============================================================
--   TABLE: TIPOTECNOLOGIA
-- ============================================================

CREATE TABLE TIPOTECNOLOGIA
(
      NRTIPOTECNOLOG 	NUMBER 	  NOT NULL,
      NMTIPOTECNOLOG 	VARCHAR2(30) NOT NULL,
      NRORG          	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
      IDATIVO        	VARCHAR2(1)  DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_TIPOTECNOLOGIA CHECK (IDATIVO IN ('N','S')),
      DTINCLUSAO     	DATE,
      DTULTATU       	DATE,
      NRORGINCLUSAO   	NUMBER       	NULL,
      CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
      NRORGULTATU     	NUMBER       	NULL,
      CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_TIPOTECNOLOGIA PRIMARY KEY (NRTIPOTECNOLOG)
)
/

-- ============================================================
--   TABLE: VALIDACAOADQ
-- ============================================================

CREATE TABLE VALIDACAOADQ
(	
      NRVALIDACAOADQ 	NUMBER 	 NOT NULL,
      NRADQUIRENTE   	NUMBER 	 NOT NULL,
      IDNSU          	VARCHAR2(1) DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDNSU_VALIDACAOADQ CHECK (IDNSU IN ('N','S')),
      IDNSUPOS       	VARCHAR2(1) DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDNSUPOS_VALIDACAOADQ CHECK (IDNSUPOS IN ('N','S')),
      IDTOLERANCIA   	VARCHAR2(1) DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDTOL_VALIDACAOADQ CHECK (IDTOLERANCIA IN ('N','S')),
      IDAUTORIZACAO  	VARCHAR2(1) DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDAUT_VALIDACAOADQ CHECK (IDAUTORIZACAO IN ('N','S')),
      IDBANCO        	VARCHAR2(1) DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDBANCO_VALIDACAOADQ CHECK (IDBANCO IN ('N','S')),
      IDAGENCIA      	VARCHAR2(1) DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDAGENCIA_VALIDACAOADQ CHECK (IDAGENCIA IN ('N','S')),
      IDCONTCORR     	VARCHAR2(1) DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDCONTCORR_VALIDACAOADQ CHECK (IDCONTCORR IN ('N','S')),
      IDPRODUTOADQ   	VARCHAR2(1) DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDPROD_VALIDACAOADQ CHECK (IDPRODUTOADQ IN ('N','S')),
      IDADQUIRENTE   	VARCHAR2(1) DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDADQ_VALIDACAOADQ CHECK (IDADQUIRENTE IN ('N','S')),
      IDBANDEIRA     	VARCHAR2(1) DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDBAND_VALIDACAOADQ CHECK (IDBANDEIRA IN ('N','S')),
      NRORG          	NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
      IDATIVO        	VARCHAR2(1) DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_VALIDACAOADQ CHECK (IDATIVO IN ('N','S')),
      DTINCLUSAO     	DATE,
      DTULTATU      	DATE,
      NRORGINCLUSAO   	NUMBER       	NULL,
      CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
      NRORGULTATU     	NUMBER       	NULL,
      CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_VALIDACAOADQ PRIMARY KEY (NRVALIDACAOADQ)
)
/

-- ============================================================
--   TABLE: VALIDACAOADQEST
-- ============================================================

CREATE TABLE VALIDACAOADQEST
(
      NRVALIDACAOADQEST NUMBER 		NOT NULL,
      NRADQUIRENTE      NUMBER 		NOT NULL,
      NRESTABELEC       NUMBER 		NOT NULL,
      IDNSU             VARCHAR2(1) 	DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDNSU_VALIDACAOADQFIL CHECK (IDNSU IN ('N','S')),
      IDNSUPOS          VARCHAR2(1) 	DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDNSUPOS_VALIDACAOADQFIL CHECK (IDNSUPOS IN ('N','S')),
      IDTOLERANCIA      VARCHAR2(1) 	DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDTOL_VALIDACAOADQFIL CHECK (IDTOLERANCIA IN ('N','S')),
      IDAUTORIZACAO     VARCHAR2(1) 	DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDAUT_VALIDACAOADQFIL CHECK (IDAUTORIZACAO IN ('N','S')),
      IDBANCO           VARCHAR2(1) 	DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDBANCO_VALIDACAOADQFIL CHECK (IDBANCO IN ('N','S')),
      IDAGENCIA         VARCHAR2(1) 	DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDAGENCIA_VALIDACAOADQFIL CHECK (IDAGENCIA IN ('N','S')),
      IDCONTCORR        VARCHAR2(1) 	DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDCONTC_VALIDACAOADQFIL CHECK (IDCONTCORR IN ('N','S')),
      IDPRODUTOADQ      VARCHAR2(1) 	NOT NULL,
		CONSTRAINT CKC_IDPROD_VALIDACAOADQFIL CHECK (IDPRODUTOADQ IN ('N','S')),
      IDADQUIRENTE      VARCHAR2(1) 	DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDADQ_VALIDACAOADQFIL CHECK (IDADQUIRENTE IN ('N','S')),
      IDBANDEIRA        VARCHAR2(1) 	DEFAULT 'S' NOT NULL,
		CONSTRAINT CKC_IDBAND_VALIDACAOADQFIL CHECK (IDBANDEIRA IN ('N','S')),
      NRORG             NUMBER DEFAULT SYS_CONTEXT('nrorg_ctx','nrorg') NOT NULL,
      IDATIVO           VARCHAR2(1)	DEFAULT 'S',
		CONSTRAINT CKC_IDATIVO_VALIDACAOADQFIL CHECK (IDATIVO IN ('N','S')),
      DTINCLUSAO        DATE,
      DTULTATU          DATE,
      NRORGINCLUSAO   	NUMBER       	NULL,
      CDOPERINCLUSAO 	VARCHAR2(12)  	NULL,
      NRORGULTATU     	NUMBER       	NULL,
      CDOPERULTATU    	VARCHAR2(12)  	NULL,
		CONSTRAINT PK_VALIDACAOADQEST PRIMARY KEY (NRVALIDACAOADQEST),
		CONSTRAINT UN_VALIDACAOADQEST UNIQUE (NRADQUIRENTE, NRESTABELEC)
)
/

-- ============================================================
--   TABLE: CONCILIACAOLANC
-- ============================================================ 

ALTER TABLE CONCILIACAOLANC
	ADD CONSTRAINT FKVND00589CONCILIACAOLANC FOREIGN KEY (NRDIVCONCILIACAO)
		REFERENCES DIVCONCILIACAO (NRDIVCONCILIACAO)
/

-- ============================================================
--   TABLE: CONSMOVCAIXA
-- ============================================================ 

ALTER TABLE CONSMOVCAIXA
	ADD CONSTRAINT FKVND00590CONSMOVCAIXA FOREIGN KEY (NRCONCLANC)
		REFERENCES CONCILIACAOLANC (NRCONCLANC)
/

ALTER TABLE CONSMOVCAIXA
	ADD CONSTRAINT FKVND00591CONSMOVCAIXA FOREIGN KEY (CDTIPORECE)
		REFERENCES TIPORECE (CDTIPORECE)
/

-- ============================================================
--   TABLE: DIVCONCILIACAO 
-- ============================================================ 

ALTER TABLE DIVCONCILIACAO
	ADD CONSTRAINT FKVND00592DIVCONCILIACAO FOREIGN KEY (NRCONSMOVCAIXA)
		REFERENCES CONSMOVCAIXA (NRCONSMOVCAIXA)
/

ALTER TABLE DIVCONCILIACAO
	ADD CONSTRAINT FKVND00593DIVCONCILIACAO FOREIGN KEY (NRRETFINANCADQ)
		REFERENCES RETFINANCADQ (NRRETFINANCADQ)
/

ALTER TABLE DIVCONCILIACAO
	ADD CONSTRAINT FKVND00594DIVCONCILIACAO FOREIGN KEY (NRRETVENDAADQ)
		REFERENCES RETVENDAADQ (NRRETVENDAADQ)
/

ALTER TABLE DIVCONCILIACAO
	ADD CONSTRAINT FKVND00595DIVCONCILIACAO FOREIGN KEY (NRTPDIVERGENCIA)
			REFERENCES TIPODIVERGENCIA (NRTPDIVERGENCIA)
/

-- ============================================================
--   TABLE: ESTABELECIMENTO  
-- ============================================================ 

ALTER TABLE ESTABELECIMENTO
	ADD CONSTRAINT FKVND00596ESTABELECIMENTO FOREIGN KEY (CDFILIAL)
		REFERENCES FILIAL (CDFILIAL)
/

-- ============================================================
--   TABLE: LOTEVENDA   
-- ============================================================ 

ALTER TABLE LOTEVENDA
	ADD CONSTRAINT FKVND00597LOTEVENDA FOREIGN KEY (NRADQUIRENTE)
		REFERENCES ADQUIRENTE (NRADQUIRENTE)
/


-- ============================================================
--   TABLE: PRODUTOADQ  
-- ============================================================ 

ALTER TABLE PRODUTOADQ 
	ADD CONSTRAINT FKVND00599PRODUTOADQ FOREIGN KEY (NRBANDEIRAVAN)
		REFERENCES BANDEIRAVAN (NRBANDEIRAVAN)
/

ALTER TABLE PRODUTOADQ
	ADD CONSTRAINT FKVND00600PRODUTOADQ FOREIGN KEY (CDTIPORECE)
		REFERENCES TIPORECE (CDTIPORECE)
/

-- ============================================================
--   TABLE: RETFINANCADQ   
-- ============================================================ 

ALTER TABLE RETFINANCADQ 
	ADD CONSTRAINT FKVND00601RETFINANCADQ FOREIGN KEY (NRADQUIRENTE)
		REFERENCES ADQUIRENTE (NRADQUIRENTE)
/

ALTER TABLE RETFINANCADQ
	ADD CONSTRAINT FKVND00602RETFINANCADQ FOREIGN KEY (NRBANDEIRAVAN)
		REFERENCES BANDEIRAVAN (NRBANDEIRAVAN)
/

ALTER TABLE RETFINANCADQ
	ADD CONSTRAINT FKVND00603RETFINANCADQ FOREIGN KEY (NRESTABELEC)
		REFERENCES ESTABELECIMENTO (NRESTABELEC)
/

ALTER TABLE RETFINANCADQ
	ADD CONSTRAINT FKVND00604RETFINANCADQ FOREIGN KEY (NRLOTEVENDA)
		REFERENCES LOTEVENDA (NRLOTEVENDA)
/

ALTER TABLE RETFINANCADQ
	ADD CONSTRAINT FKVND00605RETFINANCADQ FOREIGN KEY (NRPRODUTOADQ)
		REFERENCES PRODUTOADQ (NRPRODUTOADQ)
/

ALTER TABLE RETFINANCADQ
	ADD CONSTRAINT FKVND00606RETFINANCADQ FOREIGN KEY (NRRETORIGFINANC)
		REFERENCES RETORIGFINANC (NRRETORIGFINANC)
/

-- ============================================================
--   TABLE: RETORIGFINANC   
-- ============================================================ 

ALTER TABLE RETORIGFINANC
	ADD CONSTRAINT FKVND00607RETORIGFINANC FOREIGN KEY (NRCTRLACESWS)
		REFERENCES CONTROLEACESWS (NRCTRLACESWS)
/

ALTER TABLE RETORIGFINANC
	ADD CONSTRAINT FKVND00608RETORIGFINANC FOREIGN KEY (NRESTABELEC)
		REFERENCES ESTABELECIMENTO (NRESTABELEC)
/

ALTER TABLE RETORIGFINANC
	ADD CONSTRAINT FKVND00609RETORIGFINANC FOREIGN KEY (NRPRODUTOADQ)
		REFERENCES PRODUTOADQ (NRPRODUTOADQ)
/

-- ============================================================
--   TABLE: RETORIGVENDA    
-- ============================================================ 

ALTER TABLE RETORIGVENDA
	ADD CONSTRAINT FKVND00610RETORIGVENDA FOREIGN KEY (NRADQUIRENTE)
		REFERENCES ADQUIRENTE (NRADQUIRENTE)
/

ALTER TABLE RETORIGVENDA
	ADD CONSTRAINT FKVND00611RETORIGVENDA FOREIGN KEY (NRCTRLACESWS)
		REFERENCES CONTROLEACESWS (NRCTRLACESWS)
/

ALTER TABLE RETORIGVENDA
	ADD CONSTRAINT FKVND00612RETORIGVENDA FOREIGN KEY (NRESTABELEC)
		REFERENCES ESTABELECIMENTO (NRESTABELEC)
/

ALTER TABLE RETORIGVENDA
	ADD CONSTRAINT FKVND00613RETORIGVENDA FOREIGN KEY (NRPRODUTOADQ)
		REFERENCES PRODUTOADQ (NRPRODUTOADQ)
/

-- ============================================================
--   TABLE: RETVENDAADQ     
-- ============================================================ 

ALTER TABLE RETVENDAADQ
	ADD CONSTRAINT FKVND00614RETVENDAADQ FOREIGN KEY (NRADQUIRENTE)
		REFERENCES ADQUIRENTE (NRADQUIRENTE) 
/

ALTER TABLE RETVENDAADQ
	ADD CONSTRAINT FKVND00615RETVENDAADQ FOREIGN KEY (NRBANDEIRAVAN)
		REFERENCES BANDEIRAVAN (NRBANDEIRAVAN)
/

ALTER TABLE RETVENDAADQ
	ADD CONSTRAINT FKVND00616RETVENDAADQ FOREIGN KEY (NRCONCLANC)
		REFERENCES CONCILIACAOLANC (NRCONCLANC)
/

ALTER TABLE RETVENDAADQ
	ADD CONSTRAINT FKVND00617RETVENDAADQ FOREIGN KEY (NRESTABELEC)
		REFERENCES ESTABELECIMENTO (NRESTABELEC)
/

ALTER TABLE RETVENDAADQ
	ADD CONSTRAINT FKVND00618RETVENDAADQ FOREIGN KEY (NRLOTEVENDA)
		REFERENCES LOTEVENDA (NRLOTEVENDA)
/

ALTER TABLE RETVENDAADQ
	ADD CONSTRAINT FKVND00619RETVENDAADQ FOREIGN KEY (NRPRODUTOADQ)
		REFERENCES PRODUTOADQ (NRPRODUTOADQ)
/

ALTER TABLE RETVENDAADQ
	ADD CONSTRAINT FKVND00620RETVENDA FOREIGN KEY (NRRETORIGVENDA)
		REFERENCES RETORIGVENDA (NRRETORIGVENDA)
/

-- ============================================================
--   TABLE: TAXAADQPARC      
-- ============================================================

ALTER TABLE TAXAADQPARC
	ADD CONSTRAINT FKVND00621TAXAADQPARC FOREIGN KEY (NRADQUIRENTE)
		REFERENCES ADQUIRENTE (NRADQUIRENTE)
/

-- ============================================================
--   TABLE: TAXAADQPROD
-- ============================================================

ALTER TABLE TAXAADQPROD
	ADD CONSTRAINT FKVND00598PRODUTOADQFIL FOREIGN KEY (NRPRODUTOADQ)
		REFERENCES PRODUTOADQ (NRPRODUTOADQ)
/

ALTER TABLE TAXAADQPROD
	ADD CONSTRAINT FKVND00622TAXAADQPROD FOREIGN KEY (NRADQUIRENTE)
		REFERENCES ADQUIRENTE (NRADQUIRENTE)
/

ALTER TABLE TAXAADQPROD
	ADD CONSTRAINT FKVND00623TAXAADQPROD FOREIGN KEY (NRESTABELEC)
		REFERENCES ESTABELECIMENTO (NRESTABELEC)
/

-- ============================================================
--   TABLE: TAXAPERADQ
-- ============================================================

ALTER TABLE TAXAPERADQ
	ADD CONSTRAINT FKVND00624TAXAPERADQ FOREIGN KEY (NRADQUIRENTE)
		REFERENCES ADQUIRENTE (NRADQUIRENTE)
/

ALTER TABLE TAXAPERADQ
	ADD CONSTRAINT FKVND00625TAXAPERADQ FOREIGN KEY (NRPRODUTOADQ)
		REFERENCES PRODUTOADQ (NRPRODUTOADQ)
/

-- ============================================================
--   TABLE: TECNOLOGIAADQ
-- ============================================================

ALTER TABLE TECNOLOGIAADQ
	ADD CONSTRAINT FKVND00626TECNOLOGADQ FOREIGN KEY (NRADQUIRENTE)
		REFERENCES ADQUIRENTE (NRADQUIRENTE)
/

ALTER TABLE TECNOLOGIAADQ
	ADD CONSTRAINT FKVND00627TECNOLOGADQ FOREIGN KEY (NRESTABELEC)
		REFERENCES ESTABELECIMENTO (NRESTABELEC)
/

ALTER TABLE TECNOLOGIAADQ
	ADD CONSTRAINT FKVND00628TECNOLOGADQ FOREIGN KEY (NRTIPOTECNOLOG)
		REFERENCES TIPOTECNOLOGIA (NRTIPOTECNOLOG)
/

-- ============================================================
--   TABLE: VALIDACAOADQEST 
-- ============================================================

ALTER TABLE VALIDACAOADQEST
	ADD CONSTRAINT FKVND00629VALIDACAOADQEST FOREIGN KEY (NRADQUIRENTE)
		REFERENCES ADQUIRENTE (NRADQUIRENTE)
/

ALTER TABLE VALIDACAOADQEST
	ADD CONSTRAINT FKVND00630VALIDACAOADQEST FOREIGN KEY (NRESTABELEC)
		REFERENCES ESTABELECIMENTO (NRESTABELEC)
/

ALTER TABLE VALIDACAOADQ
	ADD CONSTRAINT FKVND00631VALIDACAOADQ FOREIGN KEY (NRADQUIRENTE)	
		REFERENCES ADQUIRENTE (NRADQUIRENTE)
/


BEGIN
   DECLARE
      V_COUNT NUMBER;
      V_SEQVARCHAR VARCHAR2(50);
      V_SEQUENCIAL NUMBER;
      PROCEDURE INSEREPRODUTO(P_CODIGO IN VARCHAR, P_NMPRODUTO IN VARCHAR, P_VISIVEL IN VARCHAR)
      AS
      BEGIN
         BEGIN
            SELECT COUNT(P.NRPRODUTOADQ)
              INTO V_COUNT
              FROM PRODUTOADQ P
             WHERE P.NMPRODUTOADQ = P_NMPRODUTO;
         EXCEPTION
            WHEN NO_DATA_FOUND THEN
               V_COUNT := 0;
         END;
         IF V_COUNT = 0 THEN
             NOVO_CODIGO_NT('PRODUTOADQ', V_SEQVARCHAR);
             V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);
             INSERT INTO PRODUTOADQ
               (NRPRODUTOADQ, CDPRODUTOADQ, NMPRODUTOADQ, CDTIPORECE, VRTOLERANCIA, NRBANDEIRAVAN, IDVISIVEL)
             VALUES
               (V_SEQUENCIAL, P_CODIGO, P_NMPRODUTO, NULL, 0.1, NULL, P_VISIVEL);
         END IF;
      END;

      PROCEDURE INSEREADQUIRENTE(P_CODIGO IN VARCHAR,
                                 P_NMADQUIRENTE IN VARCHAR,
                                 P_VISIVEL IN VARCHAR)
      AS
      BEGIN
         BEGIN
            SELECT COUNT(A.NRADQUIRENTE)
              INTO V_COUNT
              FROM ADQUIRENTE A
             WHERE A.NMADQUIRENTE = P_NMADQUIRENTE;
         EXCEPTION
            WHEN NO_DATA_FOUND THEN
               V_COUNT := 0;
         END;
         IF V_COUNT = 0 THEN
             /* Insere as ADQUIRENTES (DONAS DAS MAQUININHAS) */
            NOVO_CODIGO_NT('ADQUIRENTE', V_SEQVARCHAR);
            V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);
            INSERT INTO ADQUIRENTE
               (NRADQUIRENTE, CDADQUIRENTE, NMADQUIRENTE,
                VRTAXAADM, VRTOLERANCIA, IDVISIVEL)
            VALUES
               (V_SEQUENCIAL, P_CODIGO, P_NMADQUIRENTE, 0, 0.1, P_VISIVEL);
         END IF;
      END;

      PROCEDURE INSEREBANDEIRA(P_CODIGO IN VARCHAR,
                               P_NMBANDEIRA IN VARCHAR,
                               P_VISIVEL IN VARCHAR)
      AS
      BEGIN
         BEGIN
            SELECT COUNT(*)
              INTO V_COUNT
              FROM BANDEIRAVAN B
             WHERE B.NMBANDEIRA = P_NMBANDEIRA;
         EXCEPTION
            WHEN NO_DATA_FOUND THEN
               V_COUNT := 0;
         END;
         IF V_COUNT = 0 THEN
            NOVO_CODIGO_NT('BANDEIRAVAN', V_SEQVARCHAR);
            V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);
            INSERT INTO BANDEIRAVAN
               (NRBANDEIRAVAN, CDBANDEIRA, NMBANDEIRA, IDVISIVEL, NMCONTROLE)
            VALUES
               (V_SEQUENCIAL, LPAD(TO_CHAR(P_CODIGO), 3, '0'), P_NMBANDEIRA, P_VISIVEL, P_NMBANDEIRA);
         END IF;
      END;
   BEGIN
      V_COUNT := 0;
      SELECT COUNT(*)
        INTO V_COUNT
        FROM BANDEIRAVAN;
      IF V_COUNT = 0 THEN
         INSEREBANDEIRA('1', 'VISA', 'S');
         INSEREBANDEIRA('2', 'MASTER', 'S');
         INSEREBANDEIRA('3', 'ELO', 'S');
         INSEREBANDEIRA('4', 'DINERS', 'S');
         INSEREBANDEIRA('5', 'AMEX', 'S');
         INSEREBANDEIRA('6', 'DISCOVER', 'N');
         INSEREBANDEIRA('7', 'GOOD CARD', 'N');
         INSEREBANDEIRA('8', 'SODEXO', 'S');
         INSEREBANDEIRA('9', 'VR', 'S');
         INSEREBANDEIRA('10', 'BANESCARD', 'N');
         INSEREBANDEIRA('11', 'CABAL', 'N');
         INSEREBANDEIRA('12', 'GREEN CARD', 'N');
         INSEREBANDEIRA('13', 'AVISTA', 'N');
         INSEREBANDEIRA('14', 'POLICARD', 'N');
         INSEREBANDEIRA('15', 'VALECARD', 'N');
         INSEREBANDEIRA('16', 'JCB', 'N');
         INSEREBANDEIRA('17', 'CREDSYSTEM', 'N');
      END IF;
      V_COUNT := 0;
      SELECT COUNT(*)
        INTO V_COUNT
        FROM TIPODIVERGENCIA;
      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, 'T', 'TAXA', 'A');

         NOVO_CODIGO_NT('TIPODIVERGENCIA', V_SEQVARCHAR);
         V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);
         INSERT INTO TIPODIVERGENCIA
            (NRTPDIVERGENCIA, IDDIVERGENCIA, DSTIPODIV, IDTIPOCORDIV)
         VALUES
            (V_SEQUENCIAL, 'V', 'VALOR LÍQUIDO', 'A');

         NOVO_CODIGO_NT('TIPODIVERGENCIA', V_SEQVARCHAR);
         V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);
         INSERT INTO TIPODIVERGENCIA
            (NRTPDIVERGENCIA, IDDIVERGENCIA, DSTIPODIV, IDTIPOCORDIV)
         VALUES
            (V_SEQUENCIAL, 'A', 'ADQUIRENTE', 'A');

         NOVO_CODIGO_NT('TIPODIVERGENCIA', V_SEQVARCHAR);
         V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);
         INSERT INTO TIPODIVERGENCIA
            (NRTPDIVERGENCIA, IDDIVERGENCIA, DSTIPODIV, IDTIPOCORDIV)
         VALUES
            (V_SEQUENCIAL, 'P', 'PRODUTO', 'A');

         NOVO_CODIGO_NT('TIPODIVERGENCIA', V_SEQVARCHAR);
         V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);

         INSERT INTO TIPODIVERGENCIA
            (NRTPDIVERGENCIA, IDDIVERGENCIA, DSTIPODIV, IDTIPOCORDIV)
         VALUES
            (V_SEQUENCIAL, 'R', 'Nº AUTORIZACAO', 'A');

         NOVO_CODIGO_NT('TIPODIVERGENCIA', V_SEQVARCHAR);
         V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);

         INSERT INTO TIPODIVERGENCIA
            (NRTPDIVERGENCIA, IDDIVERGENCIA, DSTIPODIV, IDTIPOCORDIV)
         VALUES
            (V_SEQUENCIAL, 'B', 'BANDEIRA', 'A');
      
         NOVO_CODIGO_NT('TIPODIVERGENCIA', V_SEQVARCHAR);
         V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);
         INSERT INTO TIPODIVERGENCIA
            (NRTPDIVERGENCIA, IDDIVERGENCIA, DSTIPODIV, IDTIPOCORDIV)
         VALUES
            (V_SEQUENCIAL, 'N', 'NSU', 'U');      

         NOVO_CODIGO_NT('TIPODIVERGENCIA', V_SEQVARCHAR);
         V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);
         INSERT INTO TIPODIVERGENCIA
            (NRTPDIVERGENCIA, IDDIVERGENCIA, DSTIPODIV, IDTIPOCORDIV)
         VALUES
            (V_SEQUENCIAL, 'I', 'VENDA INEXISTENTE', 'I');
         COMMIT;

         NOVO_CODIGO_NT('TIPODIVERGENCIA', V_SEQVARCHAR);
         V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);
         INSERT INTO TIPODIVERGENCIA
            (NRTPDIVERGENCIA, IDDIVERGENCIA, DSTIPODIV, IDTIPOCORDIV)
         VALUES
            (V_SEQUENCIAL, 'L', 'ALUGUEL DE TECNOLOGIA', 'I');
         COMMIT;
      END IF;

      V_COUNT := 0;
      BEGIN
         SELECT COUNT(*)
           INTO V_COUNT
           FROM PRODUTOADQ;
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_COUNT := 0;
      END;
      IF V_COUNT = 0 THEN
         INSEREPRODUTO('1', 'VISA CREDITO A VISTA', 'S');
         INSEREPRODUTO('2', 'VISA ELECTRON DEBITO A VISTA', 'S');
         INSEREPRODUTO('3', 'VISA PARCELADO LOJA', 'S');
         INSEREPRODUTO('4', 'MASTER CREDITO', 'S');
         INSEREPRODUTO('5', 'MAESTRO', 'S');
         INSEREPRODUTO('6', 'MASTER PARCELADO', 'S');
         INSEREPRODUTO('7', 'ELO CREDITO', 'S');
         INSEREPRODUTO('8', 'ELO DEBITO A VISTA', 'S');
         INSEREPRODUTO('9', 'ELO PARCELADO LOJA', 'S');
         INSEREPRODUTO('10', 'DINERS PARCELADO', 'S');
         INSEREPRODUTO('11', 'AGIPLAN CREDITO A VISTA', 'N');
         INSEREPRODUTO('12', 'AGIPLAN PARCELADO LOJA', 'N');
         INSEREPRODUTO('13', 'BANESCARD CREDITO A VISTA', 'N');
         INSEREPRODUTO('14', 'BANESCARD PARCELADO LOJA', 'N');
         INSEREPRODUTO('15', 'ESPLANADA CREDITO A VISTA', 'N');
         INSEREPRODUTO('16', 'CREDZ CREDITO A VISTA', 'N');
         INSEREPRODUTO('17', 'ESPLANADA PARCELADO LOJA', 'N');
         INSEREPRODUTO('18', 'CREDZ PARCELADO LOJA', 'N');
         INSEREPRODUTO('19', 'ELO AGRO DEBITO', 'N');
         INSEREPRODUTO('20', 'ELO AGRO CUSTEIO', 'N');
         INSEREPRODUTO('21', 'ELO AGRO INVESTIMENTO', 'N');
         INSEREPRODUTO('22', 'ELO AGRO CUSTEIO + DEBITO', 'N');
         INSEREPRODUTO('23', 'ELO AGRO INVESTIMENTO + DEBITO', 'N');
         INSEREPRODUTO('24', 'DISCOVER CREDITO A VISTA', 'N');
         INSEREPRODUTO('25', 'DINERS CREDITO A VISTA', 'N');
         INSEREPRODUTO('27', 'AGRO CUSTEIO + ELECTRON', 'N');
         INSEREPRODUTO('28', 'AGRO INVESTIMENTO + ELECTRON', 'N');
         INSEREPRODUTO('29', 'FCO INVESTIMENTO', 'N');
         INSEREPRODUTO('30', 'AGRO ELECTRON', 'N');
         INSEREPRODUTO('31', 'AGRO CUSTEIO', 'N');
         INSEREPRODUTO('32', 'AGRO INVESTIMENTO', 'N');
         INSEREPRODUTO('33', 'FCO GIRO', 'N');
         INSEREPRODUTO('34', 'JCB', 'N');
         INSEREPRODUTO('35', 'VISA SAQUE CARTAO DEBITO', 'N');
         INSEREPRODUTO('36', 'VISA VALE FLEX CAR', 'N');
         INSEREPRODUTO('37', 'CREDSYSTEM CREDITO A VISTA', 'N');
         INSEREPRODUTO('38', 'CREDSYSTEM PARCELADO LOJA', 'N');
         INSEREPRODUTO('39', 'VISA ELECTRON PRE-DATADO', 'N');
         INSEREPRODUTO('40', 'VISA ALELO REFEICAO', 'N');
         INSEREPRODUTO('41', 'VISA ALELO ALIMENTACAO', 'N');
         INSEREPRODUTO('42', 'ALELO AUTO', 'N');
         INSEREPRODUTO('43', 'SOROCRED CREDITO A VISTA', 'N');
         INSEREPRODUTO('44', 'SOROCRED PARCELADO LOJA', 'N');
         INSEREPRODUTO('45', 'VISA CREDIARIO', 'N');
         INSEREPRODUTO('46', 'ELO ALELO REFEICAO', 'N');
         INSEREPRODUTO('47', 'ELO ALELO ALIMENTACAO', 'N');
         INSEREPRODUTO('48', 'VISA VALE CULTURA', 'N');
         INSEREPRODUTO('49', 'BANESCARD DEBITO', 'N');
         INSEREPRODUTO('51', 'CABAL DEBITO', 'N');
         INSEREPRODUTO('52', 'CABAL PARCELADO LOJA', 'N');
         INSEREPRODUTO('54', 'CABAL CREDITO A VISTA', 'N');
         INSEREPRODUTO('57', 'CREDSYSTEM CREDITO A VISTA', 'N');
         INSEREPRODUTO('58', 'CREDSYSTEM DEBITO', 'N');
         INSEREPRODUTO('60', 'CUP CREDITO A VISTA', 'N');
         INSEREPRODUTO('61', 'CUP DEBITO', 'N');
         INSEREPRODUTO('62', 'CUP PARCELADO LOJA', 'N');
         INSEREPRODUTO('64', 'DINERS DEBITO', 'N');
         INSEREPRODUTO('66', 'HIPERCARD CREDITO A VISTA', 'N');
         INSEREPRODUTO('67', 'HIPER', 'N');
         INSEREPRODUTO('68', 'HIPERCARD PARCELADO LOJA', 'N');
         INSEREPRODUTO('69', 'SICREDI DEBITO', 'N');
         INSEREPRODUTO('70', 'SICREDI CREDITO A VISTA', 'N');
         INSEREPRODUTO('71', 'SICREDI PARCELADO LOJA', 'N');
         INSEREPRODUTO('72', 'ELO CREDIARIO', 'N');
         INSEREPRODUTO('73', 'ELO CONSTRUCARD', 'N');
         INSEREPRODUTO('74', 'VISA PEDAGIO', 'N');
         INSEREPRODUTO('75', 'VISA CAPITAL DE GIRO', 'N');
         INSEREPRODUTO('76', 'VISA CREDITO IMOBILIARIO', 'N');
         INSEREPRODUTO('77', 'VISA ELECTRON PAGAMENTO CARNE', 'N');
         INSEREPRODUTO('78', 'MASTERCARD MINHA CASA MELHOR', 'N');
         INSEREPRODUTO('79', 'ELO CREDITO IMOBILIARIO', 'N');
         INSEREPRODUTO('80', 'ELO MINHA CASA MELHOR', 'N');
         INSEREPRODUTO('81', 'SOROCRED DEBITO', 'N');
         INSEREPRODUTO('82', 'CREDISHOP', 'N');
         INSEREPRODUTO('98', 'NAO CONCILIADA', 'N');
         INSEREPRODUTO('99', 'NAO INFORMADO', 'N');
         INSEREPRODUTO('197', 'AMEX CREDITO A VISTA', 'N');
         INSEREPRODUTO('198', 'AMEX CREDITO PARCELADO', 'N');
         INSEREPRODUTO('300', 'SODEXO', 'S');
         INSEREPRODUTO('301', 'TICKET ALIMENTACAO', 'N');
         INSEREPRODUTO('302', 'VR ALIMENTACAO', 'S');
         INSEREPRODUTO('303', 'TICKET REFEICAO', 'S');
         INSEREPRODUTO('304', 'TICKET PAPEL', 'S');
         INSEREPRODUTO('305', 'BANRICARD DEBITO', 'N');
         INSEREPRODUTO('306', 'BANRICARD CREDITO', 'N');
         INSEREPRODUTO('307', 'BANRICARD PARCELADO', 'N');
         INSEREPRODUTO('308', 'VERDECARD DEBITO', 'N');
         INSEREPRODUTO('309', 'VERDECARD CREDITO', 'N');
         INSEREPRODUTO('310', 'VERDECARD PARCELADO', 'N');
         INSEREPRODUTO('311', 'BANRICOMPRAS DEBITO', 'N');
         INSEREPRODUTO('312', 'BANRICOMPRAS CREDITO', 'N');
         INSEREPRODUTO('313', 'BANRICOMPRAS PARCELADO', 'N');
         INSEREPRODUTO('314', 'BANRICOMPRAS PRÉ-DATADO', 'N');
         INSEREPRODUTO('315', 'ECX CARD CREDITO', 'N');
         INSEREPRODUTO('316', 'ECX CARD PARCELADO', 'N');
         INSEREPRODUTO('317', 'VISA CREDITO CONVERSOR DE MOEDA', 'N');
         INSEREPRODUTO('318', 'MASTER PEDÁGIO', 'N');
         INSEREPRODUTO('319', 'ELO CARNÊ', 'N');
         INSEREPRODUTO('320', 'MASTER CARNÊ', 'N');
         INSEREPRODUTO('321', 'MASTERCARD CREDITO CONVERSOR MOEDA', 'N');
         INSEREPRODUTO('322', 'GOODCARD DEBITO', 'N');
         INSEREPRODUTO('323', 'GOODCARD CREDITO', 'N');
         INSEREPRODUTO('324', 'GOODCARD CREDITO PARCELADO', 'N');
         INSEREPRODUTO('325', 'GOODCARD VOUCHER', 'N');
         INSEREPRODUTO('326', 'TICKET', 'S');
         INSEREPRODUTO('327', 'TICKET PARCELADO', 'N');
         INSEREPRODUTO('328', 'POLICARD TEF (DEBITO)', 'N');
         INSEREPRODUTO('329', 'SODEXO REFEICAO', 'S');
         INSEREPRODUTO('330', 'SODEXO ALIMENTACAO', 'S');
         INSEREPRODUTO('331', 'SODEXO PREMIUM PASS', 'N');
         INSEREPRODUTO('332', 'SODEXO GIFT PASS', 'N');
         INSEREPRODUTO('333', 'SODEXO CULTURA PASS', 'N');
         INSEREPRODUTO('334', 'SODEXO MOBILITY PASS CARRO', 'N');
         INSEREPRODUTO('335', 'TICKET CAR', 'N');
         INSEREPRODUTO('336', 'ELO CULTURA', 'N');
         INSEREPRODUTO('337', 'CARTAO SHELL', 'N');
         INSEREPRODUTO('338', 'AVISTA CREDITO', 'N');
         INSEREPRODUTO('339', 'PAGAR.ME DEBITO', 'N');
         INSEREPRODUTO('340', 'PAGAR.ME CREDITO', 'N');
         INSEREPRODUTO('341', 'PAGAR.ME PARCELADO', 'N');
         INSEREPRODUTO('342', 'BANRICARD VOUCHER', 'N');
         INSEREPRODUTO('344', 'BANESCARD CREDITO', 'N');
         INSEREPRODUTO('345', 'BANESCARD VOUCHER', 'N');
         INSEREPRODUTO('346', 'FORTBRASIL DEBITO', 'N');
         INSEREPRODUTO('347', 'FORTBRASIL CREDITO', 'N');
         INSEREPRODUTO('348', 'FORTBRASIL VOUCHER', 'N');
         INSEREPRODUTO('349', 'NUTRICASH DEBITO', 'N');
         INSEREPRODUTO('350', 'SENFF DEBITO', 'N');
         INSEREPRODUTO('351', 'SENFF CREDITO', 'N');
         INSEREPRODUTO('352', 'SENFF VOUCHER', 'N');
         INSEREPRODUTO('353', 'NUTRICASH CREDITO', 'N');
         INSEREPRODUTO('354', 'NUTRICASH VOUCHER', 'N');
         INSEREPRODUTO('355', 'POLICARD CREDITO', 'N');
         INSEREPRODUTO('356', 'POLICARD TITULO', 'N');
         INSEREPRODUTO('357', 'POLICARD CONVENIO', 'N');
         INSEREPRODUTO('358', 'POLICARD CREDITO DIGITAL', 'N');
         INSEREPRODUTO('359', 'POLICARD CUPOM ELETRONICO', 'N');
         INSEREPRODUTO('360', 'POLICARD CUPOM PAPEL', 'N');
         INSEREPRODUTO('361', 'GREEN CARD DEBITO', 'N');
         INSEREPRODUTO('362', 'GREEN CARD CREDITO', 'N');
         INSEREPRODUTO('363', 'GREEN CARD VOUCHER', 'N');
         INSEREPRODUTO('364', 'SOLLUS', 'N');
         INSEREPRODUTO('365', 'COOPECARD DEBITO', 'N');
         INSEREPRODUTO('366', 'COOPECARD CREDITO', 'N');
         INSEREPRODUTO('367', 'VALECARD', 'N');
         INSEREPRODUTO('368', 'DA CASA DEBITO', 'N');
         INSEREPRODUTO('369', 'DA CASA CREDITO', 'N');
         INSEREPRODUTO('370', 'DA CASA VOUCHER', 'N');
         INSEREPRODUTO('371', 'CABAL VOUCHER', 'N');
         INSEREPRODUTO('372', 'VR ALIMENTACAO', 'S');
         INSEREPRODUTO('373', 'VR AUTO', 'N');
         INSEREPRODUTO('374', 'VR CULTURA', 'N');
         INSEREPRODUTO('375', 'VR REFEICAO', 'S');
         INSEREPRODUTO('376', 'REDE UZE CREDITO', 'N');
         INSEREPRODUTO('377', 'REDE UZE DEBITO', 'N');
         INSEREPRODUTO('378', 'REDE UZE VOUCHER', 'N');
         INSEREPRODUTO('379', 'REDE UZE PRE PAGO', 'N');

         INSEREADQUIRENTE('1', 'CIELO', 'S');
         INSEREADQUIRENTE('2', 'REDE', 'S');
         INSEREADQUIRENTE('3', 'AMEX', 'S');
         INSEREADQUIRENTE('4', 'GETNET', 'S');
         INSEREADQUIRENTE('5', 'ELAVON', 'S');
         INSEREADQUIRENTE('6', 'BIN', 'S');
         INSEREADQUIRENTE('7', 'STONE', 'S');
         INSEREADQUIRENTE('8', 'BANRISUL', 'N');
         INSEREADQUIRENTE('9', 'ECX CARD', 'N');
         INSEREADQUIRENTE('10', 'GOODCARD', 'N');
         INSEREADQUIRENTE('11', 'TICKET', 'S');
         INSEREADQUIRENTE('12', 'POLICARD', 'N');
         INSEREADQUIRENTE('13', 'SODEXO', 'S');
         INSEREADQUIRENTE('14', 'CREDISHOP', 'N');
         INSEREADQUIRENTE('15', 'BANRICARD', 'N');
         INSEREADQUIRENTE('16', 'PAGAR.ME', 'N');
         INSEREADQUIRENTE('17', 'SHELL', 'N');
         INSEREADQUIRENTE('18', 'FORTBRASIL', 'N');
         INSEREADQUIRENTE('19', 'BANESCARD', 'N');
         INSEREADQUIRENTE('20', 'NUTRICASH', 'N');
         INSEREADQUIRENTE('21', 'SENFF', 'N');
         INSEREADQUIRENTE('22', 'GREEN CARD', 'N');
         INSEREADQUIRENTE('23', 'SOLLUS', 'N');
         INSEREADQUIRENTE('24', 'DIRECT FÁCIL', 'N');
         INSEREADQUIRENTE('25', 'COOPERCARD', 'N');
         INSEREADQUIRENTE('26', 'CABAL', 'N');
         INSEREADQUIRENTE('27', 'DA CASA', 'N');
         INSEREADQUIRENTE('28', 'VR', 'S');
         INSEREADQUIRENTE('29', 'GLOBAL PAYMENTS', 'N');
         INSEREADQUIRENTE('30', 'REDE UZE', 'N');
      END IF;
   END;
END;
/


BEGIN
   DECLARE
      V_COUNT NUMBER;
      V_SEQVARCHAR VARCHAR2(50);
      V_SEQUENCIAL NUMBER;
      PROCEDURE INSEREPRODUTO(P_CODIGO IN VARCHAR, P_NMPRODUTO IN VARCHAR, P_VISIVEL IN VARCHAR)
      AS
      BEGIN
         BEGIN
            SELECT COUNT(P.NRPRODUTOADQ)
              INTO V_COUNT
              FROM PRODUTOADQ P
             WHERE P.NMPRODUTOADQ = P_NMPRODUTO;
         EXCEPTION
            WHEN NO_DATA_FOUND THEN
               V_COUNT := 0;
         END;
         IF V_COUNT = 0 THEN
             NOVO_CODIGO_NT('PRODUTOADQ', V_SEQVARCHAR);
             V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);
             INSERT INTO PRODUTOADQ
               (NRPRODUTOADQ, CDPRODUTOADQ, NMPRODUTOADQ, CDTIPORECE, VRTOLERANCIA, NRBANDEIRAVAN, IDVISIVEL)
             VALUES
               (V_SEQUENCIAL, P_CODIGO, P_NMPRODUTO, NULL, 0.1, NULL, P_VISIVEL);
         END IF;
      END;

      PROCEDURE INSEREADQUIRENTE(P_CODIGO IN VARCHAR,
                                 P_NMADQUIRENTE IN VARCHAR,
                                 P_VISIVEL IN VARCHAR)
      AS
      BEGIN
         BEGIN
            SELECT COUNT(A.NRADQUIRENTE)
              INTO V_COUNT
              FROM ADQUIRENTE A
             WHERE A.NMADQUIRENTE = P_NMADQUIRENTE;
         EXCEPTION
            WHEN NO_DATA_FOUND THEN
               V_COUNT := 0;
         END;
         IF V_COUNT = 0 THEN
             /* Insere as ADQUIRENTES (DONAS DAS MAQUININHAS) */
            NOVO_CODIGO_NT('ADQUIRENTE', V_SEQVARCHAR);
            V_SEQUENCIAL := TO_NUMBER(V_SEQVARCHAR);
            INSERT INTO ADQUIRENTE
               (NRADQUIRENTE, CDADQUIRENTE, NMADQUIRENTE,
                VRTAXAADM, VRTOLERANCIA, IDVISIVEL)
            VALUES
               (V_SEQUENCIAL, P_CODIGO, P_NMADQUIRENTE, 0, 0.1, P_VISIVEL);
         END IF;
      END;
   BEGIN
      INSEREPRODUTO('57', 'CREDSYSTEM CREDITO A VISTA', 'N');
      INSEREPRODUTO('379', 'REDE UZE PRE PAGO', 'N');
      INSEREPRODUTO('380', 'VALECARD CREDITO', 'N');
      INSEREPRODUTO('381', 'VALECARD DEBITO', 'N');
      INSEREPRODUTO('382', 'VALECARD VOUCHER', 'N');
      INSEREPRODUTO('383', 'TRICARD CREDITO', 'N');
      INSEREPRODUTO('384', 'PLANVALE TITULO', 'N');
      INSEREPRODUTO('385', 'PLANVALE CONVÊNIO', 'N');
      INSEREPRODUTO('386', 'PLANVALE CREDITO DIGITAL', 'N');
      INSEREPRODUTO('387', 'PLANVALE COMPRAS', 'N');
      INSEREPRODUTO('388', 'PLANVALE TEF', 'N');
      INSEREPRODUTO('389', 'PLANVALE ALIMENTAÇÃO', 'N');
      INSEREPRODUTO('390', 'PLANVALE PREMIAÇÃO', 'N');
      INSEREPRODUTO('391', 'BANESCARD TITULO', 'N');
      INSEREPRODUTO('392', 'BANESCARD CONVENIO', 'N');
      INSEREPRODUTO('393', 'BANESCARD CREDITO DIGITAL', 'N');
      INSEREPRODUTO('394', 'BANESCARD CREDITO', 'N');
      INSEREPRODUTO('395', 'BANESCARD DEBITO', 'N');
      INSEREPRODUTO('396', 'BANESCARD CUPOM ELETRONICO', 'N');
      INSEREPRODUTO('397', 'BANESCARD CUPOM PAPEL', 'N');
      INSEREPRODUTO('398', 'VALECARD TITULO', 'N');
      INSEREPRODUTO('399', 'VALECARD CONVENIO', 'N');
      INSEREPRODUTO('400', 'VALECARD CREDITO DIGITAL', 'N');
      INSEREPRODUTO('401', 'VALECARD CARTAO DE CREDITO', 'N');
      INSEREPRODUTO('402', 'VALECARD TEF', 'N');
      INSEREPRODUTO('403', 'VALECARD CUPOM ELETRONICO', 'N');
      INSEREPRODUTO('404', 'VALECARD CUPOM PAPEL', 'N');
      INSEREPRODUTO('405', 'BNDES MASTER', 'N');
      INSEREPRODUTO('406', 'BNDES VISA', 'N');
      INSEREPRODUTO('409', 'GETNET RECORRENTE', 'N');
      INSEREPRODUTO('410', 'GETNET TÍTULO', 'N');
      INSEREPRODUTO('411', 'GETNET CONVENIO', 'N');
      INSEREPRODUTO('412', 'GETNET CREDITO DIGITAL', 'N');
      INSEREPRODUTO('413', 'GETNET CUPOM ELETRONICO', 'N');
      INSEREPRODUTO('414', 'GETNET CUPOM PAPEL', 'N');
      INSEREPRODUTO('415', 'SOROCRED VOUCHER', 'N');
      INSEREPRODUTO('416', 'SOROCRED CREDIÁRIO', 'N');
      INSEREPRODUTO('417', 'PAGSEGURO CARTÃO DE CRÉDITO', 'N');
      INSEREPRODUTO('418', 'PAGSEGURO BOLETO', 'N');
      INSEREPRODUTO('419', 'PAGSEGURO DÉBITO ONLINE (TEF)', 'N');
      INSEREPRODUTO('420', 'SALDO PAGSEGURO', 'N');
      INSEREPRODUTO('421', 'PAGSEGURO OI PAGGO', 'N');
      INSEREPRODUTO('422', 'PAGSEGURO DEPÓSITO EM CONTA', 'N');
      INSEREPRODUTO('423', 'SAFRA PAY CRÉDITO', 'N');
      INSEREPRODUTO('424', 'SAFRA PAY DÉBITO', 'N');
      INSEREPRODUTO('425', 'SAFRA PAY VOUCHER', 'N');
      INSEREPRODUTO('426', 'PAGSEGURO CARTÃO DE DÉBITO', 'N');
      INSEREPRODUTO('427', 'VEROCHEQUE CRÉDITO', 'N');
      INSEREPRODUTO('428', 'VEROCHEQUE DÉBITO', 'N');
      INSEREPRODUTO('429', 'VEROCHEQUE VOUCHER', 'N');
      INSEREPRODUTO('430', 'PAGSEGURO VOUCHER', 'N');

      INSEREADQUIRENTE('30', 'REDE UZE', 'N');
      INSEREADQUIRENTE('32', 'TRICARD', 'N');
      INSEREADQUIRENTE('33', 'PLANVALE', 'N');
      INSEREADQUIRENTE('34', 'SOROCRED', 'N');
      INSEREADQUIRENTE('35', 'PAGSEGURO', 'N');
      INSEREADQUIRENTE('36', 'SAFRA PAY', 'N');
      INSEREADQUIRENTE('37', 'VEROCHEQUE', 'N');
   END;
END;