CREATE OR REPLACE
PROCEDURE INCLUI_ERRCNABP
  (P_CDBANCCNAB IN VARCHAR2,
   P_CDERRCNABP IN VARCHAR2,
   P_DSERRCNABP IN VARCHAR2) IS
   V_ACHOU   NUMBER(1);
   V_CDBANCO BANCO.CDBANCO%TYPE;
BEGIN
   FOR C_BANCO IN (SELECT CDBANCO
                     FROM BANCO
                    WHERE CDBANCCNAB = P_CDBANCCNAB
                      AND CDBANCO IS NOT NULL) LOOP
      /*DELETA O BANCO DA TABELA ANTES DE INSERIR PARA NÃO DÁ ERRO DE PK*/
      SELECT MAX(CDBANCO)
        INTO V_CDBANCO
        FROM ERRCNABP
       WHERE CDBANCO    = C_BANCO.CDBANCO
         AND CDERRCNABP = P_CDERRCNABP;
      IF V_CDBANCO IS NOT NULL THEN 
         DELETE FROM ERRCNABP
          WHERE CDBANCO    = C_BANCO.CDBANCO
            AND CDERRCNABP = P_CDERRCNABP;
      END IF;
      INSERT INTO ERRCNABP (CDBANCO, CDERRCNABP, DSERRCNABP) VALUES (C_BANCO.CDBANCO, P_CDERRCNABP, P_DSERRCNABP);
   END LOOP;
END;
/
BEGIN
-- BANCO ITAU 341
   INCLUI_ERRCNABP('341', '00', 'PAGAMENTO EFETUADO');
   INCLUI_ERRCNABP('341', 'AD', 'SEGMENTO X FORMA NÃO COMPATÍVEL');
   INCLUI_ERRCNABP('341', 'AE', 'DATA DE PAGAMENTO ALTERADA');
   INCLUI_ERRCNABP('341', 'AH', 'NÚMERO SEQUENCIAL DO REGISTRO NO LOTE INVÁLIDO');
   INCLUI_ERRCNABP('341', 'AJ', 'TIPO DE MOVIMENTO INVÁLIDO');
   INCLUI_ERRCNABP('341', 'AL', 'CÓDIGO DO BANCO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP('341', 'AM', 'AGÊNCIA DO FAVORECIDO INVÁLIDA');
   INCLUI_ERRCNABP('341', 'AN', 'CONTA CORRENTE DO FAVORECIDO INVÁLIDA');
   INCLUI_ERRCNABP('341', 'AO', 'NOME DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP('341', 'AP', 'DATA DE LANÇAMENTO/PAGAMENTO INVÁLIDA');
   INCLUI_ERRCNABP('341', 'BC', 'NOSSO NÚMERO INVÁLIDO');
   INCLUI_ERRCNABP('341', 'BD', 'CONFIRMAÇÃO DE PAGAMENTO AGENDADO');
   INCLUI_ERRCNABP('341', 'BE', 'PAGAMENTO AGENDADO COM FORMA ALTERADA PARA OP');
   INCLUI_ERRCNABP('341', 'CE', 'PAGAMENTO CANCELADO');
   INCLUI_ERRCNABP('341', 'IB', 'VALOR DO TÍTULO INVÁLIDO');
   INCLUI_ERRCNABP('341', 'IC', 'VALOR DO ABATIMENTO INVÁLIDO');
   INCLUI_ERRCNABP('341', 'ID', 'VALOR DO DESCONTO INVÁLIDO');
   INCLUI_ERRCNABP('341', 'IE', 'VALOR DA MORA INVÁLIDO');
   INCLUI_ERRCNABP('341', 'IF', 'VALOR DA MULTA INVÁLIDO');
   INCLUI_ERRCNABP('341', 'IG', 'VALOR DA DEDUÇÃO INVÁLIDO');
   INCLUI_ERRCNABP('341', 'IH', 'VALOR DO ACRÉSCIMO INVÁLIDO');
   INCLUI_ERRCNABP('341', 'II', 'DATA DE VENCIMENTO INVÁLIDA');
   INCLUI_ERRCNABP('341', 'IJ', 'SEQÜÊNCIA INVÁLIDA DE SEGMENTO');
   INCLUI_ERRCNABP('341', 'IM', 'TIPO X FORMA NÃO COMPATÍVEL');
   INCLUI_ERRCNABP('341', 'IN', 'BANCO / AGÊNCIA NÃO PERTENCEM ÀS PRAÇAS DE COMPENSAÇÃO DO ITAÚ');
   INCLUI_ERRCNABP('341', 'IP', 'DV DO CÓDIGO DE BARRAS INVÁLIDO');
   INCLUI_ERRCNABP('341', 'IQ', 'VALOR TOTAL DOS PAGAMENTOS ACIMA DO LIMITE');
   INCLUI_ERRCNABP('341', 'IR', 'PAGAMENTO ALTERADO');
   INCLUI_ERRCNABP('341', 'IS', 'PAGAMENTO NÃO CANCELADO OU NÃO ALTERADO');
   INCLUI_ERRCNABP('341', 'IT', 'PAGAMENTO INEXISTENTE');
   INCLUI_ERRCNABP('341', 'LA', 'DATA DE PAGAMENTO DE UM LOTE ALTERADA');
   INCLUI_ERRCNABP('341', 'LC', 'LOTE DE PAGAMENTOS CANCELADO');
   INCLUI_ERRCNABP('341', 'NA', 'PAGAMENTO NÃO AUTORIZADO');
   INCLUI_ERRCNABP('341', 'NE', 'PAGAMENTO CANCELADO');
   INCLUI_ERRCNABP('341', 'NR', 'OPERAÇÃO NÃO REALIZADA');
   INCLUI_ERRCNABP('341', 'RJ', 'REGISTRO REJEITADO');
   INCLUI_ERRCNABP('341', 'SS', 'SALDO INSUFICIENTE');
   INCLUI_ERRCNABP('341', 'TA', 'LOTE NÃO ACEITO - TOTAIS DO LOTE COM DIFERENÇA');
   COMMIT;
END;
/
BEGIN
-- BANCO BRADESCO 237
   INCLUI_ERRCNABP ('237', '00', 'CRÉDITO OU DÉBITO EFETIVADO');
	INCLUI_ERRCNABP ('237', '01', 'INSUFICIÊNCIA DE FUNDOS - DÉBITO NÃO EFETUADO');
	INCLUI_ERRCNABP ('237', '02', 'CRÉDITO OU DÉBITO CANCELADO PELO PAGADOR/CREDOR');
	INCLUI_ERRCNABP ('237', '03', 'DÉBITO AUTORIZADO PELA AGÊNCIA - EFETUADO');
	INCLUI_ERRCNABP ('237', 'AA', 'CONTROLE INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AB', 'TIPO DE OPERAÇÃO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AC', 'TIPO DE SERVIÇO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AD', 'FORMA DE LANÇAMENTO INVÁLIDA');
	INCLUI_ERRCNABP ('237', 'AE', 'TIPO/NÚMERO DE INSCRIÇÃO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AF', 'CÓDIGO DE CONVÊNIO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AG', 'AGÊNCIA/CONTA CORRENTE/DV INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AH', 'Nº SEQUENCIAL DO REGISTRO NO LOTE INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AI', 'CÓDIGO DE SEGMENTO DE DETALHE INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AJ', 'TIPO DE MOVIMENTO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AK', 'CÓDIGO DA CÂMARA DE COMPENSAÇÃO DO BANCO FAVORECIDO/DEPOSITÁRIO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AL', 'CÓDIGO DO BANCO FAVORECIDO OU DEPOSITÁRIO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AM', 'AGÊNCIA MANTENEDORA DA CONTA CORRENTE DO FAVORECIDO INVÁLIDA');
	INCLUI_ERRCNABP ('237', 'AN', 'CONTA CORRENTE/DV DO FAVORECIDO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AO', 'NOME DO FAVORECIDO NÃO INFORMADO');
	INCLUI_ERRCNABP ('237', 'AP', 'DATA LANÇAMENTO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AQ', 'TIPO/QUANTIDADE DA MOEDA INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AR', 'VALOR DO LANÇAMENTO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AS', 'AVISO AO FAVORECIDO - IDENTIFICAÇÃO INVÁLIDA');
	INCLUI_ERRCNABP ('237', 'AT', 'TIPO/NÚMERO DE INSCRIÇÃO DO FAVORECIDO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AU', 'LOGRADOURO DO FAVORECIDO NÃO INFORMADO');
	INCLUI_ERRCNABP ('237', 'AV', 'Nº DO LOCAL DO FAVORECIDO NÃO INFORMADO');
	INCLUI_ERRCNABP ('237', 'AW', 'CIDADE DO FAVORECIDO NÃO INFORMADA');
	INCLUI_ERRCNABP ('237', 'AX', 'CEP/COMPLEMENTO DO FAVORECIDO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'AY', 'SIGLA DO ESTADO DO FAVORECIDO INVÁLIDA');
	INCLUI_ERRCNABP ('237', 'AZ', 'CÓDIGO/NOME DO BANCO DEPOSITÁRIO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'BA', 'CÓDIGO/NOME DA AGÊNCIA DEPOSITÁRIA NÃO INFORMADO');
	INCLUI_ERRCNABP ('237', 'BB', 'SEU NÚMERO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'BC', 'NOSSO NÚMERO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'BD', 'INCLUSÃO EFETUADA COM SUCESSO');
	INCLUI_ERRCNABP ('237', 'BE', 'ALTERAÇÃO EFETUADA COM SUCESSO');
	INCLUI_ERRCNABP ('237', 'BF', 'EXCLUSÃO EFETUADA COM SUCESSO');
	INCLUI_ERRCNABP ('237', 'BG', 'AGÊNCIA/CONTA IMPEDIDA LEGALMENTE');
	INCLUI_ERRCNABP ('237', 'BH', 'EMPRESA NÃO PAGOU SALÁRIO');
	INCLUI_ERRCNABP ('237', 'BI', 'FALECIMENTO DO MUTUÁRIO');
	INCLUI_ERRCNABP ('237', 'BJ', 'EMPRESA NÃO ENVIOU REMESSA DO MUTUÁRIO');
	INCLUI_ERRCNABP ('237', 'BK', 'EMPRESA NÃO ENVIOU REMESSA NO VENCIMENTO');
	INCLUI_ERRCNABP ('237', 'BL', 'VALOR DA PARCELA INVÁLIDA');
	INCLUI_ERRCNABP ('237', 'BM', 'IDENTIFICAÇÃO DO CONTRATO INVÁLIDA');
	INCLUI_ERRCNABP ('237', 'BN', 'OPERAÇÃO DE CONSIGNAÇÃO INCLUÍDA COM SUCESSO');
	INCLUI_ERRCNABP ('237', 'BO', 'OPERAÇÃO DE CONSIGNAÇÃO ALTERADA COM SUCESSO');
	INCLUI_ERRCNABP ('237', 'BP', 'OPERAÇÃO DE CONSIGNAÇÃO EXCLUÍDA COM SUCESSO');
	INCLUI_ERRCNABP ('237', 'BQ', 'OPERAÇÃO DE CONSIGNAÇÃO LIQUIDADA COM SUCESSO');
	INCLUI_ERRCNABP ('237', 'CA', 'CÓDIGO DE BARRAS - CÓDIGO DO BANCO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'CB', 'CÓDIGO DE BARRAS - CÓDIGO DA MOEDA INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'CC', 'CÓDIGO DE BARRAS - DÍGITO VERIFICADOR GERAL INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'CD', 'CÓDIGO DE BARRAS - VALOR DO TÍTULO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'CE', 'CÓDIGO DE BARRAS - CAMPO LIVRE INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'CF', 'VALOR DO DOCUMENTO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'CG', 'VALOR DO ABATIMENTO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'CH', 'VALOR DO DESCONTO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'CI', 'VALOR DE MORA INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'CJ', 'VALOR DA MULTA INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'CK', 'VALOR DO IR INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'CL', 'VALOR DO ISS INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'CM', 'VALOR DO IOF INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'CN', 'VALOR DE OUTRAS DEDUÇÕES INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'CO', 'VALOR DE OUTROS ACRÉSCIMOS INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'CP', 'VALOR DO INSS INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'HA', 'LOTE NÃO ACEITO');
	INCLUI_ERRCNABP ('237', 'HB', 'INSCRIÇÃO DA EMPRESA INVÁLIDA PARA O CONTRATO');
	INCLUI_ERRCNABP ('237', 'HC', 'CONVÊNIO COM A EMPRESA INEXISTENTE/INVÁLIDO PARA O CONTRATO');
	INCLUI_ERRCNABP ('237', 'HD', 'AGÊNCIA/CONTA CORRENTE DA EMPRESA INEXISTENTE/INVÁLIDO PARA O CONTRATO');
	INCLUI_ERRCNABP ('237', 'HE', 'TIPO DE SERVIÇO INVÁLIDO PARA O CONTRATO');
	INCLUI_ERRCNABP ('237', 'HF', 'CONTA CORRENTE DA EMPRESA COM SALDO INSUFICIENTE');
	INCLUI_ERRCNABP ('237', 'HG', 'LOTE DE SERVIÇO FORA DE SEQUÊNCIA');
	INCLUI_ERRCNABP ('237', 'HH', 'LOTE DE SERVIÇO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'HI', 'ARQUIVO NÃO ACEITO');
	INCLUI_ERRCNABP ('237', 'HJ', 'TIPO DE REGISTRO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'HK', 'CÓDIGO REMESSA / RETORNO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'HL', 'VERSÃO DE LAYOUT INVÁLIDA');
	INCLUI_ERRCNABP ('237', 'HM', 'MUTUÁRIO NÃO IDENTIFICADO');
	INCLUI_ERRCNABP ('237', 'HN', 'TIPO DO BENEFÍCIO NÃO PERMITE EMPRÉSTIMO');
	INCLUI_ERRCNABP ('237', 'HO', 'BENEFICIO CESSADO/SUSPENSO');
	INCLUI_ERRCNABP ('237', 'HP', 'BENEFICIO POSSUI REPRESENTANTE LEGAL');
	INCLUI_ERRCNABP ('237', 'HQ', 'BENEFÍCIO É DO TIPO PA (PENSÃO ALIMENTÍCIA)');
	INCLUI_ERRCNABP ('237', 'HR', 'QUANTIDADE DE CONTRATOS PERMITIDA EXCEDIDA');
	INCLUI_ERRCNABP ('237', 'HS', 'BENEFÍCIO NÃO PERTENCE AO BANCO INFORMADO');
	INCLUI_ERRCNABP ('237', 'HT', 'INÍCIO DO DESCONTO INFORMADO JÁ ULTRAPASSADO');
	INCLUI_ERRCNABP ('237', 'HU', 'NÚMERO DA PARCELA INVÁLIDA');
	INCLUI_ERRCNABP ('237', 'HV', 'QUANTIDADE DE PARCELA INVÁLIDA');
	INCLUI_ERRCNABP ('237', 'HW', 'MARGEM CONSIGNÁVEL EXCEDIDA PARA O MUTUÁRIO DENTRO DO PRAZO DO CONTRATO');
	INCLUI_ERRCNABP ('237', 'HX', 'EMPRÉSTIMO JÁ CADASTRADO');
	INCLUI_ERRCNABP ('237', 'HY', 'EMPRÉSTIMO INEXISTENTE');
	INCLUI_ERRCNABP ('237', 'HZ', 'EMPRÉSTIMO JÁ ENCERRADO');
	INCLUI_ERRCNABP ('237', 'H1', 'ARQUIVO SEM TRAILER');
	INCLUI_ERRCNABP ('237', 'H2', 'MUTUÁRIO SEM CRÉDITO NA COMPETÊNCIA');
	INCLUI_ERRCNABP ('237', 'H3', 'NÃO DESCONTADO – OUTROS MOTIVOS');
	INCLUI_ERRCNABP ('237', 'H4', 'RETORNO DE CRÉDITO NÃO PAGO');
	INCLUI_ERRCNABP ('237', 'H5', 'CANCELAMENTO DE EMPRÉSTIMO RETROATIVO');
	INCLUI_ERRCNABP ('237', 'H6', 'OUTROS MOTIVOS DE GLOSA');
	INCLUI_ERRCNABP ('237', 'H7', 'MARGEM CONSIGNÁVEL EXCEDIDA PARA O MUTUÁRIO ACIMA DO PRAZO DO CONTRATO');
	INCLUI_ERRCNABP ('237', 'H8', 'MUTUÁRIO DESLIGADO DO EMPREGADOR');
	INCLUI_ERRCNABP ('237', 'H9', 'MUTUÁRIO AFASTADO POR LICENÇA');
	INCLUI_ERRCNABP ('237', 'IA', 'PRIMEIRO NOME DO MUTUÁRIO DIFERENTE DO PRIMEIRO NOME DO MOVIMENTO DO CENSO OU DIFERENTE DA BASE DE TITULAR DO BENEFÍCIO');
	INCLUI_ERRCNABP ('237', 'TA', 'LOTE NÃO ACEITO - TOTAIS DO LOTE COM DIFERENÇA');
	INCLUI_ERRCNABP ('237', 'YA', 'TÍTULO NÃO ENCONTRADO');
	INCLUI_ERRCNABP ('237', 'YB', 'IDENTIFICADOR REGISTRO OPCIONAL INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'YC', 'CÓDIGO PADRÃO INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'YD', 'CÓDIGO DE OCORRÊNCIA INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'YE', 'COMPLEMENTO DE OCORRÊNCIA INVÁLIDO');
	INCLUI_ERRCNABP ('237', 'YF', 'ALEGAÇÃO JÁ INFORMADA');
	INCLUI_ERRCNABP ('237', 'ZA', 'AGÊNCIA / CONTA DO FAVORECIDO SUBSTITUÍDA');
	INCLUI_ERRCNABP ('237', 'ZB', 'DIVERGÊNCIA ENTRE O PRIMEIRO E ÚLTIMO NOME DO BENEFICIÁRIO VERSUS PRIMEIRO E ÚLTIMO NOME NA RECEITA FEDERAL');
	INCLUI_ERRCNABP ('237', 'ZC', 'CONFIRMAÇÃO DE ANTECIPAÇÃO DE VALOR');
	INCLUI_ERRCNABP ('237', 'ZD', 'ANTECIPAÇÃO PARCIAL DE VALOR');
	INCLUI_ERRCNABP ('237', '5A', 'AGENDADO SOB LISTA DE DEBITO');
	INCLUI_ERRCNABP ('237', '5B', 'PAGAMENTO NÃO AUTORIZA SOB LISTA DE DEBITO');
	INCLUI_ERRCNABP ('237', '5C', 'LISTA COM MAIS DE UMA MODALIDADE');
	INCLUI_ERRCNABP ('237', '5D', 'LISTA COM MAIS DE UMA DATA DE PAGAMENTO');
	INCLUI_ERRCNABP ('237', '5E', 'NÚMERO DE LISTA DUPLICADO');
	INCLUI_ERRCNABP ('237', '5F', ' LISTA DE DEBITO VENCIDA E NÃO AUTORIZADA');
	INCLUI_ERRCNABP ('237', '5M', 'NÚMERO DE LISTA DE DEBITO INVALIDA');
   COMMIT;
END;
/
BEGIN
-- BANCO NOSSA CAIXA 151
   INCLUI_ERRCNABP('151', '00', 'CRÉDITO OU DÉBITO EFETUADO');
   INCLUI_ERRCNABP('151', '01', 'INSUFICIÊNCIA DE FUNDOS - DÉBITO NÃO EFETUADO');
   INCLUI_ERRCNABP('151', '02', 'CRÉDITO OU DÉBITO CANCELADO PELO PAGADOR/CREDOR');
   INCLUI_ERRCNABP('151', '03', 'DÉBITO AUTORIZADO PELA AGÊNCIA - EFETUADO');
   INCLUI_ERRCNABP('151', 'HA', 'LOTE NÃO ACEITO');
   INCLUI_ERRCNABP('151', 'HB', 'INSCRIÇÃO DA EMPRESA INVÁLIDA PARA O CONTRATO');
   INCLUI_ERRCNABP('151', 'HC', 'CONVÊNIO COM A EMPRESA INEXISTENTE/INVÁLIDO PARA O CONTRATO');
   INCLUI_ERRCNABP('151', 'HD', 'AGÊNCIA / CONTA CORRENTE DA EMPRESA INEXISTENTE/INVÁLIDA PARA O CONTRATO');
   INCLUI_ERRCNABP('151', 'HE', 'TIPO DE SERVIÇO INVÁLIDO PARA O CONTRATO');
   INCLUI_ERRCNABP('151', 'HF', 'CONTA CORRENTE DA EMPRESA COM SALDO INSUFICIENTE');
   INCLUI_ERRCNABP('151', 'AA', 'CONTROLE INVÁLIDO');
   INCLUI_ERRCNABP('151', 'AB', 'TIPO DE OPERAÇÃO INVÁLIDO');
   INCLUI_ERRCNABP('151', 'AC', 'TIPO DE SERVIÇO INVÁLIDO');
   INCLUI_ERRCNABP('151', 'AD', 'FORMA DE LANÇAMENTO INVÁLIDA');
   INCLUI_ERRCNABP('151', 'AE', 'TIPO/NÚMERO DE INSCRIÇÃO INVÁLIDO');
   INCLUI_ERRCNABP('151', 'AF', 'CÓDIGO DE CONVÊNIO INVÁLIDO');
   INCLUI_ERRCNABP('151', 'AG', 'AGÊNCIA / CONTA CORRENTE/DV INVÁLIDO');
   INCLUI_ERRCNABP('151', 'AH', 'NÚMERO SEQUENCIAL DO REGISTRO NO LOTE INVÁLIDO');
   INCLUI_ERRCNABP('151', 'AI', 'CÓDIGO DE SEGMENTO DE DETALHE INVÁLIDO');
   INCLUI_ERRCNABP('151', 'AJ', 'TIPO DE MOVIMENTO INVÁLIDO');
   INCLUI_ERRCNABP('151', 'AK', 'CÓDIGO DA CÂMARA DE COMPENSAÇÃO DO BANCO DO FAVORECIDO/DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP('151', 'AL', 'CÓDIGO DO BANCO DO FAVORECIDO OU DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP('151', 'AM', 'AGÊNCIA MANTENEDORA DA CONTA CORRENTE DO FAVORECIDO INVÁLIDA');
   INCLUI_ERRCNABP('151', 'AN', 'CONTA CORRENTE/DV DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP('151', 'AO', 'NOME DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP('151', 'AP', 'DATA LANÇAMENTO INVÁLIDA');
   INCLUI_ERRCNABP('151', 'AQ', 'TIPO/QUANTIDADE DA MOEDA INVÁLIDO');
   INCLUI_ERRCNABP('151', 'AR', 'VALOR DO LANÇAMENTO INVÁLIDO');
   INCLUI_ERRCNABP('151', 'AS', 'AVISO AO FAVORECIDO - IDENTIFICAÇÃO INVÁLIDA');
   INCLUI_ERRCNABP('151', 'AT', 'TIPO/NÚMERO DE INSCRIÇÃO DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP('151', 'AU', 'LOGRADOURO DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP('151', 'AV', 'NÚMERO DO LOCAL DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP('151', 'AW', 'CIDADE DO FAVORECIDO NÃO INFORMADA');
   INCLUI_ERRCNABP('151', 'AX', 'CEP/COMPLEMENTO DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP('151', 'AY', 'SIGLA DO ESTADO DO FAVORECIDO INVÁLIDA');
   INCLUI_ERRCNABP('151', 'AZ', 'CÓDIGO/NOME DO BANCO DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP('151', 'BA', 'CÓDIGO/NOME DA AGÊNCIA DEPOSITÁRIA NÃO INFORMADO');
   INCLUI_ERRCNABP('151', 'BD', 'CONFIRMAÇÃO DE PAGAMENTO AGENDADO');
   COMMIT;
END;
/
BEGIN
-- BANCO HSBC 399
   INCLUI_ERRCNABP('399', '00', 'CRÉDITO EFETUADO');
   INCLUI_ERRCNABP('399', '01', 'INSUFICIÊNCIA DE FUNDOS - DÉBITO NÃO EFETUADO');
   INCLUI_ERRCNABP('399', '02', 'CANCELAMENTO ACEITO');
   INCLUI_ERRCNABP('399', '34', 'CONTA CORRENTE DE DÉBITO BLOQUEADA');
   INCLUI_ERRCNABP('399', '40', 'CONTA CORRENTE/POUPANÇA PARA CRÉDITO BLOQUEADA');
   INCLUI_ERRCNABP('399', '42', 'CÓDIGO DE BARRAS INVÁLIDO');
   INCLUI_ERRCNABP('399', '51', 'DATA DESCONTO INVÁLIDA');
   INCLUI_ERRCNABP('399', '52', 'DATA DESCONTO MAIOR QUE DATA VENCIMENTO');
   INCLUI_ERRCNABP('399', '54', 'VALOR DO DESCONTO INVÁLIDO');
   INCLUI_ERRCNABP('399', '56', 'COMPROMISSO DE AGENDAMENTO AUTOMÁTICO INCORRETO');
   INCLUI_ERRCNABP('399', '57', 'COMPROMISSO DE AGENDAMENTO AUTOMÁTICO JÁ PROCESSADO');
   INCLUI_ERRCNABP('399', '58', 'COMPROMISSO DE AGENDAMENTO AUTOMÁTICO NÃO ENCONTRADO');
   INCLUI_ERRCNABP('399', '59', 'COMPROMISSO DE AGENDAMENTO AUTOMÁTICO COM VALOR INVÁLIDO');
   INCLUI_ERRCNABP('399', '60', 'COMPROMISSO DE AGENDAMENTO AUTOMÁTICO DATA VENCIMENTO INVÁLIDA');
   INCLUI_ERRCNABP('399', '61', 'NÚMERO DO DOCUMENTO DA PARCELA COBRANÇA NÃO REGISTRADA HSBC INVÁLIDO (CÓDIGO DO CEDENTE)');
   INCLUI_ERRCNABP('399', '62', 'VALOR DO LANÇAMENTO DA PARCELA COBRANÇA NÃO REGISTRADA HSBC INVÁLIDO');
   INCLUI_ERRCNABP('399', '63', 'CÓDIGO DO DOCUMENTO DA PARCELA COBRANÇA NÃO REGISTRADA HSBC INVÁLIDO');
   INCLUI_ERRCNABP('399', '64', 'DATA DO VENCIMENTO DA PARCELA COBRANÇA NÃO REGISTRADA HSBC INVÁLIDA');
   INCLUI_ERRCNABP('399', '65', 'PARCELA "COBRANÇA NÃO REGISTRADA HSBC" JÁ CADASTRADA');
   INCLUI_ERRCNABP('399', '66', 'VALOR ACIMA DE R$ 999.999.999,99');
   INCLUI_ERRCNABP('399', '67', 'CONTA CORRENTE VINCULADA IRREGULAR');
   INCLUI_ERRCNABP('399', '68', 'BLOQUEIO/CANCELAMENTO INDEFERIDO PARA CHEQUE SALÁRIO');
   INCLUI_ERRCNABP('399', '69', 'CHEQUE SALÁRIO INCOMPATÍVEL COM TIPO DE PAGAMENTO');
   INCLUI_ERRCNABP('399', '72', 'TÍTULO INATIVO');
   INCLUI_ERRCNABP('399', '73', 'TÍTULO BLOQUEADO PELO CEDENTE');
   INCLUI_ERRCNABP('399', '74', 'TÍTULO INEXISTENTE');
   INCLUI_ERRCNABP('399', '75', 'CEDENTE INFORMADO INEXISTENTE');
   INCLUI_ERRCNABP('399', '76', 'CPF/CNPJ DO CREDOR DIVERGENTE/INVÁLIDO');
   INCLUI_ERRCNABP('399', '77', 'AGÊNCIA E/OU CONTA CORRENTE ENCERRADA');
   INCLUI_ERRCNABP('399', '78', 'AGÊNCIA E/OU CONTA CORRENTE INVÁLIDA/INEXISTENTE');
   INCLUI_ERRCNABP('399', '79', 'DADOS DO CREDOR INVÁLIDO');
   INCLUI_ERRCNABP('399', '80', 'MOTIVO NÃO ESCLARECIDO');
   INCLUI_ERRCNABP('399', '81', 'PROCESSO INDISPONÍVEL NO MOMENTO');
   INCLUI_ERRCNABP('399', '83', 'TIPO DE CONTA DIFERENCIADA');
   INCLUI_ERRCNABP('399', '90', 'TÍTULO PAGO EM DUPLICIDADE');
   INCLUI_ERRCNABP('399', '92', 'VALOR A PAGAR IGUAL A ZEROS');
   INCLUI_ERRCNABP('399', '93', 'VALOR DESCONTO MAIOR QUE TÍTULO');
   INCLUI_ERRCNABP('399', '94', 'VALOR DO TÍTULO NÃO CONFERE');
   INCLUI_ERRCNABP('399', '95', 'TÍTULO JÁ BAIXADO');
   INCLUI_ERRCNABP('399', '96', 'TÍTULO JÁ DEVOLVIDO');
   INCLUI_ERRCNABP('399', '97', 'TÍTULO JÁ LIQUIDADO');
   INCLUI_ERRCNABP('399', 'AA', 'CONTROLE INVÁLIDO');
   INCLUI_ERRCNABP('399', 'AC', 'TIPO DE SERVIÇO INVÁLIDO');
   INCLUI_ERRCNABP('399', 'AG', 'AGÊNCIA/CONTA CORRENTE/DV INVÁLIDO');
   INCLUI_ERRCNABP('399', 'AJ', 'TIPO DE MOVIMENTO INVÁLIDO');
   INCLUI_ERRCNABP('399', 'AM', 'BANCO, AGÊNCIA DO FAVORECIDO INVÁLIDA');
   INCLUI_ERRCNABP('399', 'AN', 'CONTA CORRENTE DO FAVORECIDO INVÁLIDA');
   INCLUI_ERRCNABP('399', 'AO', 'NOME FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP('399', 'AP', 'DATA LANÇAMENTO INVÁLIDA');
   INCLUI_ERRCNABP('399', 'AQ', 'TIPO OU QUANTIDADE DA MOEDA INVÁLIDO');
   INCLUI_ERRCNABP('399', 'AR', 'VALOR DO LANÇAMENTO INVÁLIDO');
   INCLUI_ERRCNABP('399', 'AZ', 'CÓDIGO BANCO DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP('399', 'BB', 'SEU NÚMERO INVÁLIDO');
   INCLUI_ERRCNABP('399', 'BC', 'NOSSO NÚMERO INVÁLIDO');
   INCLUI_ERRCNABP('399', 'BD', 'CONFIRMAÇÃO PAGAMENTO AGENDADO');
   INCLUI_ERRCNABP('399', 'BO', 'BANCO NÃO ESTA OPERANDO C/TED');
   INCLUI_ERRCNABP('399', 'CP', 'VALOR DO INSS INVÁLIDO');
   INCLUI_ERRCNABP('399', 'CQ', 'CÓDIGO DE PAGAMENTO DE GUIA DA PREVIDÊNCIA SOCIAL INVÁLIDO');
   INCLUI_ERRCNABP('399', 'CR', 'COMPETÊNCIA INVÁLIDA');
   INCLUI_ERRCNABP('399', 'CS', 'IDENTIFICAÇÃO DO CONTRIBUINTE INVÁLIDA');
   INCLUI_ERRCNABP('399', 'CT', 'OUTROS ERROS');
   INCLUI_ERRCNABP('399', 'DA', 'CÓDIGO DA RECEITA INVÁLIDO/INCORRETO');
   INCLUI_ERRCNABP('399', 'DC', 'NÚMERO REFERÊNCIA INVÁLIDO/INCORRETO');
   INCLUI_ERRCNABP('399', 'DE', 'VALOR RECEITA BRUTA INVÁLIDO/INCORRETO');
   INCLUI_ERRCNABP('399', 'DG', 'PERCENTUAL INFORMADO INVÁLIDO/INCORRETO');
   INCLUI_ERRCNABP('399', 'HA', 'LOTE NÃO ACEITO');
   INCLUI_ERRCNABP('399', 'HB', 'CPF/CNPJ DO ORIGINADOR DIVERGE DO CADASTRADO');
   INCLUI_ERRCNABP('399', 'HC', 'CONVÊNIO COM A EMPRESA INEXISTENTE/INVÁLIDO PARA O CONTRATO');
   INCLUI_ERRCNABP('399', 'HE', 'TIPO DE PAGAMENTO NÃO PERMITIDO PARA O CONTRATO');
   INCLUI_ERRCNABP('399', 'HF', 'VALOR COMPROMISSO EXCEDE VALOR LIMITE DIÁRIO');
   INCLUI_ERRCNABP('399', 'OH', 'CONTRATO CANCELADO');
   INCLUI_ERRCNABP('399', 'YW', 'PROBLEMAS OPERACIONAIS');
   COMMIT;
END;
/
BEGIN
-- BANCO REAL 356
   INCLUI_ERRCNABP ('356', '00', 'CRÉDITO OU DÉBITO EFETIVADO À ESTE CÓDIGO INDICA QUE O PAGAMENTO FOI CONFIRMADO');
   INCLUI_ERRCNABP ('356', '01', 'INSUFICIÊNCIA DE FUNDOS - DÉBITO NÃO EFETUADO');
   INCLUI_ERRCNABP ('356', '02', 'CRÉDITO OU DÉBITO CANCELADO PELO PAGADOR/CREDOR');
   INCLUI_ERRCNABP ('356', '03', 'DÉBITO AUTORIZADO PELA AGÊNCIA - EFETUADO');
   INCLUI_ERRCNABP ('356', 'HA', 'LOTE NÃO ACEITO');
   INCLUI_ERRCNABP ('356', 'HB', 'INSCRIÇÃO DA EMPRESA INVÁLIDA PARA O CONTRATO');
   INCLUI_ERRCNABP ('356', 'HC', 'CONVÊNIO COM A EMPRESA INEXISTENTE/INVÁLIDO PARA O CONTRATO');
   INCLUI_ERRCNABP ('356', 'HD', 'AGÊNCIA/CONTA CORRENTE DA EMPRESA INEXISTENTE/INVÁLIDO PARA O CONTRATO');
   INCLUI_ERRCNABP ('356', 'HE', 'TIPO DE SERVIÇO INVÁLIDO PARA O CONTRATO');
   INCLUI_ERRCNABP ('356', 'HF', 'CONTA CORRENTE DA EMPRESA COM SALDO INSUFICIENTE');
   INCLUI_ERRCNABP ('356', 'HG', 'LOTE DE SERVIÇO FORA DE SEQÜÊNCIA');
   INCLUI_ERRCNABP ('356', 'HH', 'LOTE DE SERVIÇO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AA', 'CONTROLE INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AB', 'TIPO DE OPERAÇÃO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AC', 'TIPO DE SERVIÇO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AD', 'FORMA DE LANÇAMENTO INVÁLIDA');
   INCLUI_ERRCNABP ('356', 'AE', 'TIPO/NÚMERO DE INSCRIÇÃO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AF', 'CÓDIGO DE CONVÊNIO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AG', 'AGÊNCIA/CONTA CORRENTE/DV INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AH', 'Nº SEQÜENCIAL DO REGISTRO NO LOTE INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AI', 'CÓDIGO DE SEGMENTO DE DETALHE INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AJ', 'TIPO DE MOVIMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AK', 'CÓDIGO DA CÂMARA DE COMPENSAÇÃO DO BANCO FAVORECIDO/DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AL', 'CÓDIGO DO BANCO FAVORECIDO OU DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AM', 'AGÊNCIA MANTENEDORA DA CONTA CORRENTE DO FAVORECIDO INVÁLIDA');
   INCLUI_ERRCNABP ('356', 'AN', 'CONTA CORRENTE/DV DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AO', 'NOME DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP ('356', 'AP', 'DATA LANÇAMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AQ', 'TIPO/QUANTIDADE DA MOEDA INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AR', 'VALOR DO LANÇAMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AS', 'AVISO AO FAVORECIDO - IDENTIFICAÇÃO INVÁLIDA');
   INCLUI_ERRCNABP ('356', 'AT', 'TIPO/NÚMERO DE INSCRIÇÃO DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AU', 'LOGRADOURO DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP ('356', 'AV', 'Nº DO LOCAL DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP ('356', 'AW', 'CIDADE DO FAVORECIDO NÃO INFORMADA ');
   INCLUI_ERRCNABP ('356', 'AX', 'CEP/COMPLEMENTO DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'AY', 'SIGLA DO ESTADO DO FAVORECIDO INVÁLIDA');
   INCLUI_ERRCNABP ('356', 'AZ', 'CÓDIGO/NOME DO BANCO DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'BA', 'CÓDIGO/NOME DA AGÊNCIA DEPOSITÁRIA NÃO INFORMADO');
   INCLUI_ERRCNABP ('356', 'BB', 'SEU NÚMERO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'BC', 'NOSSO NÚMERO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'BD', 'INCLUSÃO EFETUADA COM SUCESSO');
   INCLUI_ERRCNABP ('356', 'BE', 'ALTERAÇÃO EFETUADA COM SUCESSO');
   INCLUI_ERRCNABP ('356', 'BF', 'EXCLUSÃO EFETUADA COM SUCESSO');
   INCLUI_ERRCNABP ('356', 'BG', 'AGÊNCIA/CONTA IMPEDIDA LEGALMENTE');
   INCLUI_ERRCNABP ('356', 'CA', 'CÓDIGO DE BARRAS - CÓDIGO DO BANCO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'CB', 'CÓDIGO DE BARRAS - CÓDIGO DA MOEDA INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'CC', 'CÓDIGO DE BARRAS - DÍGITO VERIFICADOR GERAL INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'CD', 'CÓDIGO DE BARRAS - VALOR DO TÍTULO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'CE', 'CÓDIGO DE BARRAS - CAMPO LIVRE INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'CF', 'VALOR DO DOCUMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'CG', 'VALOR DO ABATIMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'CH', 'VALOR DO DESCONTO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'CI', 'VALOR DE MORA INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'CJ', 'VALOR DA MULTA INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'CK', 'VALOR DO IR INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'CL', 'VALOR DO ISS INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'CM', 'VALOR DO IOF INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'CN', 'VALOR DE OUTRAS DEDUÇÕES INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'CO', 'VALOR DE OUTROS ACRÉSCIMOS INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'CP', 'VALOR DO INSS INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'TA', 'LOTE NÃO ACEITO - TOTAIS DO LOTE COM DIFERENÇA');
   INCLUI_ERRCNABP ('356', 'YA', 'TÍTULO NÃO ENCONTRADO');
   INCLUI_ERRCNABP ('356', 'YB', 'IDENTIFICADOR REGISTRO OPCIONAL INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'YC', 'CÓDIGO PADRÃO INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'YD', 'CÓDIGO DE OCORRÊNCIA INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'YE', 'COMPLEMENTO DE OCORRÊNCIA INVÁLIDO');
   INCLUI_ERRCNABP ('356', 'YF', 'ALEGAÇÃO JÁ INFORMADA');
   COMMIT;
END;
/
BEGIN
-- BANCO REAL 275
   INCLUI_ERRCNABP ('275', '00', 'CRÉDITO OU DÉBITO EFETIVADO À ESTE CÓDIGO INDICA QUE O PAGAMENTO FOI CONFIRMADO');
   INCLUI_ERRCNABP ('275', '01', 'INSUFICIÊNCIA DE FUNDOS - DÉBITO NÃO EFETUADO');
   INCLUI_ERRCNABP ('275', '02', 'CRÉDITO OU DÉBITO CANCELADO PELO PAGADOR/CREDOR');
   INCLUI_ERRCNABP ('275', '03', 'DÉBITO AUTORIZADO PELA AGÊNCIA - EFETUADO');
   INCLUI_ERRCNABP ('275', 'HA', 'LOTE NÃO ACEITO');
   INCLUI_ERRCNABP ('275', 'HB', 'INSCRIÇÃO DA EMPRESA INVÁLIDA PARA O CONTRATO');
   INCLUI_ERRCNABP ('275', 'HC', 'CONVÊNIO COM A EMPRESA INEXISTENTE/INVÁLIDO PARA O CONTRATO');
   INCLUI_ERRCNABP ('275', 'HD', 'AGÊNCIA/CONTA CORRENTE DA EMPRESA INEXISTENTE/INVÁLIDO PARA O CONTRATO');
   INCLUI_ERRCNABP ('275', 'HE', 'TIPO DE SERVIÇO INVÁLIDO PARA O CONTRATO');
   INCLUI_ERRCNABP ('275', 'HF', 'CONTA CORRENTE DA EMPRESA COM SALDO INSUFICIENTE');
   INCLUI_ERRCNABP ('275', 'HG', 'LOTE DE SERVIÇO FORA DE SEQÜÊNCIA');
   INCLUI_ERRCNABP ('275', 'HH', 'LOTE DE SERVIÇO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AA', 'CONTROLE INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AB', 'TIPO DE OPERAÇÃO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AC', 'TIPO DE SERVIÇO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AD', 'FORMA DE LANÇAMENTO INVÁLIDA');
   INCLUI_ERRCNABP ('275', 'AE', 'TIPO/NÚMERO DE INSCRIÇÃO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AF', 'CÓDIGO DE CONVÊNIO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AG', 'AGÊNCIA/CONTA CORRENTE/DV INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AH', 'Nº SEQÜENCIAL DO REGISTRO NO LOTE INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AI', 'CÓDIGO DE SEGMENTO DE DETALHE INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AJ', 'TIPO DE MOVIMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AK', 'CÓDIGO DA CÂMARA DE COMPENSAÇÃO DO BANCO FAVORECIDO/DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AL', 'CÓDIGO DO BANCO FAVORECIDO OU DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AM', 'AGÊNCIA MANTENEDORA DA CONTA CORRENTE DO FAVORECIDO INVÁLIDA');
   INCLUI_ERRCNABP ('275', 'AN', 'CONTA CORRENTE/DV DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AO', 'NOME DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP ('275', 'AP', 'DATA LANÇAMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AQ', 'TIPO/QUANTIDADE DA MOEDA INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AR', 'VALOR DO LANÇAMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AS', 'AVISO AO FAVORECIDO - IDENTIFICAÇÃO INVÁLIDA');
   INCLUI_ERRCNABP ('275', 'AT', 'TIPO/NÚMERO DE INSCRIÇÃO DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AU', 'LOGRADOURO DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP ('275', 'AV', 'Nº DO LOCAL DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP ('275', 'AW', 'CIDADE DO FAVORECIDO NÃO INFORMADA ');
   INCLUI_ERRCNABP ('275', 'AX', 'CEP/COMPLEMENTO DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'AY', 'SIGLA DO ESTADO DO FAVORECIDO INVÁLIDA');
   INCLUI_ERRCNABP ('275', 'AZ', 'CÓDIGO/NOME DO BANCO DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'BA', 'CÓDIGO/NOME DA AGÊNCIA DEPOSITÁRIA NÃO INFORMADO');
   INCLUI_ERRCNABP ('275', 'BB', 'SEU NÚMERO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'BC', 'NOSSO NÚMERO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'BD', 'INCLUSÃO EFETUADA COM SUCESSO');
   INCLUI_ERRCNABP ('275', 'BE', 'ALTERAÇÃO EFETUADA COM SUCESSO');
   INCLUI_ERRCNABP ('275', 'BF', 'EXCLUSÃO EFETUADA COM SUCESSO');
   INCLUI_ERRCNABP ('275', 'BG', 'AGÊNCIA/CONTA IMPEDIDA LEGALMENTE');
   INCLUI_ERRCNABP ('275', 'CA', 'CÓDIGO DE BARRAS - CÓDIGO DO BANCO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'CB', 'CÓDIGO DE BARRAS - CÓDIGO DA MOEDA INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'CC', 'CÓDIGO DE BARRAS - DÍGITO VERIFICADOR GERAL INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'CD', 'CÓDIGO DE BARRAS - VALOR DO TÍTULO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'CE', 'CÓDIGO DE BARRAS - CAMPO LIVRE INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'CF', 'VALOR DO DOCUMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'CG', 'VALOR DO ABATIMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'CH', 'VALOR DO DESCONTO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'CI', 'VALOR DE MORA INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'CJ', 'VALOR DA MULTA INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'CK', 'VALOR DO IR INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'CL', 'VALOR DO ISS INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'CM', 'VALOR DO IOF INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'CN', 'VALOR DE OUTRAS DEDUÇÕES INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'CO', 'VALOR DE OUTROS ACRÉSCIMOS INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'CP', 'VALOR DO INSS INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'TA', 'LOTE NÃO ACEITO - TOTAIS DO LOTE COM DIFERENÇA');
   INCLUI_ERRCNABP ('275', 'YA', 'TÍTULO NÃO ENCONTRADO');
   INCLUI_ERRCNABP ('275', 'YB', 'IDENTIFICADOR REGISTRO OPCIONAL INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'YC', 'CÓDIGO PADRÃO INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'YD', 'CÓDIGO DE OCORRÊNCIA INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'YE', 'COMPLEMENTO DE OCORRÊNCIA INVÁLIDO');
   INCLUI_ERRCNABP ('275', 'YF', 'ALEGAÇÃO JÁ INFORMADA');
   COMMIT;
END;
/
BEGIN
-- BANCO SAFRA 422
   INCLUI_ERRCNABP ('422', '076', 'BLOQUEIO JUDICIAL – SALDO INSULFICIENTE');
   INCLUI_ERRCNABP ('422', '099', 'REGISTRO CADASTRO DE CLIENTE NAO ENCONTRADO NO SCC');
   INCLUI_ERRCNABP ('422', '100', 'CONTA CORRENTE NÃO CADASTRADA');
   INCLUI_ERRCNABP ('422', '112', 'TRANSAÇÃO INVÁLIDA - JÁ CADASTRADA');
   INCLUI_ERRCNABP ('422', '114', 'ALTERAÇÃO INVÁLIDA - COMPROMISSO LIBERADO PARA PAGAMENTO');
   INCLUI_ERRCNABP ('422', '119', 'EXCLUSÃO INVALIDA – CMP LIBERADO PARA PAGAMENTO');
   INCLUI_ERRCNABP ('422', '130', 'COMPROMISSO COM PAGAMENTO JÁ EFETUADO');
   INCLUI_ERRCNABP ('422', '132', 'FORNECEDOR NÃO CADASTRADO');
   INCLUI_ERRCNABP ('422', '139', 'COMPROMISSO NÃO CADASTRADO');
   INCLUI_ERRCNABP ('422', '145', 'AUTORIZAÇÃO INVÁLIDA PRE. CONFERÊNCIA MSG.');
   INCLUI_ERRCNABP ('422', '148', 'TRANSAÇÃO INVÁLIDA  - REDIGITAÇÃO PEDENTE');
   INCLUI_ERRCNABP ('422', '157', 'AGÊNCIA C/C INVÁLIDA');
   INCLUI_ERRCNABP ('422', '195', 'COB AGÊNCIA DÉBITO  = AGÊNCIA P/ PAGTO');
   INCLUI_ERRCNABP ('422', '196', 'COB DATA PAGTO = DATA VENCIMENTO');
   INCLUI_ERRCNABP ('422', '197', 'DATA PAGTO FERIADO AGÊNCIA PAGTO OU AGÊNCIA DÉBITO');
   INCLUI_ERRCNABP ('422', '198', 'COMPROMISSO JÁ DEBITADO DO CLIENTE');
   INCLUI_ERRCNABP ('422', '200', 'NOME/ENDEREÇO DO FORNECEDOR OBRIGATÓRIO');
   INCLUI_ERRCNABP ('422', '201', 'CÓD. DO FORNECEDOR DEVE SER NUMÉRICO');
   INCLUI_ERRCNABP ('422', '202', 'CÓD. DO FORNECEDOR COM DÍGITO INVÁLIDO');
   INCLUI_ERRCNABP ('422', '203', 'CGC(CNPJ)/CPF DEVE SER NUMÉRICO');
   INCLUI_ERRCNABP ('422', '204', 'CGC(CNPJ)/CPF COM DÍGITO INVÁLIDO');
   INCLUI_ERRCNABP ('422', '206', 'BANCO PARA CRÉDITO DEVE SER NUMÉRICO');
   INCLUI_ERRCNABP ('422', '207', 'AGÊNCIA PARA CRÉDITO DEVE SER NUMÉRICO');
   INCLUI_ERRCNABP ('422', '210', 'BCO PARA CRED NÃO CADASTRADO');
   INCLUI_ERRCNABP ('422', '213', 'VOLUME JÁ PROCESSADO, DADOS DUPLICADOS');
   INCLUI_ERRCNABP ('422', '216', 'COB DATA PAGTO INVÁLIDA');
   INCLUI_ERRCNABP ('422', '217', 'COMPROMISSO BLOQUEADO POR INSUFICIÊNCIA DE SALDO');
   INCLUI_ERRCNABP ('422', '240', 'AUTORIZAÇAO VIA ARQUIVO NÃO TERMITIDA');
   INCLUI_ERRCNABP ('422', '250', 'DATA DE VENCIMENTO OU VALOR INVÁLIDO');
   INCLUI_ERRCNABP ('422', '251', 'DATA DE VENCIMENTO INVÁLIDA') ;
   INCLUI_ERRCNABP ('422', '252', 'TIPO DE PAGAMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('422', '253', 'DATA DE VENCIMENTO INVÁLIDA');
   INCLUI_ERRCNABP ('422', '254', 'BANCO PORTADOR DO TÍTULO DEVE SER NUMÉRICO');
   INCLUI_ERRCNABP ('422', '255', 'AGÊNCIA PARA PAGAMENTO INVÁLIDA');
   INCLUI_ERRCNABP ('422', '258', 'TIPO DE DOCUMENTO DO COMPROMISSO NÃO CADASTRADO');
   INCLUI_ERRCNABP ('422', '259', 'MOEDA NÃO CADASTRADA');
   INCLUI_ERRCNABP ('422', '260', 'DATA DE PAGAMENTO MENOR OU IGUAL A DATA DE HOJE');
   INCLUI_ERRCNABP ('422', '261', 'BANCO PORTADOR DO TÍTULO NÃO CADASTRADO');
   INCLUI_ERRCNABP ('422', '262', 'AGÊNCIA PARA PAGAMENTO NÃO CADASTRADA');
   INCLUI_ERRCNABP ('422', '264', 'DADOS INCLOMPLETOS PARA PAGAMENTO');
   INCLUI_ERRCNABP ('422', '265', 'DADOS INCOMPLETOS PARA PAGAMENTO COM DOC');
   INCLUI_ERRCNABP ('422', '266', 'DADOS INCOMPLETOS PARA PAGAMENTO EM C/C');
   INCLUI_ERRCNABP ('422', '269', 'COMPROMISSO VERUS AGÊNCIA PARA PAGAMENTO INCOMPLETO');
   INCLUI_ERRCNABP ('422', '271', 'COMPROMISSO JÁ AUTORIZADO OU BLOQUEADO');
   INCLUI_ERRCNABP ('422', '303', 'DATA INVÁLIDA');
   INCLUI_ERRCNABP ('422', '304', 'MOVIMENTO SEM HEADER (AGENCIA/CONTA DIFERENTE ENTRE HEADER E DETALHE)');
   INCLUI_ERRCNABP ('422', '312', 'NÚMERO DO DOCUMENTO (COMPROMISSO) INVÁLIDO');
   INCLUI_ERRCNABP ('422', '313', 'COMPROMISSO JÁ CADASTRADO');
   INCLUI_ERRCNABP ('422', '314', 'CÂMARA DE COMPENSAÇÃO INVÁLIDA');
   INCLUI_ERRCNABP ('422', '315', 'VALOR DO ABATIMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('422', '316', 'VALOR DO JURO/ MULTA INVÁLIDO');
   INCLUI_ERRCNABP ('422', '317', 'C/C DEVE SER NUMÉRICA');
   INCLUI_ERRCNABP ('422', '323', 'CÓDIGO DE INSTRUÇÃO INVÁLIDO');
   INCLUI_ERRCNABP ('422', '324', 'AGÊNCIA/CLIENTE ESTÁ DIFERENTE DO REGISTRO HEADER');
   INCLUI_ERRCNABP ('422', '325', 'FALTA REGISTRO NUMÉRICO  XXXX');
   INCLUI_ERRCNABP ('422', '326', 'REGISTRO FORA DE ORDEM');
   INCLUI_ERRCNABP ('422', '327', 'NUMÉRICO DO REGISTRO DEVE SER NUMÉRICO');
   INCLUI_ERRCNABP ('422', '328', 'CLIENTE  DIFERE EM RELAÇÃO ');
   INCLUI_ERRCNABP ('422', '331', 'VALOR AUTORIZADO INVÁLIDO');
   INCLUI_ERRCNABP ('422', '332', 'COMPROMISSO INVÁLIDO');
   INCLUI_ERRCNABP ('422', '333', 'COMPROMISSO NÃO PODE SER BLOQUEADO');
   INCLUI_ERRCNABP ('422', '334', 'COMPROMISSO NÃO PODE SER DESBLOQUEADO');
   INCLUI_ERRCNABP ('422', '335', 'CÓDIGO DE ALEGAÇÃO INVÁLIDO');
   INCLUI_ERRCNABP ('422', '336', 'DESCRIÇÃO DE ALEGAÇÃO INVÁLIDA');
   INCLUI_ERRCNABP ('422', '337', 'CLIENTE INVÁLIDO');
   INCLUI_ERRCNABP ('422', '347', 'VALOR AUTORIZADO NÃO NUMERICO');
   INCLUI_ERRCNABP ('422', '371', 'AGÊNCIA PARA CRÉDITO INVÁLIDA');
   INCLUI_ERRCNABP ('422', '375', 'AGÊNCIA/CONTA CORRENTE INVÁLIDA(TECBAN)');
   INCLUI_ERRCNABP ('422', '378', 'BANCO PORTADOR INVÁLIDO');
   INCLUI_ERRCNABP ('422', '379', 'BANCO DESTINO INVÁLIDO');
   INCLUI_ERRCNABP ('422', '382', 'COMPROMISSO DUPLICADO');
   INCLUI_ERRCNABP ('422', '536', 'LINHA DIGITÁVEL INVÁLIDA');
   INCLUI_ERRCNABP ('422', '537', 'REGISTRO REJEITADO NA CRITICA PREVIA');
   INCLUI_ERRCNABP ('422', '538', 'DATA INVÁLIDA PARA TIPO DE PAGAMENTO "CHQ"');
   INCLUI_ERRCNABP ('422', '588', 'CLIENTE NAO HABILITADO A CREDITAR CONTA SALARIO');
   INCLUI_ERRCNABP ('422', '598', 'FORNECEDOR INFORMADO NÃO É O TITULAR DA CONTA DESTINO');
   INCLUI_ERRCNABP ('422', '601', 'TIPO PAGAMENTO INVALIDO PARA CLIENTE SALARIO');
   INCLUI_ERRCNABP ('422', '602', 'PAGAMENTO CONTA SALARIO NAO PODE SER BLOQUEADO');
   INCLUI_ERRCNABP ('422', '603', 'TIPO DE DOCUMENTO EXCLUSIVO PARA CLIENTE CCS');
   INCLUI_ERRCNABP ('422', '604', 'TIPO DE DOCUMENTO DIFERENTE CCS');
   INCLUI_ERRCNABP ('422', '606', 'DIGITO DO CÓDIGO DE BARRAS INVÁLIDO');
   INCLUI_ERRCNABP ('422', '607', 'CLIENTE CREDITA SOMENTE CONTA SALARIO');
   INCLUI_ERRCNABP ('422', '654', 'TED INFERIOR AO VALOR MÍNIMO');
   INCLUI_ERRCNABP ('422', '632', 'CONTA INVESTIMENTO DE OUTRA TITULARIDADE');
   INCLUI_ERRCNABP ('422', '634', 'CONTA DESTINO NÃO É CONTA DE INVESTIMENTO');
   INCLUI_ERRCNABP ('422', '636', 'NÃO PERMITIDO. VALOR ACIMA DO LIMITE');
   INCLUI_ERRCNABP ('422', '639', 'TIPO DE DOC IGUAL DOC PARA CCI');
   INCLUI_ERRCNABP ('422', '640', 'AGÊNCIA OU CONTA INVESTIMENTO INVALIDA');
   INCLUI_ERRCNABP ('422', '650', 'INCLUSÃO INVAÇIDA PARA CAB');
   INCLUI_ERRCNABP ('422', '651', 'TED APÓS O HORÁRIO LIMITE (APÓS 17 HRS)');
   INCLUI_ERRCNABP ('422', '654', 'TED INFERIOR AO VALOR MINIMO');
   INCLUI_ERRCNABP ('422', '782', 'BANCO NÃO OPERANTE');
   INCLUI_ERRCNABP ('422', '786', 'REGISTRO NÃO ENCONTRADO NO SPB');
   INCLUI_ERRCNABP ('422', '813', 'CLENTE NÃO CRDITA CM');
   INCLUI_ERRCNABP ('422', '860', 'BANCO DE DESTINO INVALIDO PARA TED');
   INCLUI_ERRCNABP ('422', '875', 'CONTA BI NÃO ACEITA FAVORECIDO PF');
   INCLUI_ERRCNABP ('422', '876', 'FAVORECIDO DEVE SER DIFERENTE DE INSTITUIÇÃO FINANCEIRA (BI)');
   INCLUI_ERRCNABP ('422', '882', 'CONTAS ORIGEM E DESTINO NÃO SÃO IGUAIS');
   INCLUI_ERRCNABP ('422', '883', 'CONTA DESTINO NÃO PERTENCE AO TITULAR DA CCI');
   COMMIT;
END;
/
BEGIN
   -- BANCO UNIBANCO 409
   INCLUI_ERRCNABP ('409', '5301', 'CONTA CORRENTE DA EMPRESA NÃO NUMÉRICA, IGUAL A ZEROS, OU DÍGITO NÃO NUMÉRICO');
   INCLUI_ERRCNABP ('409', '5302', 'AGÊNCIA DA EMPRESA NÃO NUMÉRICA, IGUAL A ZEROS OU NÃO CADASTRADA NO UBB');
   INCLUI_ERRCNABP ('409', '5303', 'DÍGITO DA CONTA DA EMPRESA DIVERGENTE OU IGUAL A ZERO');
   INCLUI_ERRCNABP ('409', '5304', 'CONTA CORRENTE DA EMPRESA NÃO CADASTRADA NO UBB');
   INCLUI_ERRCNABP ('409', '5305', 'BANCO DO FAVORECIDO INVÁLIDO.NÃO NUMÉRICO, IGUAL A ZERO, NÃO CADASTRADO NO UBB OU TRATA-SE DE PAGAMENTO DE TÍTULO DE OUTRO BANCO (TIPO SERVIÇO "9") E O BANCO ESTÁ IGUAL A 409(UBB) ');
   INCLUI_ERRCNABP ('409', '5306', 'AGÊNCIA DO FAVORECIDO/DEBITADO INVÁLIDA OU INATIVA');
   INCLUI_ERRCNABP ('409', '5307', 'DÍGITO DA AGÊNCIA DO FAVORECIDO/DEBITADO IGUAL A BRANCOS OU NÃO NUMÉRICO');
   INCLUI_ERRCNABP ('409', '5308', 'C/C DO FAVORECIDO/DEBITADO NÃO NUMÉRICA OU IGUAL A ZEROS');
   INCLUI_ERRCNABP ('409', '5309', 'DÍGITO DA CONTA DO FAVORECIDO/DEBITADO NÃO NUMÉRICO OU IGUAL A ZEROS');
   INCLUI_ERRCNABP ('409', '5310', 'MEIO DE REPASSE INVÁLIDO - CONTATAR CENTRAL DE ATENDIMENTO');
   INCLUI_ERRCNABP ('409', '5311', 'BANCO DO FAVORECIDO/DEBITADO INEXISTENTE NA TABELA DE BANCOS');
   INCLUI_ERRCNABP ('409', '5312', 'AGÊNCIA FAVORECIDO/DEBITADO INEXISTENTE NO CADASTRO DE UNIDADES DO UBB');
   INCLUI_ERRCNABP ('409', '5313', 'EMISSÃO DE AVISO DIFERENTE DE 0,1 OU 2');
   INCLUI_ERRCNABP ('409', '5314', 'TIPO DE OPERAÇÃO DIFERENTE DE "5"-CRÉDITO OU "6"-DÉBITO');
   INCLUI_ERRCNABP ('409', '5315', 'TIPO DE SERVIÇO INVÁLIDO');
   INCLUI_ERRCNABP ('409', '5318', 'VALOR DA TRANSAÇÃO NÃO NUMÉRICO OU IGUAL A ZEROS');
   INCLUI_ERRCNABP ('409', '5319', 'VALOR SUPERIOR A TRAVA CONTRATADA.CONTATE SE GERENTE DE NEGÓCIOS E SERVIÇOS ELETRÔNICOS');
   INCLUI_ERRCNABP ('409', '5320', 'AGÊNCIA/ CONTA INVÁLIDA-PAGAMENTO DARF/GPS');
   INCLUI_ERRCNABP ('409', '5321', 'DATA DE GRAVAÇÃO INEXISTENTE');
   INCLUI_ERRCNABP ('409', '5322', 'DATA DE CRÉDITO/DÉBITO NÃO NUMÉRICA OU IGUAL A ZEROS');
   INCLUI_ERRCNABP ('409', '5323', 'DATA DE DÉBITO/CRÉDITO INVÁLIDA - PAGAMENTO DARF/GPS');
   INCLUI_ERRCNABP ('409', '5324', 'DATA CRÉDITO/DÉBITO INFERIOR À DATA PROCESSAMENTO(DE ACORDO COM O FLOAT)');
   INCLUI_ERRCNABP ('409', '5325', 'DATA DE CRÉDITO/DÉBITO INVÁLIDA.PARA TÍTULOS DE OUTROS BANCOS, SUPERIOR A 15 DIAS');
   INCLUI_ERRCNABP ('409', '5326', 'NOME DO FAVORECIDO/DEBITADO INVÁLIDO OU EM BRANCO');
   INCLUI_ERRCNABP ('409', '5327', 'LOGRADOURO/ENDEREÇO EM BRANCO');
   INCLUI_ERRCNABP ('409', '5328', 'NOME DA CIDADE EM BRANCO');
   INCLUI_ERRCNABP ('409', '5329', 'DATA APURAÇÃO INVÁLIDA - PAGAMENTO DARF');
   INCLUI_ERRCNABP ('409', '5330', 'ESTADO INEXISTENTE');
   INCLUI_ERRCNABP ('409', '5331', 'CEP NÃO NUMÉRICO');
   INCLUI_ERRCNABP ('409', '5332', 'NOME DA AGÊNCIA DO FAVORECIDO/DEBITADO EM BRANCO.SOMENTE PARA DOC EM QUE O CLIENTE INFORMA A PRAÇA DE COMPENSAÇÃO');
   INCLUI_ERRCNABP ('409', '5334', 'TIPO DOCUMENTO INVÁLIDO - PAGAMENTO DARF');
   INCLUI_ERRCNABP ('409', '5335', 'PRAÇA DE COMPENSAÇÃO INEXISTENTE');
   INCLUI_ERRCNABP ('409', '5336', 'AMARRAÇÃO HORIZONTAL DIFERENTE DO CALCULADO EM (CONTA + VALOR)* OPERAÇÃO');
   INCLUI_ERRCNABP ('409', '5337', 'CLIENTE NÃO CADASTRADO PARA O TIPO DE SERVIÇO INFORMADO');
   INCLUI_ERRCNABP ('409', '5338', 'TIPO DE OPERAÇÃO "6" -DÉBITO E O BANCO NÃO É "409"(UBB)');
   INCLUI_ERRCNABP ('409', '5342', 'CONTA MOVIMENTO DO CLIENTE NÃO CADASTRADA PARA PAGAMENTOS DE OCT/CE');
   INCLUI_ERRCNABP ('409', '5343', 'CÓDIGO DA TRANSAÇÃO DO CVT INVÁLIDO, PARA PAGAMENTOS DE OCT/CE');
   INCLUI_ERRCNABP ('409', '5344', 'CEDENTE NÃO CADASTRADO NO UNIBANCO PARA OPERAR COM TRANSAÇÕES DE COBRANÇA ESPECIAL');
   INCLUI_ERRCNABP ('409', '5345', 'N.º DE REFERÊNCIA DA COBRANÇA ESPECIAL INVÁLIDO');
   INCLUI_ERRCNABP ('409', '5346', 'DATA VENCIMENTO INVÁLIDA - PAGAMENTO DARF');
   INCLUI_ERRCNABP ('409', '5347', 'POSIÇÃO 220 A 234 - INVÁLIDA');
   INCLUI_ERRCNABP ('409', '5348', 'CEDENTE NÃO CADASTRADO NO UNIBANCO PARA OPERAR COM TRANSAÇÕES DE OCT');
   INCLUI_ERRCNABP ('409', '5349', 'TIPO DA SOLICITAÇÃO INVÁLIDO PARA PAGAMENTO ELETRÔNICO UNIBANCO(DIFERENTE DE 1 A 7)');
   INCLUI_ERRCNABP ('409', '5350', 'AGÊNCIA DOMICÍLIO INEXISTENTE PARA PAGAMENTO ELETRÔNICO UNIBANCO');
   INCLUI_ERRCNABP ('409', '5351', 'TIPO DE SERVIÇO NÃO AUTORIZADO PARA OPERAR COM PAGAMENTO ELETRÔNICO UNIBANCO');
   INCLUI_ERRCNABP ('409', '5352', 'NOSSO NÚMERO NÃO NUMÉRICO OU IGUAL A ZERO PARA ALTERAÇÃO, CANCELAMENTO OU EXCLUSÃO DE PAGAMENTOS(CÓD. DA OPERAÇÃO IGUAL A 2,3 OU 4');
   INCLUI_ERRCNABP ('409', '5353', 'NOSSO NÚMERO NÃO CADASTRADO P/ ALTERAÇÃO DE PAGTO');
   INCLUI_ERRCNABP ('409', '5354', 'NÚMERO DOCUMENTO INVÁLIDO - PAGAMENTO DARF/GPS');
   INCLUI_ERRCNABP ('409', '5355', 'CÓDIGO RECEITA INVÁLIDO - PAGAMENTO DARF/GPS');
   INCLUI_ERRCNABP ('409', '5356', 'NÃO É PERMITIDO A ALTERAÇÃO DE PAGAMENTO JÁ AUTORIZADO OU A DATA DO PAGAMENTO SOLICITADO É IGUAL A DATA DO PROCESSAMENTO');
   INCLUI_ERRCNABP ('409', '5357', 'NÃO É PERMITIDO O CANCELAMENTO DE PAGAMENTO NÃO AUTORIZADO OU A DATA DO PAGAMENTO SOLICITADO É IGUAL A DATA DO PROCESSAMENTO');
   INCLUI_ERRCNABP ('409', '5358', 'NÃO É PERMITIDO EXCLUSÃO DE PGTO AUTORIZADO, PAGO OU INATIVO OU, DATA DO PAGAMENTO SOLICITADO IGUAL A DATA DO PAGAMENTO');
   INCLUI_ERRCNABP ('409', '5359', 'NÃO É PERMITIDO ALTERAÇÃO DE PAGAMENTO COM OS SEGUINTES DADOS IGUAIS AO ANTERIOR: CÓDIGO DA OPERAÇÃO , C/C DA EMPRESA E NOSSO NÚMERO');
   INCLUI_ERRCNABP ('409', '5360', 'NÃO É PERMITIDO CANCELAMENTO COM OS SEGUINTES DADOS IGUAIS AO ANTERIOR: CÓDIGO DA OPERAÇÃO, C/C DA EMPRESA E NOSSO NÚMERO');
   INCLUI_ERRCNABP ('409', '5361', 'NÃO É PERMITIDO EXCLUSÃO DE PAGTO COM OS SEGUINTES DADOS IGUAIS AO ANTERIOR CÓDIGO DA OPERAÇÃO, C/C DA EMPRESA E NOSSO NÚMERO');
   INCLUI_ERRCNABP ('409', '5362', 'A EMPRESA ESTÁ SOLICITANDO CRÉDITO PARA UM BENEFICIÁRIO DE PAGAMENTO ELETRÔNICO UNIBANCO, SEM ANTES TER SOLICITADO O SEU CADASTRAMENTO');
   INCLUI_ERRCNABP ('409', '5363', 'A EMPRESA ESTÁ SOLICITANDO A INCLUSÃO DE UM BENEFICIÁRIO JÁ CADASTRADO NO PAGAMENTO ELETRÔNICO UNIBANCO');
   INCLUI_ERRCNABP ('409', '5364', 'SOLICITAÇÃO DE PAGAMENTO ELETRÔNICO UNIBANCO JÁ EFETUADA ANTERIORMENTE');
   INCLUI_ERRCNABP ('409', '5365', 'CÓDIGO DE MOEDA NÃO ENCONTRADO PARA PAGAMENTO DE TÍTULO DE OUTRO BANCO');
   INCLUI_ERRCNABP ('409', '5366', 'NOSSO NÚMERO DO OUTRO BANCO NÃO INFORMADO(EM BRANCO), PARA PAGAMENTO DE TÍTULO DE OUTRO BANCO(TIPO SERVIÇO "6" OU "9")');
   INCLUI_ERRCNABP ('409', '5367', 'CÓDIGO DE EMPRESA NÃO NUMÉRICO OU IGUAL A ZEROS PARA PAGAMENTO ELETRÔNICO UNIBANCO');
   INCLUI_ERRCNABP ('409', '5368', 'VALOR RECEITA INVÁLIDO.PAGAMENTO DARF');
   INCLUI_ERRCNABP ('409', '5369', 'DÍGITO DO NÚMERO DO BENEFICIÁRIO DIFERENTE DO CALCULADO PARA PAGAMENTO ELETRÔNICO UNIBANCO/CARTÃO SAQUE');
   INCLUI_ERRCNABP ('409', '5370', 'CLIENTE NÃO CADASTRADO NO UNIBANCO PARA OPERAR COM TRANSAÇÔES DE CONTAS A RECEBER');
   INCLUI_ERRCNABP ('409', '5371', 'CONTA DO CLIENTE NÃO NUMÉRICO, IGUAL A ZEROS OU INEXISTENTE');
   INCLUI_ERRCNABP ('409', '5372', 'NÃO É POSSÍVEL EFETUAR O PAGAMENTO PARA ESTA DATA, HORÁRIO LIMITE PARA ENVIO DE DOC JÁ EXPIRADO.PROCESSAMENTO JÁ EFETUADO');
   INCLUI_ERRCNABP ('409', '5373', 'NÃO É POSSÍVEL EFETUAR O PAGAMENTO PARA ESTA DATA, HORÁRIO LIMITE EXPIRADO.PROCESSAMENTO JÁ EFETUADO ');
   INCLUI_ERRCNABP ('409', '5374', 'CONTA CORRENTE NÃO CADASTRADA');
   INCLUI_ERRCNABP ('409', '5375', 'CÓDIGO DO IPTE INVÁLIDO');
   INCLUI_ERRCNABP ('409', '5376', 'CÓDIGO DE BARRAS INVÁLIDO');
   INCLUI_ERRCNABP ('409', '5377', 'AGENDAMENTO NÃO PERMITIDO');
   INCLUI_ERRCNABP ('409', '5378', 'OPERAÇÃO INVÁLIDA');
   INCLUI_ERRCNABP ('409', '5379', 'REFERÊNCIA INVÁLIDA - PAGAMENTO DARF');
   INCLUI_ERRCNABP ('409', '5380', 'AUTORIZAÇÃO NÃO PERMITIDA');
   INCLUI_ERRCNABP ('409', '5381', 'TÍTULO JÁ AUTORIZADO');
   INCLUI_ERRCNABP ('409', '5382', 'AGÊNCIA DOMICÍLIO INVÁLIDA');
   INCLUI_ERRCNABP ('409', '5384', 'NOTA FISCAL INVÁLIDA');
   INCLUI_ERRCNABP ('409', '5385', 'CNPJ / CPF INVÁLIDO');
   INCLUI_ERRCNABP ('409', '5388', 'PERCENTUAL RECEITA INVÁLIDO - PAGAMENTO DARF');
   INCLUI_ERRCNABP ('409', '5389', 'VALOR PRINCIPAL INVÁLIDO - PAGAMENTO DARF/GPS');
   INCLUI_ERRCNABP ('409', '5394', 'VALOR JUROS INVÁLIDO - PAGAMENTO DARF');
   INCLUI_ERRCNABP ('409', '5395', 'VALOR OUTROS INVÁLIDO - PAGAMENTO GPS');
   INCLUI_ERRCNABP ('409', '5396', 'VALOR TOTAL INVÁLIDO - PAGAMENTO DARF/GPS');
   INCLUI_ERRCNABP ('409', '5397', 'DATA COMPETÊNCIA INVÁLIDA - PAGAMENTO GPS');
   INCLUI_ERRCNABP ('409', '5399', 'CÓDIGO DA EMPRESA DIFERENTE DO CADASTRADO.O CLIENTE NÃO ESTÁ CADASTRADO PARA TRABALHAR COM CARTÂO SAQUE');
   INCLUI_ERRCNABP ('409', '5438', 'NÃO EXISTE CONTA CORRENTE');
   INCLUI_ERRCNABP ('409', '5439', 'SEM SALDO');
   INCLUI_ERRCNABP ('409', '5440', 'C/C - AGÊNCIA ENCERRADA');
   INCLUI_ERRCNABP ('409', '5441', 'C/C - AGÊNCIA INVÁLIDA');
   INCLUI_ERRCNABP ('409', '5442', 'C/C - AGÊNCIA INEXISTENTE NO CADASTRO DE AGÊNCIAS');
   INCLUI_ERRCNABP ('409', '5470', 'CONTA ENCERRADA');
   INCLUI_ERRCNABP ('409', '5471', 'BLOQUEIO JUDICIAL');
   INCLUI_ERRCNABP ('409', '5472', 'TRANSFERÊNCIA INSUFICIENTE');
   INCLUI_ERRCNABP ('409', '5473', 'AGÊNCIA, CONTA CORRENTE OU NOME DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP ('409', '5474', 'DOC-D INVÁLIDO - CONTA POUPANÇA');
   INCLUI_ERRCNABP ('409', '5475', 'DOC-D INVÁLIDO - CGC/CPF INVÁLIDO');
   INCLUI_ERRCNABP ('409', '5476', 'MOEDA INVÁLIDA');
   INCLUI_ERRCNABP ('409', '5477', 'CLIENTE RECUSOU O CRÉDITO');
   INCLUI_ERRCNABP ('409', '5486', 'IDENTIFICAÇÃO DO CLIENTE VISA INVÁLIDO');
   INCLUI_ERRCNABP ('409', '5487', 'NOME DO CLIENTE VISA INVÁLIDO');
   INCLUI_ERRCNABP ('409', '5499', 'CONTATAR UNIBANCO INFORMANDO O CÓDIGO DO ERRO IDENTIFICADO.O PAGAMENTO NÃO EFETUADO, ENCONTRA-SE NO STATUS "A RECONFIRMAR"');
   COMMIT;
END;
/
BEGIN
   -- BANCO BANESPA  033
   INCLUI_ERRCNABP ('033', '00', 'LANÇAMENTO EFETUADO');
   INCLUI_ERRCNABP ('033', '01', 'LANÇAMENTO NÃO EFETUADO');
   INCLUI_ERRCNABP ('033', '02', 'LANÇAMENTO CANCELADO PELO CONVENIADO');
   INCLUI_ERRCNABP ('033', 'AA', 'CONTROLE INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'AB', 'TIPO DE OPERAÇÃO INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'AC', 'TIPO DE SERVIÇO INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'AD', 'FORMA DE LANÇAMENTO INVÁLIDA');
   INCLUI_ERRCNABP ('033', 'AE', 'TIPO/NÚMERO DE INSCRIÇÃO INVÁLIDA');
   INCLUI_ERRCNABP ('033', 'AG', 'CONTA CORRENTE DO CONVENIADO(Nº.DA AGÊNCIA /Nº DA CONTA/DV)INVÁLIDA');
   INCLUI_ERRCNABP ('033', 'AH', 'NÚMERO SEQUENCIAL DO REGISTRO NO LOTE INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'AI', 'CÓDIGO DE SEGMENTO DE DETALHE INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'AJ', 'TIPO DE MOVIMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'AK', 'CÓDIGO DA CÂMARA DE COMPENSAÇÃO DO BANCO DO FAVORECIDO/DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'AL', 'CÓDIGO DO BANCO DO FAVORECIDO OU DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'AM', 'AGÊNCIA MANTENEDORA DA CONTA CORRENTE DO FAVORECIDO INVÁLIDA');
   INCLUI_ERRCNABP ('033', 'AN', 'CONTA CORRENTE/DV DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'AO', 'NOME DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP ('033', 'AP', 'DATA LANÇAMENTO INVÁLIDA');
   INCLUI_ERRCNABP ('033', 'AQ', 'TIPO/QUANTIDADE DA MOEDA INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'AR', 'VALOR DO LANÇAMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'AS', 'AVISO AO FAVORECIDO - IDENTIFICAÇÃO INVÁLIDA(INFORMATIVO)');
   INCLUI_ERRCNABP ('033', 'AT', 'TIPO/Nº DE INSCRIÇÃO DO FAVORECIDO NO SEGMENTO "B" INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'AU', 'LOGRADOURO DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP ('033', 'AW', 'CIDADE DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP ('033', 'AX', 'CEP/ COMPLEMENTO DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'AY', 'SIGLA DO ESTADO DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'AZ', 'CÓDIGO/ NOME DO BANCO DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'BC', 'NOSSO NÚMERO INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'BD', 'CONFIRMAÇÃO DE AGENDAMENTO DE COMPROMISSO');
   INCLUI_ERRCNABP ('033', 'CA', 'CÓDIGO DE BARRAS - CÓDIGO DO BANCO INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'CB', 'CÓDIGO DE BARRAS - CÓDIGO DA MOEDA INVÁLIDO ');
   INCLUI_ERRCNABP ('033', 'CC', 'CÓDIGO DE BARRAS - DÍGITO VERIFICADOR GERAL INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'CD', 'CÓDIGO DE BARRAS - VALOR DO TÍTULO INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'CE', 'CÓDIGO DE BARRAS - CAMPO LIVRE INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'CF', 'VALOR DO DOCUMENTO INFORMADO NO SEGMENTO "B" INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'CG', 'VALOR DO ABATIMENTO INFORMADO NO SEGMENTO "B" INVÁLIDO ');
   INCLUI_ERRCNABP ('033', 'CH', 'VALOR DO DESCONTO INFORMADO NO SEGMENTO "B" INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'CI', 'VALOR DA MORA INFORMADA NO SEGMENTO "B" INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'CJ', 'VALOR DA MULTA INFORMADA NO SEGMENTO "B" INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'HA', 'LOTE NÃO ACEITO');
   INCLUI_ERRCNABP ('033', 'HB', 'INSCRIÇÃO DA EMPRESA INVÁLIDA PARA O CONTRATO');
   INCLUI_ERRCNABP ('033', 'HC', 'CONVÊNIO COM A EMPRESA INEXISTENTE/INVÁLIDO PARA O CONTRATO');
   INCLUI_ERRCNABP ('033', 'HD', 'AGÊNCIA/ CONTA CORRENTE DA EMPRESA INEXISTENTE/ INVÁLIDA PARA CONTRATO');
   INCLUI_ERRCNABP ('033', 'HE', 'TIPO DE SERVIÇO INVÁLIDO PARA O CONTRATO');
   INCLUI_ERRCNABP ('033', 'TA', 'LOTE NÃO ACEITO - TOTAIS DO LOTE COM DIFERENÇA');
   INCLUI_ERRCNABP ('033', 'XA', 'TIPO DE LANÇAMENTO = 50(GPS) E TIPO DE SERVIÇO DIFERENTE DE 20');
   INCLUI_ERRCNABP ('033', 'XB', 'TIPO DE LANÇAMENTO = 50(GPS) E NÚMERO DE INSCRIÇÃO DO CONTRIBUINTE IGUAL A ZEROS');
   INCLUI_ERRCNABP ('033', 'XC', 'CÓDIGO DO PAGAMENTO OU COMPETÊNCIA OU Nº DE INSCRIÇÃO NO INSS INVÁLIDO');
   INCLUI_ERRCNABP ('033', 'XD', 'BANCO DA CONTA CORRENTE DO FAVORECIDO DIFERENTE DE ZEROS');
   INCLUI_ERRCNABP ('033', 'XE', 'AGÊNCIA, DÍGITO AGÊNCIA, Nº DA CONTA, DÍGITO CONTA OU DÍGITO AGÊNCIA-CONTA NÃO NUMÉRICO OU DIFERENTE DE ZERO');
   INCLUI_ERRCNABP ('033', 'XF', 'CÓD.PAGTO.OU COMPET. NÃO NUMÉRICO OU = ZEROS.TIPO TRIBUTO DIFERENTE DE GPS');
   COMMIT;
END;
/
BEGIN
   -- BANCO DO BRASIL  001
   INCLUI_ERRCNABP ('001', 'HA', 'LOTE NÃO ACEITO');
   INCLUI_ERRCNABP ('001', 'HB', 'INSCRIÇÃO DA EMPRESA INVÁLIDA PARA O CONTRATO');
   INCLUI_ERRCNABP ('001', 'HC', 'CONVÊNIO COM A EMPRESA INEXISTENTE/INVÁLIDO PARA O CONTRATO');
   INCLUI_ERRCNABP ('001', 'HD', 'AGENCIA/CONTA DA EMPRESA INEXISTENTE/INVÁLIDA PARA O CONTRATO');
   INCLUI_ERRCNABP ('001', 'HE', 'TIPO DE SERVIÇO INVÁLIDO PARA O CONTRATO');
   INCLUI_ERRCNABP ('001', 'HF', 'CONTA CORRENTE DA EMPRESA COM SALDO INSUFICIENTE');
   INCLUI_ERRCNABP ('001', 'HG', 'LOTE DE SERVIÇO FORA DE SEQUÊNCIA');
   INCLUI_ERRCNABP ('001', 'HH', 'LOTE DE SERVIÇO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AA', 'CONTROLE INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AB', 'TIPO DE OPERAÇÃO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AC', 'TIPO DE SERVIÇO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AD', 'FORMA DE LANÇAMENTO INVÁLIDA');
   INCLUI_ERRCNABP ('001', 'AE', 'TIPO/NÚMERO DE INSCRIÇÃO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AF', 'CÓDIGO DE CONVÊNIO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AG', 'AGÊNCIA/CONTA CORRENTE/DV INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AH', 'N SEQUENCIAL DO REGISTRO NO LOTE INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AI', 'CÓDIGO DE SEGMENTO DE DETALHE INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AJ', 'TIPO DE MOVIMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AK', 'CÓDIGO DA CAMARA DE COMPENSAÇÃO DO BANCO DO FAVORECIDO DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AL', 'CÓDIGO DO BANCO DO FAVORECIDO OU DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AM', 'AGÊNCIA MANTENEDORA DA CONTA C/C DO FAVORECIDO INVÁLIDA');
   INCLUI_ERRCNABP ('001', 'AN', 'CONTA CORRENTE/DV DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AO', 'NOME DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP ('001', 'AP', 'DATA LANÇAMENTO INVÁLIDA');
   INCLUI_ERRCNABP ('001', 'AQ', 'TIPO/QUANTIDADE DA MOEDA INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AR', 'VALOR DO LANÇAMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AS', 'AVISO AO FAVORECIDO - IDENTIFICAÇÃO INVÁLIDA');
   INCLUI_ERRCNABP ('001', 'AT', 'TIPO/NUMERO DE INSCRIÇÃO DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AU', 'LOGRADOURO DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP ('001', 'AV', 'N DO LOCAL DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP ('001', 'AW', 'CIDADE DO FAVORECIDO NÃO INFORMADA');
   INCLUI_ERRCNABP ('001', 'AX', 'CEP/COMPLEMENTO DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'AY', 'SIGLA DO ESTADO DO FAVORECIDO INVÁLIDA');
   INCLUI_ERRCNABP ('001', 'AZ', 'CÓDIGO/NOME DO BANCO DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'BA', 'CÓDIGO/NOME DA AGÊNCIA DEPOSITÁRIA NÃO INFORMADO');
   INCLUI_ERRCNABP ('001', 'BB', 'SEU NÚMERO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'BC', 'NOSSO NÚMERO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'BD', 'CONFIRMAÇÃO DE PAGAMENTO AGENDADO');
   INCLUI_ERRCNABP ('001', 'BE', 'CPF/CGC DO CREDITADO NÃO CORRESPONDE A AGÊNCIA /CONTA INFORMADAS');
   INCLUI_ERRCNABP ('001', 'CA', 'CÓDIGO DE BARRAS - CÓDIGO DO BANCO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'CB', 'CÓDIGO DE BARRAS - CÓDIGO DA MOEDA INVÁLIDO ');
   INCLUI_ERRCNABP ('001', 'CC', 'CÓDIGO DE BARRAS - DÍGITO VERIFICADOR GERAL INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'CD', 'CÓDIGO DE BARRAS - VALOR DO TÍTULO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'CE', 'CÓDIGO DE BARRAS - CAMPO LIVRE INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'CF', 'VALOR DO DOCUMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'CG', 'VALOR DO ABATIMENTO INVÁLIDO ');
   INCLUI_ERRCNABP ('001', 'CH', 'VALOR DO DESCONTO INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'CI', 'VALOR DE MORA INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'CJ', 'VALOR DA MULTA INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'CK', 'VALOR DO IR INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'CL', 'VALOR DO ISS INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'CM', 'VALOR DO IOF INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'CN', 'VALOR DE OUTRAS DEDUÇÕES INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'CO', 'VALOR DE OUTROS ACRÉSCIMOS INVÁLIDO');
   INCLUI_ERRCNABP ('001', 'TA', 'LOTE NÃO ACEITO - TOTAIS DO LOTE COM DIFERENÇA');
   COMMIT;
END;
/
BEGIN
   -- BANCO DE BOSTON 479
   INCLUI_ERRCNABP ('479', '100', 'CONTA-CORRENTE NÃO CADASTRADA');
   INCLUI_ERRCNABP ('479', '104', 'CÓDIGO BANCO NÃO CADASTRADO');
   INCLUI_ERRCNABP ('479', '105', 'CÓDIGO AGÊNCIA NÃO CADASTRADO');
   INCLUI_ERRCNABP ('479', '106', 'CÓDIGO CLIENTE NÃO CADASTRADO');
   INCLUI_ERRCNABP ('479', '112', 'TRANSAÇÃO INVÁLIDA - JÁ CADASTRADO');
   INCLUI_ERRCNABP ('479', '130', 'COMPROMISSO COM PAGAMENTO JÁ EFETUADO');
   INCLUI_ERRCNABP ('479', '132', 'CÓDIGO FORNECEDOR NÃO CADASTRADO');
   INCLUI_ERRCNABP ('479', '133', 'DADOS INCOMPLETOS OU INVÁLIDOS');
   INCLUI_ERRCNABP ('479', '134', 'DADOS INCOMPLETOS REFERENTE AO TIPO DE PAGAMENTO');
   INCLUI_ERRCNABP ('479', '137', 'NUMERO DO DOCUMENTO ESTA DIFERENTE');
   INCLUI_ERRCNABP ('479', '139', 'COMPROMISSO NÃO CADASTRADO');
   INCLUI_ERRCNABP ('479', '142', 'DATA DE BAIXA INCOMPATIVEL COM DATA DE PAGTO');
   INCLUI_ERRCNABP ('479', '150', 'CLIENTE NÃO CADASTRADO EM BASES GERAIS');
   INCLUI_ERRCNABP ('479', '151', 'CLIENTE NÃO CADASTRADO PARA PAYMENTS EM BASES GERAIS');
   INCLUI_ERRCNABP ('479', '152', 'CLIENTE NÃO CADASTRADO NO RB-PES/RB-CLI :CONTATAR SISTEMAS');
   INCLUI_ERRCNABP ('479', '156', 'PONTO DE VENDA NÃO CADASTRADO');
   INCLUI_ERRCNABP ('479', '157', 'AGÊNCIA C/C INVÁLIDA');
   INCLUI_ERRCNABP ('479', '158', 'NUMERO C/C INVÁLIDO');
   INCLUI_ERRCNABP ('479', '159', 'COD ENDERECO PARA CORRESPONDENCIA INVÁLIDO');
   INCLUI_ERRCNABP ('479', '161', 'CAIXA POSTAL NÃO INFORMADA');
   INCLUI_ERRCNABP ('479', '162', 'CAIXA POSTAL INTERNA NÃO INFORMADA');
   INCLUI_ERRCNABP ('479', '166', 'OPÇÃO DE CGC INVÁLIDA');
   INCLUI_ERRCNABP ('479', '181', 'TIPO DE DOCUMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('479', '182', 'FORNECEDOR NÃO POSSUI CONVENIO PARA COBRANCA');
   INCLUI_ERRCNABP ('479', '193', 'BCO P/ PAGAMENTO NÃO E BANCO CONVENIADO');
   INCLUI_ERRCNABP ('479', '197', 'DATA PAGTO E FERIADO NA SUC PAGTO OU SUC DE DEBITO');
   INCLUI_ERRCNABP ('479', '198', 'COMPROMISSO JÁ FOI DEBITADO DO CLIENTE');
   INCLUI_ERRCNABP ('479', '200', 'NOME E ENDERECO DE FORNECEDOR OBRIGATORIOS');
   INCLUI_ERRCNABP ('479', '201', 'COD FORNECEDOR NÃO NUMERICO');
   INCLUI_ERRCNABP ('479', '202', 'COD FORNECEDOR C/DIGITO INVÁLIDO');
   INCLUI_ERRCNABP ('479', '203', 'CGC/CPF NÃO NUMERICO');
   INCLUI_ERRCNABP ('479', '204', 'CGC/CPF C/DIGITO INVÁLIDO');
   INCLUI_ERRCNABP ('479', '206', 'BANCO P/CREDITO NÃO NUMERICO');
   INCLUI_ERRCNABP ('479', '207', 'AGÊNCIA P/CREDITO NÃO NUMERICA');
   INCLUI_ERRCNABP ('479', '208', 'AGÊNCIA DO BOSTON NÃO ESTA CADASTRADA');
   INCLUI_ERRCNABP ('479', '210', 'BANCO P/CREDITO NÃO ESTA CADASTRADO');
   INCLUI_ERRCNABP ('479', '211', 'AGÊNCIA/CONTA DO BOSTON NÃO ESTA CADASTRADA');
   INCLUI_ERRCNABP ('479', '212', 'CLIENTE NÃO TROCA FITA DE PAYMENTS');
   INCLUI_ERRCNABP ('479', '213', 'ARQUIVO JÁ PROCESSADO');
   INCLUI_ERRCNABP ('479', '214', 'CONVENIO NÃO CADASTRADO PARA AGÊNCIA');
   INCLUI_ERRCNABP ('479', '216', 'DATA VENCIMENTO INVÁLIDA PARA PAGTO EM "COB"');
   INCLUI_ERRCNABP ('479', '221', 'REGISTRO DE REDIGITAÇÃO NÃO CADASTRADO');
   INCLUI_ERRCNABP ('479', '223', 'AGÊNCIA DE PAGAMENTO COM CONTEUDO NÃO NUMERICO');
   INCLUI_ERRCNABP ('479', '233', 'AGÊNCIA INVÁLIDA - NÃO IMPLANTADA PAYMENTS');
   INCLUI_ERRCNABP ('479', '235', 'CLIENTE NÃO AUTORIZADO CADASTRAR PAGTO HOJE');
   INCLUI_ERRCNABP ('479', '236', 'HORARIO LIMITE P/CADASTRAR HOJE, ENCERRADA');
   INCLUI_ERRCNABP ('479', '240', 'CONVENIO NÃO ACEITA COMPR. C/ DATA PGTO > VENCTO');
   INCLUI_ERRCNABP ('479', '241', 'DATA PARA DEBITO FOI ALTERADA PARA PROXIMO DIA UTIL');
   INCLUI_ERRCNABP ('479', '242', 'DT.DEB.ALTERADA. FLOAT NÃO PODE SER > QUE CONVENIO OU > 3');
   INCLUI_ERRCNABP ('479', '247', 'OPÇÃO NÃO PERMITIDA,CONVENIO MODAL.VAREJO');
   INCLUI_ERRCNABP ('479', '250', 'DATA VENCIMENTO OU VALOR ZERADOS OU NÃO NUMERICOS');
   INCLUI_ERRCNABP ('479', '251', 'DATA VENCIMENTO INVÁLIDA');
   INCLUI_ERRCNABP ('479', '252', 'TIPO DE PAGAMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('479', '253', 'DATA DE PAGAMENTO INVÁLIDA');
   INCLUI_ERRCNABP ('479', '254', 'BANCO PORTADOR DO TITULO NÃO NUMERICO');
   INCLUI_ERRCNABP ('479', '255', 'AGÊNCIA DE PAGAMENTO NÃO NUMERICA');
   INCLUI_ERRCNABP ('479', '258', 'TIPO DE DOCUMENTO DE COMPROMISSO NÃO CADASTRADO');
   INCLUI_ERRCNABP ('479', '259', 'MOEDA NÃO ESTA CADASTRADA');
   INCLUI_ERRCNABP ('479', '260', 'DATA DE PAGAMENTO NÃO PODE SER MENOR OU IGUAL DATA DE HOJE');
   INCLUI_ERRCNABP ('479', '261', 'BANCO PORTADOR NÃO ESTA CADASTRADO');
   INCLUI_ERRCNABP ('479', '262', 'AGÊNCIA DE PAGAMENTO NÃO ESTA CADASTRADA');
   INCLUI_ERRCNABP ('479', '263', 'AGÊNCIA DE PAGAMENTO NÃO E BANCO');
   INCLUI_ERRCNABP ('479', '264', 'DADOS INCOMPLETOS PARA PAGAMENTO');
   INCLUI_ERRCNABP ('479', '265', 'PAGTO EM DOC FALTANDO DADOS');
   INCLUI_ERRCNABP ('479', '266', 'PAGTO EM CC FALTANDO DADOS');
   INCLUI_ERRCNABP ('479', '267', 'PAGTO EM COB FALTANDO DADOS');
   INCLUI_ERRCNABP ('479', '270', 'CAMARA COMPENSAÇÃO NÃO EXISTE PARA O BANCO');
   INCLUI_ERRCNABP ('479', '271', 'COMPROMISSO DOMICILIO VAREJO SO ACEITA OCORRENCIA C04');
   INCLUI_ERRCNABP ('479', '276', 'TIPO PAGAMENTO INVÁLIDO P/COBRANCA VAREJO');
   INCLUI_ERRCNABP ('479', '281', 'NOTA FISCAL INVÁLIDA P/COBRANCA VAREJO ');
   INCLUI_ERRCNABP ('479', '282', 'VALOR NOTA DEVOLUÇÃO INVÁLIDO P/COB.VAREJO');
   INCLUI_ERRCNABP ('479', '285', 'TIPO DE COMPROMISSO INVÁLIDO P/COBRANCA VAREJO');
   INCLUI_ERRCNABP ('479', '299', 'CÓDIGO DE BARRA INVÁLIDO');
   INCLUI_ERRCNABP ('479', '300', 'ARQUIVO REMESSA SEM REGISTROS DE DETALHE  ');
   INCLUI_ERRCNABP ('479', '301', 'DATA RECEBIMENTO MENOR DATA REFERENCIA');
   INCLUI_ERRCNABP ('479', '302', 'NUMERO REGISTRO DO HEADER DIFERENTE 1');
   INCLUI_ERRCNABP ('479', '303', 'REGISTRO DE HEADER DO MOVIMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('479', '304', 'MOVIMENTO SEM HEADER');
   INCLUI_ERRCNABP ('479', '305', 'REGISTRO DO ARQUIVO REMESSA NÃO IDENTIFICADO');
   INCLUI_ERRCNABP ('479', '306', 'VOLUME COM DADOS DUPLICADOS');
   INCLUI_ERRCNABP ('479', '312', 'NUMERO COMPROMISSO INVÁLIDO');
   INCLUI_ERRCNABP ('479', '313', 'COMPROMISSO JÁ CADASTRADO');
   INCLUI_ERRCNABP ('479', '314', 'CAMARA COMPENSAÇÃO INVÁLIDA');
   INCLUI_ERRCNABP ('479', '315', 'VALOR ABATIMENTO INVÁLIDO');
   INCLUI_ERRCNABP ('479', '316', 'VALOR JUROS-MULTA INVÁLIDO');
   INCLUI_ERRCNABP ('479', '317', 'CONTA-CORRENTE NÃO NUMERICA');
   INCLUI_ERRCNABP ('479', '320', 'TITULO NÃO CAPTURADO DEVIDO ERRO CGC/CPF SACADO');
   INCLUI_ERRCNABP ('479', '321', 'TITULO CAPTURADO INDEVIDAMENTE ESTE CONVENIO');
   INCLUI_ERRCNABP ('479', '322', 'NÃO EXISTEM INSTRUCOES PARA ESSE TITULO');
   INCLUI_ERRCNABP ('479', '323', 'TIPO CÓDIGO INSCRIÇÃO INVÁLIDO');
   INCLUI_ERRCNABP ('479', '324', 'PTO VENDA/CONVENIO DIFERENTE DO HEADER');
   INCLUI_ERRCNABP ('479', '325', 'FALTA REGISTRO NUMERO XXXXX');
   INCLUI_ERRCNABP ('479', '326', 'REGISTRO FORA DE ORDEM');
   INCLUI_ERRCNABP ('479', '327', 'NUMERO REGISTRO NÃO NUMERICO');
   INCLUI_ERRCNABP ('479', '328', 'IDENTIFICAÇÃO CLIENTE DIFERENTE DO INICIAL');
   INCLUI_ERRCNABP ('479', '329', 'CÓDIGO OPERAÇÃO INVÁLIDO');
   INCLUI_ERRCNABP ('479', '330', 'CÓDIGO OCORRENCIA INVÁLIDO');
   INCLUI_ERRCNABP ('479', '331', 'VALOR AUTORIZADO INVÁLIDO');
   INCLUI_ERRCNABP ('479', '332', 'COMPROMISSO INVÁLIDO');
   INCLUI_ERRCNABP ('479', '333', 'COMPROMISSO NÃO PODE SER BLOQUEADO');
   INCLUI_ERRCNABP ('479', '334', 'COMPROMISSO NÃO PODE SER DESBLOQUEADO');
   INCLUI_ERRCNABP ('479', '335', 'CÓDIGO ALEGAÇÃO INVÁLIDO');
   INCLUI_ERRCNABP ('479', '336', 'DESCRIÇÃO DA ALEGAÇÃO INVÁLIDA');
   INCLUI_ERRCNABP ('479', '337', 'IDENTIFICAÇÃO DO CLIENTE INVÁLIDA');
   INCLUI_ERRCNABP ('479', '340', 'COMPR NÃO PODE SER EXCLUIDO - JÁ DEBITADO');
   INCLUI_ERRCNABP ('479', '345', 'ALTERAÇÃO DE AVISO INVÁLIDA NO PROCESSAMENTO DA REMESSA');
   INCLUI_ERRCNABP ('479', '350', 'COMPR EM OUTRAS MOEDAS INVAL P LISTA DE DEBITO');
   INCLUI_ERRCNABP ('479', '355', 'VL. MOEDA NÃO CADASTRADO BASE GERAIS');
   INCLUI_ERRCNABP ('479', '357', 'NUMERO DO BORDERO INVÁLIDO');
   INCLUI_ERRCNABP ('479', '360', 'VAL. CHECKSUM INVÁLIDO');
   INCLUI_ERRCNABP ('479', '361', 'CÓDIGO TERCEIRIZADA NÃO CADASTRADO');
   INCLUI_ERRCNABP ('479', '362', 'NUMERO DO LOTE IGUAL A ZEROS');
   INCLUI_ERRCNABP ('479', '363', 'CONVENIO NÃO TEM MODALIDADE TERCEIRIZADA');
   INCLUI_ERRCNABP ('479', '364', 'TP.PAGTO INVÁLIDO P/ TERCEIRIZADA');
   INCLUI_ERRCNABP ('479', '365', 'COD.OCORR.INVAL.P/TERCEIRIZADA');
   INCLUI_ERRCNABP ('479', '371', 'BANCO PARA PAGAMENTO ESTA INATIVO');
   INCLUI_ERRCNABP ('479', '372', 'VALOR TED ABAIXO DO LIMITE');
   INCLUI_ERRCNABP ('479', '373', 'CONTA CORRENTE RESTRITA PARA DEBITO');
   INCLUI_ERRCNABP ('479', '375', 'NUMERO DA AG.DO BCO DESTINO INVÁLIDA');
   INCLUI_ERRCNABP ('479', '376', 'NUMERO DA C/C DA AG.DO BCO DESTINO INVÁLIDA');
   INCLUI_ERRCNABP ('479', '511', 'TIPO DE COMPROMISSO SO PARA FOLHA DE PAGAMENTO');
   INCLUI_ERRCNABP ('479', '512', 'TIPO DE PAGAMENTO INVÁLIDO PARA FOLHA');
   INCLUI_ERRCNABP ('479', '514', 'FORNECEDOR INVÁLIDO PARA FOLHA DE PAGAMENTO');
   INCLUI_ERRCNABP ('479', '516', 'NOME DO FORNECEDOR NÃO PREENCHIDO');
   INCLUI_ERRCNABP ('479', '522', 'TIPO DE COMPR.INVAL.P/CONV.C/DEB.EM C.CONTABIL');
   INCLUI_ERRCNABP ('479', '530', 'ALTERAÇÃO DE VALOR INVÁLIDA PARA ESTE CONVENIO');
   INCLUI_ERRCNABP ('479', '535', 'TP PAGTO NÃO PODE SER CHEQUE P/CONV.DEB.DE CTA CONTABIL');
   INCLUI_ERRCNABP ('479', '810', 'NÃO EXISTE REGISTRO DE HEADER NO ARQUIVO');
   INCLUI_ERRCNABP ('479', '812', 'VERSAO DO HEADER DO ARQUIVO DIFERENTE DO HEADER NO CONTROLE');
   INCLUI_ERRCNABP ('479', '857', 'OPERAÇÃO INVÁLIDA');
   INCLUI_ERRCNABP ('479', '859', 'COMPROMISSO JÁ AUTORIZADO');
   INCLUI_ERRCNABP ('479', '999', 'COMPROMISSO JÁ LIQUIDADO');
   COMMIT;
END;
/
BEGIN 
   -- BANCO CAIXA ECONÔMICA FEDERAL 104
   INCLUI_ERRCNABP('104', '00', 'CRÉDITO OU DÉBITO EFETIVADO');
   INCLUI_ERRCNABP('104', '00', 'CRÉDITO OU DÉBITO EFETIVADO');
   INCLUI_ERRCNABP('104', '01', 'INSUFICIÊNCIA DE FUNDOS - DÉBITO NÃO EFETUADO');
   INCLUI_ERRCNABP('104', '02', 'CRÉDITO OU DÉBITO CANCELADO PELO PAGADOR/CREDOR');
   INCLUI_ERRCNABP('104', '03', 'DÉBITO AUTORIZADO PELA AGÊNCIA - EFETUADO');
   INCLUI_ERRCNABP('104', 'HA', 'LOTE NÃO ACEITO');
   INCLUI_ERRCNABP('104', 'HB', 'INSCRIÇÃO DA EMPRESA INVÁLIDA PARA O CONTRATO');
   INCLUI_ERRCNABP('104', 'HC', 'CONVÊNIO COM A EMPRESA INEXISTENTE/INVÁLIDO PARA O CONTRATO');
   INCLUI_ERRCNABP('104', 'HD', 'AGÊNCIA/CONTA CORRENTE DA EMPRESA INEXISTENTE/INVÁLIDO PARA O CONTRATO');
   INCLUI_ERRCNABP('104', 'HE', 'TIPO DE SERVIÇO INVÁLIDO PARA O CONTRATO');
   INCLUI_ERRCNABP('104', 'HF', 'CONTA CORRENTE DA EMPRESA COM SALDO INSUFICIENTE');
   INCLUI_ERRCNABP('104', 'HG', 'LOTE DE SERVIÇO FORA DE SEQÜÊNCIA');
   INCLUI_ERRCNABP('104', 'HH', 'LOTE DE SERVIÇO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'HI', 'NÚMERO DA REMESSA INVÁLIDO');
   INCLUI_ERRCNABP('104', 'HJ', 'ARQUIVO SEM “HEADER”');
   INCLUI_ERRCNABP('104', 'HM', 'VERSÃO DO ARQUIVO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AA', 'CONTROLE INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AB', 'TIPO DE OPERAÇÃO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AC', 'TIPO DE SERVIÇO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AD', 'FORMA DE LANÇAMENTO INVÁLIDA');
   INCLUI_ERRCNABP('104', 'AE', 'TIPO/NÚMERO DE INSCRIÇÃO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AF', 'CÓDIGO DE CONVÊNIO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AG', 'AGÊNCIA/CONTA CORRENTE/DV INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AH', 'NÚMERO SEQÜENCIAL DO REGISTRO NO LOTE INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AI', 'CÓDIGO DE SEGMENTO DE DETALHE INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AJ', 'TIPO DE MOVIMENTO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AK', 'CÓDIGO DA CÂMARA DE COMPENSAÇÃO DO BANCO FAVORECIDO/DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AL', 'CÓDIGO DO BANCO FAVORECIDO OU DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AM', 'AGÊNCIA MANTENEDORA DA CONTA CORRENTE DO FAVORECIDO INVÁLIDA');
   INCLUI_ERRCNABP('104', 'AN', 'CONTA CORRENTE / DV DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AO', 'NOME DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP('104', 'AP', 'DATA DE LANÇAMENTO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AQ', 'TIPO/QUANTIDADE DE MOEDA INVÁLIDA');
   INCLUI_ERRCNABP('104', 'AR', 'VALOR DO LANÇAMENTO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AS', 'AVISO AO FAVORECIDO - IDENTIFICAÇÃO INVÁLIDA');
   INCLUI_ERRCNABP('104', 'AT', 'TIPO/NÚMERO DE INSCRIÇÃO DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AU', 'LOGRADOURO DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP('104', 'AV', 'NÚMERO DO LOCAL DO FAVORECIDO NÃO INFORMADO');
   INCLUI_ERRCNABP('104', 'AW', 'CIDADE DO FAVORECIDO NÃO INFORMADA');
   INCLUI_ERRCNABP('104', 'AX', 'CEP/COMPLEMENTO DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AY', 'SIGLA DO ESTADO DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'AZ', 'CÓDIGO/NOME DO BANCO DEPOSITÁRIO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'BA', 'CÓDIGO/NOME DA AGÊNCIA DEPOSITÁRIA NÃO INFORMADO');
   INCLUI_ERRCNABP('104', 'BB', 'SEU NÚMERO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'BC', 'NOSSO NÚMERO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'BD', 'INCLUSÃO EFETUADA COM SUCESSO');
   INCLUI_ERRCNABP('104', 'BE', 'ALTERAÇÃO EFETUADA COM SUCESSO');
   INCLUI_ERRCNABP('104', 'BF', 'EXCLUSÃO EFETUADA COM SUCESSO');
   INCLUI_ERRCNABP('104', 'BG', 'AGÊNCIA/CONTA IMPEDIDA LEGALMENTE');
   INCLUI_ERRCNABP('104', 'CA', 'CÓDIGO DE BARRAS - CÓDIGO DO BANCO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'CB', 'CÓDIGO DE BARRAS - CÓDIGO DA MOEDA INVÁLIDA');
   INCLUI_ERRCNABP('104', 'CC', 'CÓDIGO DE BARRAS - DÍGITO VERIFICADOR GERAL INVÁLIDO');
   INCLUI_ERRCNABP('104', 'CD', 'CÓDIGO DE BARRAS - VALOR DO TÍTULO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'CE', 'CÓDIGO DE BARRAS - CAMPO LIVRE INVÁLIDO');
   INCLUI_ERRCNABP('104', 'CF', 'VALOR DO DOCUMENTO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'CG', 'VALOR DO ABATIMENTO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'CH', 'VALOR DO DESCONTO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'CI', 'VALOR DE MORA INVÁLIDO');
   INCLUI_ERRCNABP('104', 'CJ', 'VALOR DA MULTA INVÁLIDO');
   INCLUI_ERRCNABP('104', 'CK', 'VALOR DO IR INVÁLIDO');
   INCLUI_ERRCNABP('104', 'CL', 'VALOR DO ISS INVÁLIDO');
   INCLUI_ERRCNABP('104', 'CM', 'VALOR DO IOF INVÁLIDO');
   INCLUI_ERRCNABP('104', 'CN', 'VALOR DE OUTRAS DEDUÇÕES INVÁLIDO');
   INCLUI_ERRCNABP('104', 'CO', 'VALOR DE OUTROS ACRÉSCIMOS INVÁLIDO');
   INCLUI_ERRCNABP('104', 'CP', 'VALOR DO INSS INVÁLIDO');
   INCLUI_ERRCNABP('104', 'CQ', 'CÓDIGO DE BARRAS INVÁLIDO');
   INCLUI_ERRCNABP('104', 'TA', 'LOTE NÃO ACEITO - TOTAIS DE LOTE COM DIFERENÇA');
   INCLUI_ERRCNABP('104', 'TB', 'LOTE SEM TRAILLER');
   INCLUI_ERRCNABP('104', 'TC', 'LOTE DE ARQUIVO SEM TRAILLER');
   INCLUI_ERRCNABP('104', 'YA', 'TÍTULO NÃO ENCONTRADO');
   INCLUI_ERRCNABP('104', 'YB', 'IDENTIFICADOR REGISTRO OPCIONAL INVÁLIDO');
   INCLUI_ERRCNABP('104', 'YC', 'CÓDIGO PADRÃO INVÁLIDO');
   INCLUI_ERRCNABP('104', 'YD', 'CÓDIGO DE OCORRÊNCIA INVÁLIDO');
   INCLUI_ERRCNABP('104', 'YE', 'COMPLEMENTO DE OCORRÊNCIA INVÁLIDO');
   INCLUI_ERRCNABP('104', 'YF', 'ALEGAÇÃO JÁ INFORMADA');
   COMMIT;
END;
/
BEGIN 
   -- BANCO RURAL 453
   INCLUI_ERRCNABP('453', '295', 'Data de vencimeto Código Barras menor que data pagamento');
   INCLUI_ERRCNABP('453', '296', 'Usuário não cadastrado no sistema');
   INCLUI_ERRCNABP('453', '297', 'Código do serviço inválido');
   INCLUI_ERRCNABP('453', '298', 'Data de pagamento anterior a data de processamento');
   INCLUI_ERRCNABP('453', '299', 'Espécie de pagamento inválida');
   INCLUI_ERRCNABP('453', '300', 'Tipo de pagamento inválido');
   INCLUI_ERRCNABP('453', '301', 'Dados do favorecido incompletos');
   INCLUI_ERRCNABP('453', '302', 'Número do CGC/CPF do favorecido inválido');
   INCLUI_ERRCNABP('453', '303', 'Número do CGC/CPF do usuáriO inválido');
   INCLUI_ERRCNABP('453', '304', 'Tipo (CGC ou CPF) usuário e/ou favorecido inválido');
   INCLUI_ERRCNABP('453', '305', 'Número (CGC ou CPF) usuário e/ou favorecido inválido');
   INCLUI_ERRCNABP('453', '306', 'Finalidade DOC inválida');
   INCLUI_ERRCNABP('453', '307', 'Informar finalidade para o DOC');
   INCLUI_ERRCNABP('453', '308', 'Exclusão para registro não cadastrado no Banco');
   INCLUI_ERRCNABP('453', '309', 'Exclusão para compromisso com pagamento já efetuado');
   INCLUI_ERRCNABP('453', '310', 'Conta corrente do favorecido inválida');
   INCLUI_ERRCNABP('453', '311', 'Usuário não cadastrado no sistema');
   INCLUI_ERRCNABP('453', '312', 'Falta nome do favorecido');
   INCLUI_ERRCNABP('453', '313', 'Valor inválido / Valor não confere com código de barras');
   INCLUI_ERRCNABP('453', '314', 'Cód. de Barras inválido p/ título compensável');
   COMMIT;
END;
/
BEGIN 
   -- BANCO MERACANTIL 749
   INCLUI_ERRCNABP('749', '295', 'Data de vencimeto Código Barras menor que data pagamento');
   INCLUI_ERRCNABP('749', '296', 'Usuário não cadastrado no sistema');
   INCLUI_ERRCNABP('749', '297', 'Código do serviço inválido');
   INCLUI_ERRCNABP('749', '298', 'Data de pagamento anterior a data de processamento');
   INCLUI_ERRCNABP('749', '299', 'Espécie de pagamento inválida');
   INCLUI_ERRCNABP('749', '300', 'Tipo de pagamento inválido');
   INCLUI_ERRCNABP('749', '301', 'Dados do favorecido incompletos');
   INCLUI_ERRCNABP('749', '302', 'Número do CGC/CPF do favorecido inválido');
   INCLUI_ERRCNABP('749', '303', 'Número do CGC/CPF do usuáriO inválido');
   INCLUI_ERRCNABP('749', '304', 'Tipo (CGC ou CPF) usuário e/ou favorecido inválido');
   INCLUI_ERRCNABP('749', '305', 'Número (CGC ou CPF) usuário e/ou favorecido inválido');
   INCLUI_ERRCNABP('749', '306', 'Finalidade DOC inválida');
   INCLUI_ERRCNABP('749', '307', 'Informar finalidade para o DOC');
   INCLUI_ERRCNABP('749', '308', 'Exclusão para registro não cadastrado no Banco');
   INCLUI_ERRCNABP('749', '309', 'Exclusão para compromisso com pagamento já efetuado');
   INCLUI_ERRCNABP('749', '310', 'Conta corrente do favorecido inválida');
   INCLUI_ERRCNABP('749', '311', 'Usuário não cadastrado no sistema');
   INCLUI_ERRCNABP('749', '312', 'Falta nome do favorecido');
   INCLUI_ERRCNABP('749', '313', 'Valor inválido / Valor não confere com código de barras');
   INCLUI_ERRCNABP('749', '314', 'Cód. de Barras inválido p/ título compensável');
   COMMIT;
END;
/
BEGIN
   -- BANCO BANRISUL 041
   INCLUI_ERRCNABP('041', 'CC', 'Recusa todo arquivo');
   INCLUI_ERRCNABP('041', '00', 'Crédito efetuado');
   INCLUI_ERRCNABP('041', '01', 'Insuficiência de fundos');
   INCLUI_ERRCNABP('041', '02', 'Crédito cancelado pelo pagador/credor');
   INCLUI_ERRCNABP('041', '03', 'Débito autorizado pela agência - efetuado');
   INCLUI_ERRCNABP('041', 'HA', 'Lote não aceito');
   INCLUI_ERRCNABP('041', 'HB', 'Inscrição da empresa inválida para o contrato');
   INCLUI_ERRCNABP('041', 'HC', 'Convênio com a empresa inexistente/inválido para o contrato');
   INCLUI_ERRCNABP('041', 'HD', 'Agência/conta corrente da empresa inexistente/inválida para o contrato');
   INCLUI_ERRCNABP('041', 'HE', 'Tipo de serviço inválido para o contrato');
   INCLUI_ERRCNABP('041', 'HF', 'Conta-Corrente da Empresa com saldo insuficiente');
   INCLUI_ERRCNABP('041', 'AA', 'Controle inválido');
   INCLUI_ERRCNABP('041', 'AB', 'Tipo de operação inválido');
   INCLUI_ERRCNABP('041', 'AC', 'Tipo de serviço inválido');
   INCLUI_ERRCNABP('041', 'AD', 'Forma de lançamento inválida');
   INCLUI_ERRCNABP('041', 'AE', 'Tipo/número de inscrição inválido');
   INCLUI_ERRCNABP('041', 'AF', 'Código do convênio inválido');
   INCLUI_ERRCNABP('041', 'AG', 'Agência/conta corrente/Dv inválido');
   INCLUI_ERRCNABP('041', 'AH', 'Número seqüencial do registro do lote inválido');
   INCLUI_ERRCNABP('041', 'AI', 'Código do Segmento de Detalhe inválido.');
   INCLUI_ERRCNABP('041', 'AJ', 'Tipo de movimento inválido');
   INCLUI_ERRCNABP('041', 'AK', 'Código da câmara de compensação do favorecido inválido');
   INCLUI_ERRCNABP('041', 'AL', 'Banco do favorecido inválido ou Banco não cadastrado na tabela de banos para receber TEDs');
   INCLUI_ERRCNABP('041', 'AM', 'Agência mantenedora da conta corrente do favorecido inválida.');
   INCLUI_ERRCNABP('041', 'AN', 'Conta corrente/Dv do favorecido inválido');
   INCLUI_ERRCNABP('041', 'AO', 'Nome do favorecido não informado');
   INCLUI_ERRCNABP('041', 'AP', 'Data do lançamento inválida');
   INCLUI_ERRCNABP('041', 'AQ', 'Tipo/quantidade de moeda inválido');
   INCLUI_ERRCNABP('041', 'AR', 'Valor do lançamento inválido');
   INCLUI_ERRCNABP('041', 'AS', 'Aviso ao favorecido - Identificação inválida');
   INCLUI_ERRCNABP('041', 'AT', 'Tipo/número de inscrição do favorecido inválido');
   INCLUI_ERRCNABP('041', 'AU', 'Logradouro do favorecido não informado');
   INCLUI_ERRCNABP('041', 'AV', 'Número do local do favorecido não informado');
   INCLUI_ERRCNABP('041', 'AW', 'Cidade do favorecido não informado');
   INCLUI_ERRCNABP('041', 'AX', 'Cep/complemento do favorecido inválido');
   INCLUI_ERRCNABP('041', 'AY', 'Sigla do estado do favorecido inválida');
   INCLUI_ERRCNABP('041', 'AZ', 'Código/nome do banco depositário inválido');
   INCLUI_ERRCNABP('041', 'BA', 'Código/nome da agência depositária não informado');
   INCLUI_ERRCNABP('041', 'BB', 'Seu número inválido');
   INCLUI_ERRCNABP('041', 'BC', 'Nosso número inválido');
   INCLUI_ERRCNABP('041', 'BD', 'Confirmação de pagamento agendado');
   INCLUI_ERRCNABP('041', 'BE', 'Código do pagamento inválido');
   INCLUI_ERRCNABP('041', 'BF', 'Período de competência inválido');
   INCLUI_ERRCNABP('041', 'BG', 'Mês de competência inválido');
   INCLUI_ERRCNABP('041', 'BH', 'Ano de competência inválido');
   INCLUI_ERRCNABP('041', 'BI', 'Competência 13 não pode ser antecipada');
   INCLUI_ERRCNABP('041', 'BJ', 'Identificador de pagamento inválido');
   INCLUI_ERRCNABP('041', 'BK', 'Valor da multa inválido');
   INCLUI_ERRCNABP('041', 'BL', 'Valor mínimo de GPS - R$29,00');
   INCLUI_ERRCNABP('041', 'BM', 'Código de Operação para o sistema BLV inválido');
   INCLUI_ERRCNABP('041', 'BN', 'STR006 ou TED fora do horário');
   INCLUI_ERRCNABP('041', 'BO', 'Pagamento em agência do mesmo estado do favorecido');
   INCLUI_ERRCNABP('041', 'BP', 'Erro na validação do código de barras de DARF');
   INCLUI_ERRCNABP('041', 'BQ', 'Inconsistência do código de barras da GPS');
   INCLUI_ERRCNABP('041', 'DD', 'Duplicidade de DOC');
   INCLUI_ERRCNABP('041', 'DT', 'Duplicidade de Título');
   INCLUI_ERRCNABP('041', 'TA', 'Lote não aceito - totais de lote com diferença.');
   INCLUI_ERRCNABP('041', 'XA', 'TED Agendada cancelada pelo Piloto.');
   INCLUI_ERRCNABP('041', 'XC', 'TED cancelada pelo Piloto.');
   INCLUI_ERRCNABP('041', 'XD', 'Devolução do SPB.');
   INCLUI_ERRCNABP('041', 'XE', 'Devolução do SPB por erro.');
   INCLUI_ERRCNABP('041', 'XP', 'Devolução do SPB por situação especial.');
   INCLUI_ERRCNABP('041', 'XR', 'Movimento entre contas inválido');
   INCLUI_ERRCNABP('041', '57', 'Divergência na indicação da agência, conta corrente, nome ou CNPJ/CPF do favorecido.');
   INCLUI_ERRCNABP('041', 'ZA', 'Agência / Conta do Favorecido substituído.');
   COMMIT;
END;
/
BEGIN
   -- BANCO SICOOB  756
   INCLUI_ERRCNABP ('756', '00', 'Crédito ou Débito Efetivado');
   INCLUI_ERRCNABP ('756', 'AJ', 'Tipo de Movimento Inválido');
   INCLUI_ERRCNABP ('756', 'BD', 'Inclusão Efetuada com Sucesso');
   INCLUI_ERRCNABP ('756', 'PD', 'Transação Pendente de Assinatura');
   INCLUI_ERRCNABP ('756', 'BF', 'Transação Rejeitada');
   COMMIT;
END;
/
BEGIN
   -- BANCO SICOOB  748
   INCLUI_ERRCNABP('748', '00', 'PAGAMENTO EFETUADO');
   INCLUI_ERRCNABP('748', 'AB', 'TIPO DE OPERACAO INVALIDO');
   INCLUI_ERRCNABP('748', 'AC', 'TIPO DE SERVICO INVALIDO');
   INCLUI_ERRCNABP('748', 'AD', 'FORMA NÃO COMPATÍVEL');
   INCLUI_ERRCNABP('748', 'AE', 'TIPO/Nª INSCRICAO INVALIDO');
   INCLUI_ERRCNABP('748', 'AF', 'CODIGO DE CONVENIO INVALIDO');
   INCLUI_ERRCNABP('748', 'AG', 'AGENCIA/CONTA CORRENTE/DV INVÁLIDO');
   INCLUI_ERRCNABP('748', 'AH', 'NÚMERO SEQUENCIAL DO REGISTRO NO LOTE INVÁLIDO');
   INCLUI_ERRCNABP('748', 'AI', 'CODIGO DO SEGMENTO DE DETALHE INVALIDO');
   INCLUI_ERRCNABP('748', 'AJ', 'TIPO DE MOVIMENTO INVALIDO');
   INCLUI_ERRCNABP('748', 'AK', 'CODIGO DA CAMARA DE COMPENSACAO DO BANCO DO FAVORECIDO INVALIDO');
   INCLUI_ERRCNABP('748', 'AL', 'CÓDIGO DO BANCO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP('748', 'AM', 'AGÊNCIA DO FAVORECIDO INVÁLIDA');
   INCLUI_ERRCNABP('748', 'AN', 'CONTA CORRENTE DO FAVORECIDO INVÁLIDA');
   INCLUI_ERRCNABP('748', 'AQ', 'TIPO/QUANTIDADE DA MOEDA INVÁLIDO');
   INCLUI_ERRCNABP('748', 'AO', 'NOME DO FAVORECIDO INVÁLIDO');
   INCLUI_ERRCNABP('748', 'AP', 'DATA DE LANÇAMENTO/PAGAMENTO INVÁLIDA');
   INCLUI_ERRCNABP('748', 'BC', 'NOSSO NÚMERO INVÁLIDO');
   INCLUI_ERRCNABP('748', 'BD', 'CONFIRMAÇÃO DE PAGAMENTO AGENDADO');
   INCLUI_ERRCNABP('748', 'BE', 'PAGAMENTO AGENDADO COM FORMA ALTERADA PARA OP');
   INCLUI_ERRCNABP('748', 'CE', 'CODIGO DE BARRAS CAMPO LIVRE INVALIDO');
   INCLUI_ERRCNABP('748', 'CF', 'VALOR DO TÍTULO INVÁLIDO');
   INCLUI_ERRCNABP('748', 'CG', 'VALOR DO ABATIMENTO INVÁLIDO');
   INCLUI_ERRCNABP('748', 'CH', 'VALOR DO DESCONTO INVÁLIDO');
   INCLUI_ERRCNABP('748', 'CI', 'VALOR DA MORA INVÁLIDO');
   INCLUI_ERRCNABP('748', 'CJ', 'VALOR DA MULTA INVÁLIDO');
   INCLUI_ERRCNABP('748', 'CN', 'VALOR DA DEDUÇÃO INVÁLIDO');
   INCLUI_ERRCNABP('748', 'CO', 'VALOR DO ACRÉSCIMO INVÁLIDO');
   INCLUI_ERRCNABP('748', 'CC', 'DV DO CÓDIGO DE BARRAS INVÁLIDO');
   INCLUI_ERRCNABP('748', 'CD', 'VALOR DO TITULO INVALIDO CODIGO DE BARRAS');
   INCLUI_ERRCNABP('748', 'HJ', 'REGISTRO REJEITADO');
   INCLUI_ERRCNABP('748', 'HF', 'SALDO INSUFICIENTE');
   INCLUI_ERRCNABP('748', 'TA', 'LOTE NÃO ACEITO - TOTAIS DO LOTE COM DIFERENÇA');
   COMMIT;
END;
/

CREATE OR REPLACE PROCEDURE CTB_BAIXA_PAG(
   P_CDEMPRESA     IN EMPRESA.CDEMPRESA%TYPE, 
   P_CDFILIAL      IN FILIAL.CDFILIAL%TYPE, 
   P_NRBAIXA       IN BAIXAPAGA.NRBAIXAPAG%TYPE, 
   P_NRLANCCTB    OUT LANCCONT.NRLANCCONT%TYPE)  
IS  
   V_NRLANCTEMP  VARCHAR2(20);  
   V_DTBAIXA     DATE;  
   V_CDREDUCONT  CONTCORR.CDREDUCONT%TYPE;  
   V_CDTPBAIXA   BAIXAPAGA.CDTPBAIXAPAG%TYPE;  
   V_VRBAIXAPAG  BAIXAPAGA.VRBAIXAPAG%TYPE;  
   V_CDCONTCTBL  CONTCTBL.CDCONTCTBL%TYPE;  
   V_DOCUMENTO   BAIXAPAGA.NRBAIXAPAG%TYPE;  
   V_CONTABILIZA VARCHAR2(01);  
   V_IDBAIXAUTILP VARCHAR2(01);  
   V_NMTPBAIXAPAG TIPOBAIXAPAG.NMTPBAIXAPAG%TYPE;  
   V_CDHISTPADR  HISTPADR.CDHISTPADR%TYPE;  
   V_DSHISTPADR  LANCCONT.DSHISTLANC%TYPE;  
   V_IDCOME      VARCHAR2(01);  
   V_IDCCUS      VARCHAR2(01);  
   V_CODCOMEAUX  VARCHAR2(21);  
   V_SEQPARTIDA  INTEGER;  
   V_VRCONTA     LANCCONT.VRLANCAMENT%TYPE;  
   V_BOCTBAJUSTE BOOLEAN;  
   V_CONTRAT     VARCHAR2(01); 
   V_CDCENTCUST  CENTCUST.CDCENTCUST%TYPE;
   V_CDCENTCUST_OLD CENTCUST.CDCENTCUST%TYPE;
   V_RATSEQ      INTEGER;  
   V_COUNT       INTEGER; 
   V_ENTROULOOP  VARCHAR2(01); 
   V_TOTALRATEIO LANCCONT.VRLANCAMENT%TYPE; 
   V_CDFILIAL    FILIAL.CDFILIAL%TYPE; 
   V_SEQUENCIAL VARCHAR2(05); 
   V_VRAJUSTE   LANCCONT.VRLANCAMENT%TYPE; 
   V_TOTAJUSTE  LANCCONT.VRLANCAMENT%TYPE; 
   V_TOTRATAJ   LANCCONT.VRLANCAMENT%TYPE; 
   V_STATUS     VARCHAR2(01); 
   V_FATOR      INTEGER; 
   V_CDHISTINT  HISTPADR.CDHISTPADR%TYPE; 
   V_DSHISTINT  LANCCONT.DSHISTLANC%TYPE; 
   V_CDHISTLANC HISTPADR.CDHISTPADR%TYPE; 
   V_DSHISTLANC LANCCONT.DSHISTLANC%TYPE; 
   V_VRTOTALAJUSNCTB LANCCONT.VRLANCAMENT%TYPE; 
   V_VRAJUSNCTB      LANCCONT.VRLANCAMENT%TYPE; 
   V_VRSOMAAJUSNCTB  LANCCONT.VRLANCAMENT%TYPE; 
   V_CDFILIALBOL BOLETPAGAR.CDFILIAL%TYPE; 
   V_NRLANBOLPAG BOLETPAGAR.NRLANBOLPAG%TYPE; 
   V_NRCONTABOL NUMBER; 
   V_VRPARTIDA LANCCONT.VRLANCAMENT%TYPE; 
   V_CONTAJUST INTEGER; 
   V_TOTCREDITO LANCCONT.VRLANCAMENT%TYPE; 
   V_TOTDEBITO LANCCONT.VRLANCAMENT%TYPE; 
   V_NRSEQUENCIAL VARCHAR2(05); 
   V_INPARTIDAS INT; 
   V_DIFERENCA NUMBER; 
   V_NRCHEQUE VARCHAR2(06); 
   V_NRSEQUENCIALTEMP VARCHAR2(05); 
   V_VRRATEIO NUMBER; 
   V_RESTORAT NUMBER; 
   V_ENTROUAJUSTE VARCHAR2(01); 
   V_PARTIDABOLETO VARCHAR2(01); 
   V_IDCTBBXPLAN VARCHAR2(01); 
   V_CDCONTCTBLCHQ VARCHAR2(20);
   V_DSBAIXAPAG   BAIXAPAGA.DSBAIXAPAG%TYPE;
 
   PROCEDURE BUSCA_TPCOMERCIAL(P_CDCONTCTBL IN VARCHAR2, 
                               P_IDCOME     OUT VARCHAR2, 
                               P_IDCCUS     OUT VARCHAR2) 
   AS 
      V_IDCODCOME VARCHAR2(01); 
      V_IDCCUS VARCHAR2(21); 
   BEGIN 
      BEGIN 
         SELECT NVL(IDTIPOCOME, 'N') IDTIPOCOME, IDCONTCCUS  
           INTO V_IDCODCOME, V_IDCCUS  
           FROM CONTCTBL  
          WHERE CDCONTCTBL = P_CDCONTCTBL;  
      EXCEPTION  
         WHEN NO_DATA_FOUND THEN  
            V_IDCODCOME  := 'N';  
            V_IDCCUS      := 'L';  
      END;  
      P_IDCOME := V_IDCODCOME;  
      P_IDCCUS := V_IDCCUS;  
   END;  
   FUNCTION BUSCA_CCUSTO(P_CDFILIAL IN VARCHAR, P_CDEMPRESA IN VARCHAR) RETURN VARCHAR  
   IS  
      V_CDCENTCUST VARCHAR2(04);  
   BEGIN 
      BEGIN  
         SELECT CDCENTCUST  
           INTO V_CDCENTCUST  
           FROM FILIAL  
         WHERE CDFILIAL = P_CDFILIAL; 
      EXCEPTION  
         WHEN NO_DATA_FOUND THEN  
            V_CDCENTCUST := NULL;  
      END;  
      IF V_CDCENTCUST IS NULL THEN 
         BEGIN  
            SELECT CDCENTCUST  
              INTO V_CDCENTCUST  
              FROM EMPRESA  
             WHERE CDEMPRESA = P_CDEMPRESA;  
         EXCEPTION  
            WHEN NO_DATA_FOUND THEN  
               V_CDCENTCUST := NULL;  
         END;  
      END IF;  
      RETURN(V_CDCENTCUST); 
   END; 
BEGIN 
   BEGIN 
      SELECT DTBAIXAPAG, CDREDUCONT, BX.CDTPBAIXAPAG, VRBAIXAPAG, NRBAIXAPAG, 
             IDSTATUSBPAG, IDCTBLBXPAG, T.IDBAIXAUTILP, T.NMTPBAIXAPAG, BX.NRCHEQUE, 
             BX.NRLCTBBPAG, NVL(T.IDCTBBXPLAN,'N') IDCTBBXPLAN, T.CDCONTCTBLCHTR,
             DSBAIXAPAG
        INTO V_DTBAIXA, V_CDREDUCONT, V_CDTPBAIXA, V_VRBAIXAPAG, V_DOCUMENTO, 
             V_STATUS, V_CONTABILIZA, V_IDBAIXAUTILP, V_NMTPBAIXAPAG, V_NRCHEQUE, 
             V_NRLANCTEMP, V_IDCTBBXPLAN, V_CDCONTCTBLCHQ, V_DSBAIXAPAG
        FROM BAIXAPAGA BX, TIPOBAIXAPAG T 
       WHERE BX.CDFILIAL = P_CDFILIAL 
         AND BX.CDEMPRESA = P_CDEMPRESA 
         AND BX.NRBAIXAPAG = P_NRBAIXA 
         AND T.CDTPBAIXAPAG = BX.CDTPBAIXAPAG; 
   EXCEPTION 
      WHEN NO_DATA_FOUND THEN 
         V_DTBAIXA    := NULL; 
         V_CDREDUCONT := NULL; 
         V_CDTPBAIXA  := NULL; 
         V_VRBAIXAPAG := NULL; 
         V_DOCUMENTO  := NULL; 
         V_STATUS     := NULL; 
         V_IDBAIXAUTILP := NULL; 
         V_CONTABILIZA := NULL; 
         V_NMTPBAIXAPAG := NULL; 
         V_IDCTBBXPLAN := NULL; 
         V_CDCONTCTBLCHQ := NULL; 
   END; 
 
   BEGIN  
      SELECT COUNT(*)  
        INTO V_COUNT  
        FROM PARAMCTBL  
       WHERE V_DTBAIXA >= DTINTCTBPAG;  
   EXCEPTION  
      WHEN NO_DATA_FOUND THEN  
         V_COUNT := 0;  
   END;
   /*BUSCA O CENTRO DE CUSTO DO LANÇAMENTO EM CASO DE RECALCULO O MESMO SERA RECUPERADO CASO NÃO EXISTA CENTRO DE CUSTO PARAMETRIZADO PARA A FILIAL/EMPRESA*/
   BEGIN
     SELECT MAX(CDCENTCUST)
       INTO V_CDCENTCUST_OLD
       FROM LANCCCUSTO  
      WHERE NRLANCCONT = V_NRLANCTEMP  
        AND CDEMPRESA  = P_CDEMPRESA;  
    
   
   EXCEPTION
   WHEN NO_DATA_FOUND THEN
      V_CDCENTCUST_OLD := NULL;
   END;
   IF V_NRLANCTEMP IS NOT NULL THEN  
      DELETE  
        FROM LANCCCUSTO  
       WHERE NRLANCCONT = V_NRLANCTEMP  
         AND CDEMPRESA  = P_CDEMPRESA;  
  
      DELETE 
        FROM LANCCONT  
       WHERE NRLANCCONT = V_NRLANCTEMP  
         AND CDEMPRESA  = P_CDEMPRESA;  
  
      DELETE 
        FROM LANCCTBTEMP  
       WHERE NRLANCCTBTEMP = V_NRLANCTEMP  
         AND CDEMPRESA = P_CDEMPRESA;  
  
      DELETE  
        FROM RATECTBTEMP  
       WHERE NRLANCCTBTEMP = V_NRLANCTEMP  
         AND CDEMPRESA = P_CDEMPRESA;  
   END IF;  
  V_NRLANCTEMP := NULL;
   IF V_COUNT > 0 THEN  
      BEGIN  
         SELECT COUNT(*)  
           INTO V_CONTAJUST  
           FROM BOLETPAGAR BO, AJBOLPAG AJ, TIPOAJPAGAR TP  
          WHERE BO.CDFILIBAIPAG = P_CDFILIAL 
            AND BO.NRBAIXAPAG = P_NRBAIXA  
            AND BO.NRLANBOLPAG = AJ.NRLANBOLPAG  
            AND BO.CDFILIAL = AJ.CDFILIAL  
            AND AJ.CDAJUCTPAG = TP.CDAJUCTPAG  
            AND TP.IDCTBAJCTPAG = 'S';  
      EXCEPTION  
         WHEN NO_DATA_FOUND THEN  
            V_CONTAJUST := 0;  
      END; 
      IF ((V_STATUS <> 'P') AND (V_CONTABILIZA <> 'N')) THEN  
         IF V_NRLANCTEMP IS NULL THEN  
            NOVO_CODIGO_NT('LANCCONTABIL' || P_CDEMPRESA || TO_CHAR(V_DTBAIXA,'YYYYMM'), V_NRLANCTEMP);  
            V_NRLANCTEMP := TO_CHAR(V_DTBAIXA,'YYYYMM')||SUBSTR(V_NRLANCTEMP, 15, 6);  
         END IF; 
         V_TOTCREDITO := 0;  
         V_TOTDEBITO := 0;  
         IF (V_VRBAIXAPAG <> 0 OR V_CONTAJUST <> 0) THEN  
            BEGIN  
               SELECT IDCONTGERE  
                 INTO V_CONTRAT  
                 FROM CONTOPECTBL  
                WHERE CDEMPRESA = P_CDEMPRESA;  
            EXCEPTION  
               WHEN NO_DATA_FOUND THEN  
                  V_CONTRAT := NULL;  
            END;  
            BEGIN  
               SELECT H.CDHISTPADR, HP.DSHISTPADR  
                 INTO V_CDHISTINT, V_DSHISTINT  
                 FROM HISTINTEGRA H, HISTPADR HP  
                WHERE H.CDHISTPADR = HP.CDHISTPADR  
                  AND CDOPERACAO = 'BAIXAP';  
            EXCEPTION  
               WHEN NO_DATA_FOUND THEN  
                  V_CDHISTINT := NULL;  
                  V_DSHISTINT := NULL;  
            END;  
            BEGIN  
               SELECT T.CDHISTPADR, H.DSHISTPADR 
                 INTO V_CDHISTPADR, V_DSHISTPADR  
                 FROM TIPOBAIXAPAG T, HISTPADR H  
                WHERE T.CDTPBAIXAPAG = V_CDTPBAIXA  
                  AND T.CDHISTPADR   = H.CDHISTPADR;  
            EXCEPTION 
               WHEN NO_DATA_FOUND THEN  
                  V_CDHISTPADR := NULL;  
                  V_DSHISTPADR := NULL;  
            END;  
            IF V_CDHISTPADR IS NULL THEN  
               V_CDHISTPADR := V_CDHISTINT;  
               V_DSHISTPADR := V_DSHISTINT;  
            END IF;  
            V_SEQPARTIDA := 0;  
            IF V_VRBAIXAPAG <> 0 THEN  
               BEGIN  
                  SELECT CC.CDCONTCTBL  
                    INTO V_CDCONTCTBL  
                    FROM CONTCORR CC  
                   WHERE CC.CDREDUCONT = V_CDREDUCONT;  
               EXCEPTION  
                  WHEN NO_DATA_FOUND THEN  
                     V_CDCONTCTBL := NULL;  
               END;  
               BUSCA_TPCOMERCIAL(V_CDCONTCTBL, V_IDCOME, V_IDCCUS);  
               IF V_IDCOME <> 'B' THEN  
                  V_IDCOME  := 'N';  
                  V_CDREDUCONT := NULL;  
               END IF;  
               IF V_IDBAIXAUTILP IN ('A', 'M') THEN 
                  V_DSHISTLANC := 'Cheque: ' || NVL(V_NRCHEQUE, '[#CHQ]');  
               ELSE  
                  IF V_DSBAIXAPAG IS NULL THEN
                    V_DSHISTLANC := 'PGTO ' ||  SUBSTR(V_NMTPBAIXAPAG, 1, 30);
                  ELSE
                    V_DSHISTLANC := 'PGTO ' ||  SUBSTR(V_DSBAIXAPAG, 1, 200);
                  END IF;
               END IF; 
 
               /* CAMPO USADO PARA DETERMINAR SE A PARTIDA DE BANCO SERÁ ACUMULADA OU NÃO */ 
               V_PARTIDABOLETO := 'N'; 
               BEGIN 
                  SELECT IDPARTIDABOLPAG 
                    INTO V_PARTIDABOLETO 
                    FROM TIPOBAIXAPAG 
                   WHERE CDTPBAIXAPAG = V_CDTPBAIXA; 
               EXCEPTION 
                  WHEN NO_DATA_FOUND THEN 
                     V_PARTIDABOLETO := 'N'; 
               END; 
               IF ((V_PARTIDABOLETO = 'N') OR (V_IDCTBBXPLAN = 'S')) THEN 
                  V_SEQPARTIDA := V_SEQPARTIDA + 1; 
                  V_TOTCREDITO := V_TOTCREDITO + ROUND(V_VRBAIXAPAG, 2); 
                  V_NRSEQUENCIAL := LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'); 
                  INSERT INTO LANCCTBTEMP 
                     (CDEMPRESA, NRLANCCTBTEMP, CDDOCUTEMP, NRSEQCTBTEMP, CDCONTCTBL, CDHISTPADR, 
                      DSHISTCTB, DTLANCCTBTEMP, VRLANCCTBTEMP, IDLANCCTBCOME, CDLANCCTBCOME, IDSISTEMA) 
                  VALUES 
                     (P_CDEMPRESA, V_NRLANCTEMP, V_DOCUMENTO, LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'), V_CDCONTCTBL, V_CDHISTPADR, 
                      V_DSHISTLANC, V_DTBAIXA, ROUND(V_VRBAIXAPAG, 2), V_IDCOME, V_CDREDUCONT, 'PAG'); 
                  V_RATSEQ := 1; 
                  IF V_CONTRAT = 'S' THEN 
                     IF V_IDCCUS <> 'O' THEN 
                        V_CDFILIAL := NULL; 
                        BEGIN 
                           SELECT CDFILIAL 
                             INTO V_CDFILIAL 
                             FROM CONTCORR 
                            WHERE CDREDUCONT = V_CDREDUCONT; 
                        EXCEPTION 
                           WHEN NO_DATA_FOUND THEN 
                              V_CDFILIAL := NULL; 
                        END; 
                        
                        IF V_CDFILIAL IS NULL THEN
                           V_CDCENTCUST := BUSCA_CCUSTO(P_CDFILIAL, P_CDEMPRESA);
                           IF V_CDCENTCUST  IS NULL THEN
                              V_CDCENTCUST  := V_CDCENTCUST_OLD;
                           END IF;
                           V_CDFILIAL := P_CDFILIAL; 
                        ELSE 
                           IF V_CDCENTCUST IS NULL THEN
                            V_CDCENTCUST := BUSCA_CCUSTO(V_CDFILIAL, P_CDEMPRESA);
                              IF V_CDCENTCUST  IS NULL THEN
                                 V_CDCENTCUST  := V_CDCENTCUST_OLD;
                              END IF;
                           END IF;
                        END IF; 
                        INSERT INTO RATECTBTEMP 
                           (CDEMPRESA, NRLANCCTBTEMP, NRSEQCTBTEMP, CDFILIAL, CDCENTCUST, VRRATECTBTEMP, DTCOMPCTBTEMP, NRSEQRATTEMP) 
                        VALUES 
                           (P_CDEMPRESA, V_NRLANCTEMP, LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'), V_CDFILIAL, V_CDCENTCUST, 
                            ROUND(V_VRBAIXAPAG, 2), V_DTBAIXA, LPAD(TO_CHAR(V_RATSEQ),5,'0')); 
                     END IF; 
                  END IF; 
               ELSE 
                  FOR C_BOLBAIXA IN 
                     (SELECT BO.VRFINALBPAG 
                        FROM BOLETPAGAR BO 
                       WHERE BO.CDFILIBAIPAG = P_CDFILIAL 
                         AND BO.NRBAIXAPAG = P_NRBAIXA 
                         AND BO.VRFINALBPAG <> 0) LOOP 
                     V_SEQPARTIDA := V_SEQPARTIDA + 1; 
                     V_TOTCREDITO := V_TOTCREDITO + ROUND(C_BOLBAIXA.VRFINALBPAG, 2); 
                     V_NRSEQUENCIAL := LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'); 
                     INSERT INTO LANCCTBTEMP 
                        (CDEMPRESA, NRLANCCTBTEMP, CDDOCUTEMP, NRSEQCTBTEMP, CDCONTCTBL, CDHISTPADR, 
                         DSHISTCTB, DTLANCCTBTEMP, VRLANCCTBTEMP, IDLANCCTBCOME, CDLANCCTBCOME, IDSISTEMA) 
                     VALUES 
                        (P_CDEMPRESA, V_NRLANCTEMP, V_DOCUMENTO, LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'), V_CDCONTCTBL, V_CDHISTPADR, 
                         V_DSHISTLANC, V_DTBAIXA, ROUND(C_BOLBAIXA.VRFINALBPAG, 2), V_IDCOME, V_CDREDUCONT, 'PAG'); 
                     V_RATSEQ := 1; 
                     IF V_CONTRAT = 'S' THEN 
                        IF V_IDCCUS <> 'O' THEN 
                           V_CDFILIAL := NULL; 
                           BEGIN 
                              SELECT CDFILIAL 
                                INTO V_CDFILIAL 
                                FROM CONTCORR 
                               WHERE CDREDUCONT = V_CDREDUCONT; 
                           EXCEPTION 
                              WHEN NO_DATA_FOUND THEN 
                                 V_CDFILIAL := NULL; 
                           END; 
                           IF V_CDFILIAL IS NULL THEN
                              V_CDCENTCUST := BUSCA_CCUSTO(P_CDFILIAL, P_CDEMPRESA);
                              IF V_CDCENTCUST  IS NULL THEN
                                 V_CDCENTCUST  := V_CDCENTCUST_OLD;
                              END IF;
                              V_CDFILIAL := P_CDFILIAL;
                           ELSE
                              V_CDCENTCUST := BUSCA_CCUSTO(V_CDFILIAL, P_CDEMPRESA);
                              IF V_CDCENTCUST  IS NULL THEN
                                 V_CDCENTCUST  := V_CDCENTCUST_OLD;
                              END IF;
                           END IF; 
                           INSERT INTO RATECTBTEMP 
                              (CDEMPRESA, NRLANCCTBTEMP, NRSEQCTBTEMP, CDFILIAL, CDCENTCUST, VRRATECTBTEMP, DTCOMPCTBTEMP, NRSEQRATTEMP) 
                           VALUES 
                              (P_CDEMPRESA, V_NRLANCTEMP, LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'), V_CDFILIAL, V_CDCENTCUST, 
                               ROUND(C_BOLBAIXA.VRFINALBPAG, 2), V_DTBAIXA, LPAD(TO_CHAR(V_RATSEQ),5,'0')); 
                        END IF; 
                     END IF; 
                  END LOOP; 
               END IF; 
            END IF; 
            IF (V_IDCTBBXPLAN = 'N') THEN 
               V_CDFILIALBOL := 'XXXX'; 
               V_NRLANBOLPAG := 'XXXXXXXXXX'; 
               
               FOR CONTAS IN 
                  (SELECT CT.CDFILIAL, CT.NRLANCTONF, CT.NRSEQVENPAG, CT.NRPARCELAPAG, 
                          B.CDFILIAL AS CDFILBOL, B.NRLANBOLPAG, B.CDFORNECED, CT.CDTPCTPAGAR, TP.CDCONTCTBL, 
                          TP.CDHISTPADR, H.DSHISTPADR, NF.CDFILIRECE, NF.NRNOTAFISC, 
                          CT.VRATUAPAG,  IDCTBTPCNTBPAG, B.VRBOLPAG, COUNT(*) OVER(PARTITION BY B.CDFILIAL, B.NRLANBOLPAG) AS QTCONTAS, 
                          TP.IDTPCTPAGAR, CT.CDEMPRESA, CT.VRORIGPAG, TP.IDCTBTIPOOPERBX, 
                          T.CDCONTFORCLI 
                     FROM BOLETPAGAR B, CONTAPAGAR CT, NOTAFISCAL NF, TIPOCTPAGAR TP, 
                          HISTPADR H, TIPOOPERAC T 
                    WHERE B.CDFILIBAIPAG = P_CDFILIAL 
                      AND B.NRBAIXAPAG = P_NRBAIXA 
                      AND B.CDFILIAL = CT.CDFILIBPAG 
                      AND B.NRLANBOLPAG = CT.NRLANBOLPAG 
                      AND CT.CDFILIAL = NF.CDFILIAL 
                      AND CT.NRLANCTONF = NF.NRLANCTONF 
                      AND CT.CDTPCTPAGAR = TP.CDTPCTPAGAR 
                      AND TP.CDHISTPADR = H.CDHISTPADR(+) 
                      AND NF.IDENTRSAIDOP = T.IDENTRSAIDOP 
                      AND NF.CDTIPOOPER = T.CDTIPOOPER 
                    ORDER BY B.CDFILIAL, B.NRLANBOLPAG)LOOP 
                  IF CONTAS.VRATUAPAG <> 0 THEN 
                     V_CDHISTLANC := V_CDHISTPADR; 
                    
                     IF CONTAS.IDTPCTPAGAR = '2' THEN 
                        V_CDCONTCTBL := CONTAS.CDCONTCTBL; 
                        BEGIN 
                           SELECT H.CDHISTPADR, HP.DSHISTPADR 
                             INTO V_CDHISTLANC, V_DSHISTLANC 
                             FROM HISTINTEGRA H ,HISTPADR HP 
                            WHERE H.CDHISTPADR = HP.CDHISTPADR 
                              AND CDOPERACAO = 'BXPADI'; 
                        EXCEPTION 
                           WHEN NO_DATA_FOUND THEN 
                              V_CDHISTLANC := V_CDHISTPADR; 
                              V_DSHISTLANC := V_DSHISTPADR; 
                        END; 
                        V_VRCONTA := CONTAS.VRATUAPAG * -1; 
                        V_BOCTBAJUSTE := FALSE; 
                     ELSE 
                        
                        IF CONTAS.IDCTBTPCNTBPAG = 'N' THEN 
                           
                           V_CDCONTCTBL := NULL; 
                           IF CONTAS.IDCTBTIPOOPERBX = 'S' THEN 
                              V_CDCONTCTBL := CONTAS.CDCONTFORCLI; 
                           
                           END IF; 
                          
                           IF V_CDCONTCTBL IS NULL THEN 
                              V_CDCONTCTBL := CTB_CCFORNECEDOR(CONTAS.CDFORNECED, CONTAS.CDFILIRECE, CONTAS.CDEMPRESA); 
                           END IF; 
                           V_VRCONTA := CONTAS.VRATUAPAG * -1; 
                           V_BOCTBAJUSTE := FALSE; 
                        ELSE 
                           IF CONTAS.CDHISTPADR IS NOT NULL THEN 
                              V_CDHISTLANC := CONTAS.CDHISTPADR; 
                           END IF; 
                           IF CONTAS.IDCTBTIPOOPERBX = 'S' THEN 
                              V_CDCONTCTBL := CONTAS.CDCONTFORCLI;
                               IF V_CDCONTCTBL IS NULL THEN 
                                   V_CDCONTCTBL := CTB_CCFORNECEDOR(CONTAS.CDFORNECED, CONTAS.CDFILIRECE, CONTAS.CDEMPRESA);
                               END IF;
                            ELSE
                            V_CDCONTCTBL := CONTAS.CDCONTCTBL; 
                           END IF;
                           
                           V_VRCONTA := CONTAS.VRORIGPAG * -1; 
                           V_BOCTBAJUSTE := TRUE; 
                        END IF; 
                     END IF; 
                     IF (V_CDFILIALBOL <> CONTAS.CDFILBOL) OR 
                        (V_NRLANBOLPAG <> CONTAS.NRLANBOLPAG) THEN 
                        BEGIN 
                           SELECT SUM(DECODE(TA.IDAJUCTPAG, 'D', AJ.VRAJBOLPAG * -1, AJ.VRAJBOLPAG)) AS VRAJBOLPAG 
                             INTO V_VRTOTALAJUSNCTB 
                             FROM AJBOLPAG AJ, TIPOAJPAGAR TA 
                            WHERE AJ.CDFILIAL = CONTAS.CDFILBOL 
                              AND AJ.NRLANBOLPAG = CONTAS.NRLANBOLPAG 
                              AND AJ.CDAJUCTPAG = TA.CDAJUCTPAG 
                              AND TA.IDCTBAJCTPAG = 'N'; 
                        EXCEPTION 
                           WHEN NO_DATA_FOUND THEN 
                              V_VRTOTALAJUSNCTB := 0; 
                        END; 
                        IF V_VRTOTALAJUSNCTB IS NULL THEN 
                           V_VRTOTALAJUSNCTB := 0; 
                        END IF; 
                        V_NRCONTABOL := 1; 
                        V_VRSOMAAJUSNCTB := 0; 
                        V_VRAJUSNCTB := 0; 
                        V_CDFILIALBOL := CONTAS.CDFILBOL; 
                        V_NRLANBOLPAG := CONTAS.NRLANBOLPAG; 
                     ELSE 
                        V_NRCONTABOL := V_NRCONTABOL +1; 
                     END IF; 
                     IF V_VRTOTALAJUSNCTB <> 0 THEN 
                        V_VRAJUSNCTB := (V_VRTOTALAJUSNCTB * 100) / CONTAS.VRBOLPAG; 
                        V_VRAJUSNCTB := ROUND((V_VRAJUSNCTB * CONTAS.VRATUAPAG) / 100, 2); 
                        V_VRSOMAAJUSNCTB := V_VRSOMAAJUSNCTB + V_VRAJUSNCTB; 
                        IF V_NRCONTABOL = CONTAS.QTCONTAS THEN 
                           IF V_VRTOTALAJUSNCTB <> V_VRSOMAAJUSNCTB THEN 
                              V_VRAJUSNCTB := V_VRAJUSNCTB + (V_VRTOTALAJUSNCTB - V_VRSOMAAJUSNCTB); 
                           END IF; 
                        END IF; 
                     END IF; 
                     IF V_VRAJUSNCTB IS NULL THEN 
                        V_VRAJUSNCTB := 0; 
                     END IF; 
                     V_VRPARTIDA := ROUND(V_VRCONTA + (V_VRAJUSNCTB * -1), 2); 
                     IF NVL(V_VRPARTIDA, 0) <> 0 THEN 
                        BUSCA_TPCOMERCIAL(V_CDCONTCTBL, V_IDCOME, V_IDCCUS); 
                        IF V_IDCOME <> 'F' THEN 
                           V_IDCOME  := 'N'; 
                           V_CODCOMEAUX := NULL; 
                        ELSE 
                           V_CODCOMEAUX  := CONTAS.CDFORNECED; 
                        END IF; 
                        V_SEQPARTIDA := V_SEQPARTIDA + 1; 
                        V_DSHISTLANC := CTB_HIST_PAG(V_CDHISTLANC, CONTAS.CDFILIAL, CONTAS.NRLANCTONF, CONTAS.NRSEQVENPAG, CONTAS.NRPARCELAPAG, ''); 
                        V_TOTDEBITO :=  V_TOTDEBITO + ROUND(V_VRPARTIDA, 2); 
                        V_NRSEQUENCIAL := LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'); 
                        INSERT INTO LANCCTBTEMP 
                           (CDEMPRESA, NRLANCCTBTEMP, CDDOCUTEMP, NRSEQCTBTEMP, CDCONTCTBL, CDHISTPADR, 
                            DSHISTCTB, DTLANCCTBTEMP, VRLANCCTBTEMP, IDLANCCTBCOME, CDLANCCTBCOME, IDSISTEMA) 
                        VALUES 
                           (P_CDEMPRESA, V_NRLANCTEMP, V_DOCUMENTO, LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'), V_CDCONTCTBL, V_CDHISTLANC, 
                            V_DSHISTLANC, V_DTBAIXA, ROUND(V_VRPARTIDA, 2), V_IDCOME, V_CODCOMEAUX, 'PAG'); 
                        V_RATSEQ := 0; 
                        IF V_CONTRAT = 'S' THEN 
                           IF V_IDCCUS <> 'O' THEN 
                              V_TOTALRATEIO := 0; 
                              IF CONTAS.IDCTBTPCNTBPAG <> 'S' THEN
                                 V_CDCENTCUST := BUSCA_CCUSTO(CONTAS.CDFILIRECE, P_CDEMPRESA);
                                 IF V_CDCENTCUST  IS NULL THEN
                                    V_CDCENTCUST  := V_CDCENTCUST_OLD;
                                 END IF;
                                 V_CDFILIAL := CONTAS.CDFILIRECE; 
                                 INSERT INTO RATECTBTEMP 
                                    (CDEMPRESA, NRLANCCTBTEMP, NRSEQCTBTEMP, CDFILIAL, CDCENTCUST, VRRATECTBTEMP, DTCOMPCTBTEMP, NRSEQRATTEMP) 
                                 VALUES 
                                    (P_CDEMPRESA, V_NRLANCTEMP, LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'), CONTAS.CDFILIRECE, V_CDCENTCUST, 
                                     ROUND(V_VRPARTIDA, 2), V_DTBAIXA, LPAD(TO_CHAR(V_RATSEQ),5,'0')); 
                                 V_TOTALRATEIO := V_TOTALRATEIO + V_VRPARTIDA; 
                              ELSE 
                                 V_ENTROULOOP := 'N'; 
                                 V_RESTORAT := V_VRPARTIDA; 
                                 FOR C_RATEIO IN 
                                    (SELECT RP.CDFILIAL, RP.NRLANCTONF, RP.NRSEQVENPAG, RP.NRPARCELAPAG, 
                                            RP.CDCENTCUST, RP.CDFIRATCTPAG, RP.VRRATCCCTPAG, 
                                            Round(((RP.VRRATCCCTPAG * 100) / CP.VRATUAPAG), 2) PERCENTUAL 
                                       FROM RATCTPAGAR RP, CONTAPAGAR CP, TIPOCTPAGAR TP 
                                      WHERE RP.CDFILIAL = CONTAS.CDFILIAL 
                                        AND RP.NRLANCTONF = CONTAS.NRLANCTONF 
                                        AND RP.NRSEQVENPAG = CONTAS.NRSEQVENPAG 
                                        AND RP.NRPARCELAPAG = CONTAS.NRPARCELAPAG 
                                        AND RP.CDFILIAL = CP.CDFILIAL 
                                        AND RP.NRLANCTONF = CP.NRLANCTONF 
                                        AND RP.NRSEQVENPAG = CP.NRSEQVENPAG 
                                        AND RP.NRPARCELAPAG = CP.NRPARCELAPAG 
                                        AND TP.CDTPCTPAGAR = CP.CDTPCTPAGAR 
                                      ORDER BY RP.CDFILIAL, RP.NRLANCTONF, RP.NRSEQVENPAG, RP.NRPARCELAPAG, CDFIRATCTPAG) LOOP 
                                    V_VRRATEIO := ROUND((V_VRPARTIDA * C_RATEIO.PERCENTUAL)/100, 2); 
                                    V_RESTORAT := ROUND((V_RESTORAT - V_VRRATEIO), 2); 
                                    V_ENTROULOOP := 'S'; 
                                    V_RATSEQ := V_RATSEQ + 1; 
                                    INSERT INTO RATECTBTEMP 
                                       (CDEMPRESA, NRLANCCTBTEMP, NRSEQCTBTEMP, CDFILIAL, CDCENTCUST, VRRATECTBTEMP, DTCOMPCTBTEMP, NRSEQRATTEMP) 
                                    VALUES 
                                       (P_CDEMPRESA, V_NRLANCTEMP, LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'), C_RATEIO.CDFIRATCTPAG, C_RATEIO.CDCENTCUST, 
                                        ROUND(V_VRRATEIO, 2), V_DTBAIXA, LPAD(TO_CHAR(V_RATSEQ),5,'0')); 
                                    V_TOTALRATEIO := V_TOTALRATEIO + V_VRRATEIO; 
                                    V_CDFILIAL   := C_RATEIO.CDFIRATCTPAG; 
                                    V_CDCENTCUST := C_RATEIO.CDCENTCUST; 
                                    V_NRSEQUENCIAL :=  LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'); 
                                 END LOOP; 
                                 IF ((V_ENTROULOOP = 'S') AND (V_RESTORAT <> 0)) THEN 
                                    UPDATE RATECTBTEMP 
                                       SET VRRATECTBTEMP = VRRATECTBTEMP + V_RESTORAT 
                                     WHERE CDEMPRESA = P_CDEMPRESA 
                                       AND NRLANCCTBTEMP = V_NRLANCTEMP 
                                       AND NRSEQCTBTEMP = V_NRSEQUENCIAL 
                                       AND CDFILIAL = V_CDFILIAL 
                                       AND CDCENTCUST = V_CDCENTCUST; 
                                    V_TOTALRATEIO := V_TOTALRATEIO + V_RESTORAT; 
                                 END IF; 
 
                                 IF V_ENTROULOOP = 'N' THEN 

                                    V_CDCENTCUST := BUSCA_CCUSTO(CONTAS.CDFILIRECE, P_CDEMPRESA);
                                    IF V_CDCENTCUST  IS NULL THEN
                                       V_CDCENTCUST  := V_CDCENTCUST_OLD;
                                    END IF;
                                    V_RATSEQ := V_RATSEQ + 1; 
                                    INSERT INTO RATECTBTEMP 
                                       (CDEMPRESA, NRLANCCTBTEMP, NRSEQCTBTEMP, CDFILIAL, CDCENTCUST, VRRATECTBTEMP, DTCOMPCTBTEMP, NRSEQRATTEMP) 
                                    VALUES 
                                       (P_CDEMPRESA, V_NRLANCTEMP, LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'), CONTAS.CDFILIRECE, V_CDCENTCUST, 
                                        ROUND(V_VRPARTIDA, 2), V_DTBAIXA, LPAD(TO_CHAR(V_RATSEQ),5,'0')); 
                                    V_TOTALRATEIO := V_TOTALRATEIO + ROUND(V_VRPARTIDA, 2); 
                                    V_CDFILIAL := CONTAS.CDFILIRECE; 
                                    V_CDCENTCUST := V_CDCENTCUST; 
                                 END IF; 
                                 IF V_TOTALRATEIO <> V_VRPARTIDA THEN 
                                    UPDATE RATECTBTEMP 
                                       SET VRRATECTBTEMP = VRRATECTBTEMP + (V_TOTALRATEIO - V_VRPARTIDA) 
                                     WHERE CDEMPRESA = P_CDEMPRESA 
                                       AND NRLANCCTBTEMP = V_NRLANCTEMP 
                                       AND NRSEQCTBTEMP = LPAD(TO_CHAR(V_SEQPARTIDA),5,'0') 
                                       AND CDFILIAL = V_CDFILIAL 
                                       AND CDCENTCUST = V_CDCENTCUST; 
                                 END IF; 
                              END IF; 
                           END IF; 
                        END IF; 
                     END IF; 
                     IF V_BOCTBAJUSTE = TRUE THEN 
                        FOR C_AJUSTECONTA IN 
                           (SELECT AJ.CDAJUCTPAG, AJ.VRAJUSTEPAG, TA.DSAJUCTPAG, TA.IDAJUCTPAG, 
                                   TA.CDCONTCTBL, TA.CDHISTPADR, H.DSHISTPADR 
                             FROM AJCTPAGAR AJ, TIPOAJPAGAR TA, HISTPADR H 
                            WHERE AJ.CDAJUCTPAG = TA.CDAJUCTPAG 
                              AND TA.CDHISTPADR = H.CDHISTPADR 
                              AND AJ.CDFILIAL = CONTAS.CDFILIAL 
                              AND AJ.NRLANCTONF = CONTAS.NRLANCTONF 
                              AND AJ.NRSEQVENPAG = CONTAS.NRSEQVENPAG 
                              AND AJ.NRPARCELAPAG = CONTAS.NRPARCELAPAG) LOOP 
 
                           IF C_AJUSTECONTA.IDAJUCTPAG = 'A' THEN 
                              V_FATOR := -1; 
                           ELSE 
                              V_FATOR := 1; 
                           END IF; 
 
                           V_SEQPARTIDA := V_SEQPARTIDA + 1; 
                           V_VRPARTIDA := ROUND(C_AJUSTECONTA.VRAJUSTEPAG, 2) * V_FATOR; 
                           IF NVL(V_VRPARTIDA, 0) <> 0 THEN 
 
                              IF C_AJUSTECONTA.CDHISTPADR IS NULL THEN 
                                 V_DSHISTLANC := CTB_HIST_PAG(V_CDHISTLANC, CONTAS.CDFILIAL, CONTAS.NRLANCTONF, CONTAS.NRSEQVENPAG, CONTAS.NRPARCELAPAG, C_AJUSTECONTA.CDAJUCTPAG); 
                              ELSE 
                                 V_DSHISTLANC := CTB_HIST_PAG(C_AJUSTECONTA.CDHISTPADR, CONTAS.CDFILIAL, CONTAS.NRLANCTONF, CONTAS.NRSEQVENPAG, CONTAS.NRPARCELAPAG, C_AJUSTECONTA.CDAJUCTPAG); 
                              END IF; 
 
                              V_DSHISTLANC := CTB_HIST_PAG(V_CDHISTLANC, CONTAS.CDFILIAL, CONTAS.NRLANCTONF, CONTAS.NRSEQVENPAG, CONTAS.NRPARCELAPAG, ''); 
 
                              IF V_VRPARTIDA < 0 THEN 
                                 V_TOTDEBITO :=  V_TOTDEBITO + ROUND(V_VRPARTIDA, 2); 
                              ELSE 
                                 V_TOTCREDITO := V_TOTCREDITO + ROUND(V_VRPARTIDA, 2); 
                              END IF; 
 
                              V_NRSEQUENCIAL := LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'); 
                              INSERT INTO LANCCTBTEMP 
                                 (CDEMPRESA, NRLANCCTBTEMP, CDDOCUTEMP, NRSEQCTBTEMP, CDCONTCTBL, CDHISTPADR, 
                                  DSHISTCTB, DTLANCCTBTEMP, VRLANCCTBTEMP, IDLANCCTBCOME, CDLANCCTBCOME, IDSISTEMA) 
                              VALUES 
                                 (P_CDEMPRESA, V_NRLANCTEMP, V_DOCUMENTO, LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'), C_AJUSTECONTA.CDCONTCTBL, V_CDHISTLANC, 
                                  V_DSHISTLANC, V_DTBAIXA, ROUND(V_VRPARTIDA, 2), V_IDCOME, V_CODCOMEAUX, 'PAG'); 
                              V_RATSEQ := 0; 
                              BUSCA_TPCOMERCIAL(C_AJUSTECONTA.CDCONTCTBL, V_IDCOME, V_IDCCUS); 
                              IF V_CONTRAT = 'S' THEN 
                                 IF V_IDCCUS <> 'O' THEN 
                                    V_CDFILIAL := CONTAS.CDFILIRECE; 
                                    INSERT INTO RATECTBTEMP 
                                       (CDEMPRESA, NRLANCCTBTEMP, NRSEQCTBTEMP, CDFILIAL, CDCENTCUST, VRRATECTBTEMP, DTCOMPCTBTEMP, NRSEQRATTEMP) 
                                    VALUES 
                                       (P_CDEMPRESA, V_NRLANCTEMP, LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'), CONTAS.CDFILIRECE, V_CDCENTCUST, 
                                        ROUND(V_VRPARTIDA, 2), V_DTBAIXA, LPAD(TO_CHAR(V_RATSEQ),5,'0')); 
                                 END IF; 
                              END IF; 
                           END IF; 
                        END LOOP; 
                     END IF; 
                  END IF; 
               END LOOP; 
            ELSE 
               /* ROTINA PARA COMPENSAR O CHEQUE */  
               V_SEQPARTIDA := V_SEQPARTIDA + 1; 
               V_TOTDEBITO := V_TOTDEBITO + ROUND(V_VRBAIXAPAG, 2); 
               V_NRSEQUENCIAL := LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'); 
               INSERT INTO LANCCTBTEMP 
                  (CDEMPRESA, NRLANCCTBTEMP, CDDOCUTEMP, NRSEQCTBTEMP, CDCONTCTBL, CDHISTPADR, 
                   DSHISTCTB, DTLANCCTBTEMP, VRLANCCTBTEMP, IDLANCCTBCOME, CDLANCCTBCOME, IDSISTEMA) 
               VALUES 
                  (P_CDEMPRESA, V_NRLANCTEMP, V_DOCUMENTO, LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'), V_CDCONTCTBLCHQ, V_CDHISTPADR, 
                   V_DSHISTLANC, V_DTBAIXA, -ROUND(V_VRBAIXAPAG, 2), V_IDCOME, V_CDREDUCONT, 'PAG'); 
               V_RATSEQ := 1; 
               IF V_CONTRAT = 'S' THEN 
                  IF V_IDCCUS <> 'O' THEN 
                     V_CDFILIAL := NULL; 
                     BEGIN 
                        SELECT CDFILIAL 
                          INTO V_CDFILIAL 
                          FROM CONTCORR 
                         WHERE CDREDUCONT = V_CDREDUCONT; 
                     EXCEPTION 
                        WHEN NO_DATA_FOUND THEN 
                           V_CDFILIAL := NULL; 
                     END; 
                     IF V_CDFILIAL IS NULL THEN

                        V_CDCENTCUST := BUSCA_CCUSTO(P_CDFILIAL, P_CDEMPRESA);
                        IF V_CDCENTCUST  IS NULL THEN
                           V_CDCENTCUST  := V_CDCENTCUST_OLD;
                        END IF;

                        V_CDFILIAL := P_CDFILIAL;
                     ELSE
                        V_CDCENTCUST := BUSCA_CCUSTO(V_CDFILIAL, P_CDEMPRESA);
                        IF V_CDCENTCUST  IS NULL THEN
                           V_CDCENTCUST  := V_CDCENTCUST_OLD;
                        END IF;
                     END IF; 
                     INSERT INTO RATECTBTEMP 
                        (CDEMPRESA, NRLANCCTBTEMP, NRSEQCTBTEMP, CDFILIAL, CDCENTCUST, VRRATECTBTEMP, DTCOMPCTBTEMP, NRSEQRATTEMP) 
                     VALUES 
                        (P_CDEMPRESA, V_NRLANCTEMP, LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'), V_CDFILIAL, V_CDCENTCUST, 
                         -ROUND(V_VRBAIXAPAG, 2), V_DTBAIXA, LPAD(TO_CHAR(V_RATSEQ),5,'0')); 
                  END IF; 
               END IF; 
            END IF; 
         END IF; 
 
         IF V_IDCTBBXPLAN = 'N' THEN 
            V_INPARTIDAS := 0; 
            V_ENTROUAJUSTE := 'N'; 
            FOR AJUSTES IN 
               (SELECT BO.NRLANBOLPAG, BO.CDFILIBAIPAG, NF.CDFILIRECE, AJ.CDAJUCTPAG, 
                       BX.CDREDUCONT, BO.CDFORNECED, AJ.VRAJBOLPAG, IDAJUCTPAG, BO.VRBOLPAG, 
                       CT.NRLANCTONF, CT.CDFILIAL, HP.CDHISTPADR, CT.NRSEQVENPAG, CT.NRPARCELAPAG, 
                       CT.VRATUAPAG, TP.CDCONTCTBL,  COUNT(*) OVER(PARTITION BY BX.CDFILIAL, BX.NRBAIXAPAG) RECORDCOUNT 
                  FROM BAIXAPAGA BX, BOLETPAGAR BO, AJBOLPAG AJ, CONTAPAGAR CT, 
                       NOTAFISCAL NF, TIPOAJPAGAR TP, HISTPADR HP 
                 WHERE BX.CDFILIAL = P_CDFILIAL 
                   AND BX.NRBAIXAPAG = P_NRBAIXA 
                   AND BX.CDFILIAL = BO.CDFILIBAIPAG 
                   AND BX.NRBAIXAPAG = BO.NRBAIXAPAG 
                   AND BO.CDFILIAL = AJ.CDFILIAL 
                   AND BO.NRLANBOLPAG = AJ.NRLANBOLPAG 
                   AND BO.CDFILIAL = CT.CDFILIBPAG 
                   AND BO.NRLANBOLPAG = CT.NRLANBOLPAG 
                   AND CT.CDFILIAL = NF.CDFILIAL 
                   AND CT.NRLANCTONF = NF.NRLANCTONF 
                   AND AJ.CDAJUCTPAG = TP.CDAJUCTPAG 
                   AND TP.IDCTBAJCTPAG = 'S' 
                   AND HP.CDHISTPADR = TP.CDHISTPADR(+) 
                 GROUP BY BO.NRLANBOLPAG, BO.CDFILIBAIPAG, NF.CDFILIRECE, AJ.CDAJUCTPAG, 
                          BX.CDREDUCONT, BO.CDFORNECED, AJ.VRAJBOLPAG, IDAJUCTPAG, BO.VRBOLPAG, 
                          CT.NRLANCTONF, CT.CDFILIAL, HP.CDHISTPADR, CT.NRSEQVENPAG, CT.NRPARCELAPAG, 
                          CT.VRATUAPAG, TP.CDCONTCTBL, BX.CDFILIAL, BX.NRBAIXAPAG)LOOP 
               V_INPARTIDAS := V_INPARTIDAS + 1; 
               IF AJUSTES.IDAJUCTPAG = 'A' THEN 
                  V_FATOR := -1; 
               ELSE 
                  V_FATOR := 1; 
               END IF; 
 
               IF AJUSTES.CDHISTPADR IS NULL THEN 
                  V_DSHISTLANC := CTB_HIST_PAG(V_CDHISTLANC, AJUSTES.CDFILIAL, AJUSTES.NRLANCTONF, AJUSTES.NRSEQVENPAG, AJUSTES.NRPARCELAPAG, AJUSTES.CDAJUCTPAG); 
               ELSE
                  V_DSHISTLANC := CTB_HIST_PAG(AJUSTES.CDHISTPADR, AJUSTES.CDFILIAL, AJUSTES.NRLANCTONF, AJUSTES.NRSEQVENPAG, AJUSTES.NRPARCELAPAG, AJUSTES.CDAJUCTPAG);
               END IF; 

               V_CDCENTCUST := BUSCA_CCUSTO(AJUSTES.CDFILIRECE, P_CDEMPRESA);
               IF V_CDCENTCUST  IS NULL THEN
                  V_CDCENTCUST  := V_CDCENTCUST_OLD;
               END IF;
               V_CDCONTCTBL := AJUSTES.CDCONTCTBL;
               BUSCA_TPCOMERCIAL(V_CDCONTCTBL, V_IDCOME, V_IDCCUS); 
               IF V_IDCOME = 'B' THEN 
                  V_CODCOMEAUX := AJUSTES.CDREDUCONT; 
               ELSIF V_IDCOME = 'F' THEN 
                  V_CODCOMEAUX := AJUSTES.CDFORNECED; 
               ELSE 
                  V_IDCOME := 'N'; 
                  V_CODCOMEAUX := NULL; 
               END IF; 
               IF V_SEQPARTIDA IS NULL THEN 
                  V_SEQPARTIDA := 0; 
               END IF; 
               V_VRAJUSTE := ROUND((AJUSTES.VRATUAPAG  * 100) / AJUSTES.VRBOLPAG, 2); 
               V_VRAJUSTE := ROUND((AJUSTES.VRAJBOLPAG * V_VRAJUSTE) / 100, 2); 
               IF ROUND(NVL(V_VRAJUSTE, 0), 2) <> 0 THEN 
                 V_SEQPARTIDA := V_SEQPARTIDA + 1; 
                 IF ROUND(V_VRAJUSTE * V_FATOR, 2) > 0 THEN 
                    V_TOTCREDITO := V_TOTCREDITO + ROUND(V_VRAJUSTE * V_FATOR, 2); 
                 ELSE 
                    V_TOTDEBITO := V_TOTDEBITO + ROUND(V_VRAJUSTE * V_FATOR, 2); 
                 END IF; 
                 V_NRSEQUENCIAL := LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'); 
                 INSERT INTO LANCCTBTEMP 
                    (CDEMPRESA, NRLANCCTBTEMP, CDDOCUTEMP, NRSEQCTBTEMP, CDCONTCTBL, CDHISTPADR, 
                     DSHISTCTB, DTLANCCTBTEMP, VRLANCCTBTEMP, IDLANCCTBCOME, CDLANCCTBCOME, IDSISTEMA) 
                 VALUES 
                    (P_CDEMPRESA, V_NRLANCTEMP, V_DOCUMENTO, LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'), V_CDCONTCTBL, V_CDHISTPADR, 
                    V_DSHISTLANC,  V_DTBAIXA, ROUND(V_VRAJUSTE * V_FATOR, 2), V_IDCOME, V_CODCOMEAUX, 'PAG'); 
                 V_TOTAJUSTE := V_VRAJUSTE * V_FATOR; 
                 IF V_CONTRAT = 'S' THEN 
                    IF V_IDCCUS <> 'O' THEN 
                       V_CDCENTCUST := BUSCA_CCUSTO(AJUSTES.CDFILIRECE, P_CDEMPRESA);
                       IF V_CDCENTCUST  IS NULL THEN
                          V_CDCENTCUST  := V_CDCENTCUST_OLD;
                       END IF;
                       V_CDFILIAL := AJUSTES.CDFILIRECE;
                       V_TOTRATAJ := 0;
                       V_RATSEQ := 0; 
                       BEGIN 
                          SELECT COUNT(*) 
                            INTO V_COUNT 
                            FROM RATTPAJP 
                           WHERE CDAJUCTPAG = AJUSTES.CDAJUCTPAG; 
                       EXCEPTION 
                          WHEN NO_DATA_FOUND THEN 
                             V_COUNT := 0; 
                       END; 
                       IF V_COUNT <> 0 THEN 
                          FOR RATAJ IN( 
                             SELECT CDCENTCUST, CDFIRATTPAJP, VRPERATTPAJP 
                               FROM RATTPAJP 
                              WHERE CDAJUCTPAG = AJUSTES.CDAJUCTPAG)LOOP 
                             V_VRAJUSTE := ROUND((V_TOTAJUSTE * RATAJ.VRPERATTPAJP) / 100, 2); 
                             V_RATSEQ := V_RATSEQ + 1; 
                             IF RATAJ.CDFIRATTPAJP = '----' THEN 
                                V_CDFILIAL := AJUSTES.CDFILIRECE; 
                             ELSE 
                                V_CDFILIAL := RATAJ.CDFIRATTPAJP; 
                             END IF; 
                             INSERT INTO RATECTBTEMP 
                                (CDEMPRESA, NRLANCCTBTEMP, NRSEQCTBTEMP, 
                                 CDFILIAL, CDCENTCUST, 
                                 VRRATECTBTEMP, DTCOMPCTBTEMP, NRSEQRATTEMP) 
                             VALUES 
                                (P_CDEMPRESA, V_NRLANCTEMP, LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'), 
                                 V_CDFILIAL, RATAJ.CDCENTCUST, 
                                 ROUND(V_VRAJUSTE, 2), V_DTBAIXA, LPAD(TO_CHAR(V_RATSEQ),5,'0')); 
                             V_TOTRATAJ := V_TOTRATAJ + V_VRAJUSTE; 
                             V_CDCENTCUST := RATAJ.CDCENTCUST;
                          END LOOP; 
                       ELSE 
                          V_RATSEQ := V_RATSEQ + 1; 

                          V_CDCENTCUST := BUSCA_CCUSTO(AJUSTES.CDFILIRECE, P_CDEMPRESA);
                          IF V_CDCENTCUST  IS NULL THEN
                             V_CDCENTCUST  := V_CDCENTCUST_OLD;
                          END IF;
                          INSERT INTO RATECTBTEMP 
                             (CDEMPRESA, NRLANCCTBTEMP, NRSEQCTBTEMP, CDFILIAL, CDCENTCUST, VRRATECTBTEMP, DTCOMPCTBTEMP, NRSEQRATTEMP) 
                          VALUES 
                             (P_CDEMPRESA, V_NRLANCTEMP, LPAD(TO_CHAR(V_SEQPARTIDA),5,'0'), AJUSTES.CDFILIRECE, V_CDCENTCUST, 
                              ROUND(V_VRAJUSTE * V_FATOR, 2), V_DTBAIXA, LPAD(TO_CHAR(V_RATSEQ),5,'0')); 
                          V_TOTRATAJ := V_TOTRATAJ + (V_VRAJUSTE * V_FATOR); 
                          V_CDFILIAL := AJUSTES.CDFILIRECE; 
                          V_CDCENTCUST := V_CDCENTCUST; 
                       END IF; 
                       IF V_TOTRATAJ <> V_TOTAJUSTE THEN 
                           IF V_TOTAJUSTE < V_TOTRATAJ THEN 
                              V_TOTRATAJ := V_TOTRATAJ  - V_TOTAJUSTE; 
                           ELSE 
                              V_TOTRATAJ := V_TOTAJUSTE - V_TOTRATAJ; 
                           END IF; 
 
                           UPDATE RATECTBTEMP 
                              SET VRRATECTBTEMP = VRRATECTBTEMP + V_TOTRATAJ 
                            WHERE NRSEQCTBTEMP = V_SEQPARTIDA 
                              AND CDFILIAL = V_CDFILIAL 
                              AND CDCENTCUST = V_CDCENTCUST 
                              AND NRLANCCTBTEMP = V_NRLANCTEMP 
                              AND CDEMPRESA = P_CDEMPRESA; 
                        END IF; 
                    END IF; 
                 END IF; 
               END IF; 
               IF V_INPARTIDAS = AJUSTES.RECORDCOUNT THEN 
                  V_ENTROUAJUSTE := 'S'; 
                  IF ABS(V_TOTCREDITO) <> ABS(V_TOTDEBITO) THEN 
                     V_DIFERENCA := ABS(V_TOTCREDITO) + V_TOTDEBITO; 
                     V_NRSEQUENCIALTEMP := NULL; 
                     BEGIN 
                        SELECT MAX(NRSEQCTBTEMP) 
                          INTO V_NRSEQUENCIALTEMP 
                          FROM LANCCTBTEMP 
                         WHERE NRLANCCTBTEMP = V_NRLANCTEMP 
                           AND CDEMPRESA = P_CDEMPRESA 
                           AND ABS(VRLANCCTBTEMP) > ABS(V_DIFERENCA); 
                     EXCEPTION 
                        WHEN NO_DATA_FOUND THEN 
                           V_NRSEQUENCIALTEMP := NULL; 
                     END; 
                     IF V_NRSEQUENCIALTEMP = V_NRSEQUENCIAL THEN 
                        UPDATE LANCCTBTEMP 
                           SET VRLANCCTBTEMP = VRLANCCTBTEMP - V_DIFERENCA 
                         WHERE NRLANCCTBTEMP = V_NRLANCTEMP 
                           AND NRSEQCTBTEMP = V_NRSEQUENCIAL 
                           AND CDEMPRESA = P_CDEMPRESA; 
                         IF V_CONTRAT = 'S' THEN 
                            IF V_IDCCUS <> 'O' THEN 
                               UPDATE RATECTBTEMP 
                                  SET VRRATECTBTEMP = VRRATECTBTEMP - V_DIFERENCA 
                                WHERE CDEMPRESA = P_CDEMPRESA 
                                  AND NRLANCCTBTEMP = V_NRLANCTEMP 
                                  AND NRSEQCTBTEMP = V_NRSEQUENCIAL 
                                  AND CDFILIAL = V_CDFILIAL 
                                  AND CDCENTCUST = V_CDCENTCUST; 
                            END IF; 
                         END IF; 
                     ELSE 
                        UPDATE LANCCTBTEMP 
                           SET VRLANCCTBTEMP = VRLANCCTBTEMP - V_DIFERENCA 
                         WHERE NRLANCCTBTEMP = V_NRLANCTEMP 
                           AND NRSEQCTBTEMP = V_NRSEQUENCIALTEMP 
                           AND CDEMPRESA = P_CDEMPRESA; 
                        IF V_CONTRAT = 'S' THEN 
                           IF V_IDCCUS <> 'O' THEN 
                              BEGIN 
                                 SELECT CDFILIAL, CDCENTCUST 
                                   INTO V_CDFILIAL, V_CDCENTCUST 
                                   FROM RATECTBTEMP 
                                  WHERE CDEMPRESA = P_CDEMPRESA 
                                    AND NRLANCCTBTEMP = V_NRLANCTEMP 
                                    AND NRSEQCTBTEMP = V_NRSEQUENCIALTEMP 
                                    AND ROWNUM = 1; 
                              EXCEPTION 
                                 WHEN NO_DATA_FOUND THEN 
                                    V_CDFILIAL := NULL; 
                                    V_CDCENTCUST := NULL; 
                              END; 
                              UPDATE RATECTBTEMP 
                                  SET VRRATECTBTEMP = VRRATECTBTEMP - V_DIFERENCA 
                                WHERE CDEMPRESA = P_CDEMPRESA 
                                  AND NRLANCCTBTEMP = V_NRLANCTEMP 
                                  AND NRSEQCTBTEMP = V_NRSEQUENCIALTEMP 
                                  AND CDFILIAL = V_CDFILIAL 
                                  AND CDCENTCUST = V_CDCENTCUST; 
                           END IF; 
                        END IF; 
                     END IF; 
                  END IF; 
               END IF; 
            END LOOP; 
         END IF; 
      END IF; 
 
      IF ((ABS(V_TOTCREDITO) <> ABS(V_TOTDEBITO)) AND (V_ENTROUAJUSTE = 'N')) THEN 
         V_DIFERENCA := ABS(V_TOTCREDITO) + V_TOTDEBITO; 
         V_NRSEQUENCIALTEMP := NULL; 
         BEGIN 
            SELECT MAX(NRSEQCTBTEMP) 
              INTO V_NRSEQUENCIALTEMP 
              FROM LANCCTBTEMP 
             WHERE NRLANCCTBTEMP = V_NRLANCTEMP 
               AND CDEMPRESA = P_CDEMPRESA 
               AND ABS(VRLANCCTBTEMP) > ABS(V_DIFERENCA); 
         EXCEPTION 
            WHEN NO_DATA_FOUND THEN 
               V_NRSEQUENCIALTEMP := NULL; 
         END; 
         IF V_NRSEQUENCIALTEMP = V_NRSEQUENCIAL THEN 
            UPDATE LANCCTBTEMP 
               SET VRLANCCTBTEMP = VRLANCCTBTEMP - V_DIFERENCA 
             WHERE NRLANCCTBTEMP = V_NRLANCTEMP 
               AND NRSEQCTBTEMP = V_NRSEQUENCIAL 
               AND CDEMPRESA = P_CDEMPRESA; 
             IF V_CONTRAT = 'S' THEN 
                IF V_IDCCUS <> 'O' THEN 
                   UPDATE RATECTBTEMP 
                      SET VRRATECTBTEMP = VRRATECTBTEMP - V_DIFERENCA 
                    WHERE CDEMPRESA = P_CDEMPRESA 
                      AND NRLANCCTBTEMP = V_NRLANCTEMP 
                      AND NRSEQCTBTEMP = V_NRSEQUENCIAL 
                      AND CDFILIAL = V_CDFILIAL 
                      AND CDCENTCUST = V_CDCENTCUST; 
                END IF; 
             END IF; 
         ELSE 
            UPDATE LANCCTBTEMP 
               SET VRLANCCTBTEMP = VRLANCCTBTEMP - V_DIFERENCA 
             WHERE NRLANCCTBTEMP = V_NRLANCTEMP 
               AND NRSEQCTBTEMP = V_NRSEQUENCIALTEMP 
               AND CDEMPRESA = P_CDEMPRESA; 
            IF V_CONTRAT = 'S' THEN 
               IF V_IDCCUS <> 'O' THEN 
                  BEGIN 
                     SELECT CDFILIAL, CDCENTCUST 
                       INTO V_CDFILIAL, V_CDCENTCUST 
                       FROM RATECTBTEMP 
                      WHERE CDEMPRESA = P_CDEMPRESA 
                        AND NRLANCCTBTEMP = V_NRLANCTEMP 
                        AND NRSEQCTBTEMP = V_NRSEQUENCIALTEMP 
                        AND ROWNUM = 1; 
                  EXCEPTION 
                     WHEN NO_DATA_FOUND THEN 
                        V_CDFILIAL := NULL; 
                        V_CDCENTCUST := NULL; 
                  END; 
                  UPDATE RATECTBTEMP 
                      SET VRRATECTBTEMP = VRRATECTBTEMP - V_DIFERENCA 
                    WHERE CDEMPRESA = P_CDEMPRESA 
                      AND NRLANCCTBTEMP = V_NRLANCTEMP
                      AND NRSEQCTBTEMP = V_NRSEQUENCIALTEMP 
                      AND CDFILIAL = V_CDFILIAL 
                      AND CDCENTCUST = V_CDCENTCUST; 
               END IF; 
            END IF; 
         END IF; 
      END IF; 
 
      VERIFICA_ERRO_CTB(V_NRLANCTEMP, P_CDEMPRESA); 
      BEGIN 
         SELECT COUNT(*) 
           INTO V_COUNT 
           FROM ERROCTBTEMP 
          WHERE NRLANCCTBTEMP = V_NRLANCTEMP 
            AND CDEMPRESA = P_CDEMPRESA; 
      EXCEPTION  
         WHEN NO_DATA_FOUND THEN  
            V_COUNT := 0;  
      END;  
      IF V_COUNT = 0 THEN  
         UPDATE BAIXAPAGA  
            SET NRLCTBBPAG = V_NRLANCTEMP  
          WHERE NRBAIXAPAG = P_NRBAIXA  
            AND CDFILIAL   = P_CDFILIAL;  
      END IF;  
      GRAVA_LANC_CTB(V_NRLANCTEMP, P_CDEMPRESA);  
      P_NRLANCCTB := V_NRLANCTEMP;  
   END IF; 
END;
