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 LIQUIDO', '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;

      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 PRE-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 PEDAGIO', 'N');
      INSEREPRODUTO('319', 'ELO CARNE', 'N');
      INSEREPRODUTO('320', 'MASTER CARNE', '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 FACIL', '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;
END;
/