SET DEFINE OFF;

create or replace PROCEDURE ADD_ORCAMENTO_ITEM_GRAVA (
    p_uniqueMachineID              IN VARCHAR2,
    p_estabelecimentoAtivo         IN NUMBER,
    p_config_198_obs_add_referenc  IN NUMBER,
    p_config_199_obs_add_caractA   IN NUMBER,
    p_config_200_obs_add_caractB   IN NUMBER,
    p_config_201_obs_add_caractC   IN NUMBER,
    p_config_202_obs_add_caractD   IN NUMBER,
    p_config_203_obs_add_caractE   IN NUMBER,
    p_tempComp_nomeTempComposicao  IN VARCHAR2,
    p_tempComp_sequencia           IN NUMBER,
    p_cab_orcamento                IN NUMBER,
    p_cab_modeloDocumento          IN NUMBER,
    p_cab_entradaSaida             IN CHAR,
    p_cab_estabelecimento          IN NUMBER,
    p_cab_dataEmissao              IN DATE,
    p_cab_dataEntrega              IN DATE,
    p_etOrc_situacaoOrcamento      IN NUMBER,
    p_item_idItemOrcamento         IN NUMBER,
    p_item_sequencia               IN NUMBER,
    p_a_item_cancelado             IN NUMBER,
    p_item_cancelado               IN NUMBER,
    p_item_vendedor                IN NUMBER,
    p_a_item_gradeProduto          IN NUMBER,
    p_item_gradeProduto            IN NUMBER,
    p_item_servico                 IN NUMBER,
    p_item_atividadeServico        IN NUMBER,
    p_item_statusAtividadeServico  IN CHAR,
    p_a_item_idFormulaTinta        IN NUMBER,
    p_item_idFormulaTinta          IN NUMBER,
    p_item_personalizacao          IN NUMBER,
    p_a_item_idLoteEstoque         IN NUMBER,
    p_item_idLoteEstoque           IN NUMBER,
    p_item_vinculoItemDocumento    IN NUMBER,
    p_item_operacaoFiscal          IN NUMBER,
    p_a_item_movimentaEstoque      IN NUMBER,
    p_item_movimentaEstoque        IN NUMBER,
    p_item_geraFinanceiro          IN NUMBER,
    p_a_item_localEstoque          IN NUMBER,
    p_item_localEstoque            IN NUMBER,
    p_a_item_pessoaParticipante    IN NUMBER,
    p_item_pessoaParticipante      IN NUMBER,
    p_item_dataEntrega             IN DATE,
    p_item_controleQuantidade      IN NUMBER,
    p_item_unidadeMedidaConversao  IN VARCHAR2,
    p_item_conversorQuantidade     IN NUMBER,
    p_item_loteMinimo              IN NUMBER,
    p_item_loteMultiplo            IN NUMBER,
    p_item_altura                  IN NUMBER,
    p_item_largura                 IN NUMBER,
    p_item_comprimento             IN NUMBER,
    p_item_pecas                   IN NUMBER,
    p_item_quantidade              IN NUMBER,
    p_item_quantidadeConvertida    IN NUMBER,
    p_a_item_quantidadeSaldo       IN NUMBER,
    p_item_quantidadeSaldo         IN NUMBER,
    p_item_controleEntrega         IN NUMBER,
    p_item_situacaoEntrega         IN NUMBER,
    p_item_pesoLiquido             IN NUMBER,
    p_item_pesoBruto               IN NUMBER,
    p_item_tipoPreco               IN CHAR,
    p_item_tabelaPreco             IN VARCHAR2,
    p_item_precoSugestaoAPrazo     IN NUMBER,
    p_item_precoSugestaoAVista     IN NUMBER,
    p_item_precoDesconto           IN NUMBER,
    p_item_precoMinimo             IN NUMBER,
    p_item_usarPrecoAVista         IN NUMBER,
    p_item_precoPautaTabelado      IN NUMBER,
    p_item_precoUnitarioBruto      IN NUMBER,
    p_item_acrescimoUnitarioCompos IN NUMBER,
    p_item_precoUnitario           IN NUMBER,
    p_item_precoUnitarioConvertido IN NUMBER,
    p_item_valorProdutoServicoBrut IN NUMBER,
    p_item_valorProdutoServico     IN NUMBER,
    p_item_percDescontoItem        IN NUMBER,
    p_item_valorDescontoItem       IN NUMBER,
    p_item_percAcrescimoItem       IN NUMBER,
    p_item_valorAcrescimoItem      IN NUMBER,
    p_item_valorFreteItem          IN NUMBER,
    p_item_valorSeguroItem         IN NUMBER,
    p_item_valorAdicFreteMarItem   IN NUMBER,
    p_item_valorDespesasAduanItem  IN NUMBER,
    p_item_valorFreteGeral         IN NUMBER,
    p_item_valorSeguroGeral        IN NUMBER,
    p_item_valorDescontoGeral      IN NUMBER,
    p_item_valorOutrasDespGeral    IN NUMBER,
    p_item_valorAdicFreteMarGeral  IN NUMBER,
    p_item_valorDespesasAduanGeral IN NUMBER,
    p_item_valorBasePagamento      IN NUMBER,
    p_item_valorDescontoPagamento  IN NUMBER,
    p_item_valorOutrasDespPag      IN NUMBER,
    p_item_valorJurosPagamento     IN NUMBER,
    p_item_valorFreteTotal         IN NUMBER,
    p_item_valorSeguroTotal        IN NUMBER,
    p_item_valorDescontoTotal      IN NUMBER,
    p_item_valorOutrasDespTotal    IN NUMBER,
    p_item_valorAdicFreteMarTotal  IN NUMBER,
    p_item_valorDespesasAduanTotal IN NUMBER,
    p_item_cfop                    IN NUMBER,
    p_item_indicadorISSQN          IN CHAR,
    p_item_aliquotaISSQN           IN NUMBER,
    p_item_baseISSQN               IN NUMBER,
    p_item_valorISSQN              IN NUMBER,
    p_item_aliquotaIRRF            IN NUMBER,
    p_item_baseIRRF                IN NUMBER,
    p_item_valorIRRF               IN NUMBER,
    p_item_aliquotaINSS            IN NUMBER,
    p_item_baseINSS                IN NUMBER,
    p_item_valorINSS               IN NUMBER,
    p_item_retencaoPIS             IN NUMBER,
    p_item_baseRetPIS              IN NUMBER,
    p_item_valorRetPIS             IN NUMBER,
    p_item_retencaoCOFINS          IN NUMBER,
    p_item_baseRetCOFINS           IN NUMBER,
    p_item_valorRetCOFINS          IN NUMBER,
    p_item_retencaoCSLL            IN NUMBER,
    p_item_baseRetCSLL             IN NUMBER,
    p_item_valorRetCSLL            IN NUMBER,
    p_item_aliquotaII              IN NUMBER,
    p_item_baseII                  IN NUMBER,
    p_item_valorII                 IN NUMBER,
    p_item_aliquotaIOF             IN NUMBER,
    p_item_baseIOF                 IN NUMBER,
    p_item_valorIOF                IN NUMBER,
    p_item_codigoEnquadramentoIPI  IN NUMBER,
    p_item_stIPI                   IN CHAR,
    p_item_aliquotaIPI             IN NUMBER,
    p_item_valorAliquotaIPI        IN NUMBER,
    p_item_baseIPI                 IN NUMBER,
    p_item_valorIPI                IN NUMBER,
    p_item_stPIS                   IN CHAR,
    p_item_aliquotaPIS             IN NUMBER,
    p_item_valorAliquotaPIS        IN NUMBER,
    p_item_basePIS                 IN NUMBER,
    p_item_valorPIS                IN NUMBER,
    p_item_aliquotaPISST           IN NUMBER,
    p_item_valorAliquotaPISST      IN NUMBER,
    p_item_basePISST               IN NUMBER,
    p_item_valorPISST              IN NUMBER,
    p_item_stCOFINS                IN CHAR,
    p_item_aliquotaCOFINS          IN NUMBER,
    p_item_valorAliquotaCOFINS     IN NUMBER,
    p_item_baseCOFINS              IN NUMBER,
    p_item_valorCOFINS             IN NUMBER,
    p_item_aliquotaCOFINSST        IN NUMBER,
    p_item_valorAliquotaCOFINSST   IN NUMBER,
    p_item_baseCOFINSST            IN NUMBER,
    p_item_valorCOFINSST           IN NUMBER,
    p_item_stSimplesNacional       IN CHAR,
    p_item_creditoSimplesNacional  IN NUMBER,
    p_item_baseCreditoSimplesNac   IN NUMBER,
    p_item_valorCreditoSimplesNac  IN NUMBER,
    p_item_stICMS                  IN CHAR,
    p_item_modalBaseCalcICMS       IN CHAR,
    p_item_reducaoBaseICMS         IN NUMBER,
    p_item_aliquotaICMS            IN NUMBER,
    p_item_diferimentoICMS         IN NUMBER,
    p_item_motivoDesoneracaoICMS   IN CHAR,
    p_item_baseICMS                IN NUMBER,
    p_item_valorICMSOperacao       IN NUMBER,
    p_item_valorICMSDiferido       IN NUMBER,
    p_item_valorICMS               IN NUMBER,
    p_item_valorICMSDesoneracao    IN NUMBER,
    p_item_modalBaseCalcICMSST     IN CHAR,
    p_item_margemValorAdicionadoST IN NUMBER,
    p_item_reducaoBaseST           IN NUMBER,
    p_item_aliquotaICMSST          IN NUMBER,
    p_item_aliquotaSTSuportConsFin IN NUMBER,
    p_item_baseICMSST              IN NUMBER,
    p_item_valorICMSST             IN NUMBER,
    p_item_baseICMSSTAnteriormente IN NUMBER,
    p_item_valorICMSSTAnteriorm    IN NUMBER,
    p_item_valorICMSProprioSubstit IN NUMBER,
    p_item_reducaoBaseICMSEfetivo  IN NUMBER,
    p_item_aliquotaICMSEfetivo     IN NUMBER,
    p_item_baseICMSEfetivo         IN NUMBER,
    p_item_valorICMSEfetivo        IN NUMBER,
    p_item_aliquotaICMSUFDestinat  IN NUMBER,
    p_item_aliquotaICMSInterestad  IN NUMBER,
    p_item_partilhaICMSInterestad  IN NUMBER,
    p_item_baseICMSUFDestinatario  IN NUMBER,
    p_item_valorICMSUFDestinatario IN NUMBER,
    p_item_baseICMSUFRemetente     IN NUMBER,
    p_item_valorICMSUFRemetente    IN NUMBER,
    p_item_aliquotaFCP             IN NUMBER,
    p_item_baseFCP                 IN NUMBER,
    p_item_valorFCP                IN NUMBER,
    p_item_aliquotaFCPST           IN NUMBER,
    p_item_baseFCPST               IN NUMBER,
    p_item_valorFCPST              IN NUMBER,
    p_item_aliquotaFCPSTAnteriorm  IN NUMBER,
    p_item_baseFCPSTAnteriormente  IN NUMBER,
    p_item_valorFCPSTAnteriormente IN NUMBER,
    p_item_aliquotaFCPUFDestinat   IN NUMBER,
    p_item_baseFCPUFDestinatario   IN NUMBER,
    p_item_valorFCPUFDestinatario  IN NUMBER,
    p_item_aliquotaEstImpFederais  IN NUMBER,
    p_item_aliquotaEstImpEstaduais IN NUMBER,
    p_item_aliquotaEstImpMunicipai IN NUMBER,
    p_item_baseEstimadaImpostos    IN NUMBER,
    p_item_valorEstImpFederais     IN NUMBER,
    p_item_valorEstImpEstaduais    IN NUMBER,
    p_item_valorEstImpMunicipais   IN NUMBER,
    p_item_valorImpostosSomaPag    IN NUMBER,
    p_item_valorImpostosDiminuiPag IN NUMBER,
    p_item_valorLiquidoItem        IN NUMBER,
    p_item_observacoesDigitadas    IN VARCHAR2,
    /* Retornos */
    r_item_idItemOrcamento         OUT NUMBER)
IS
    v_item_observacoes             VARCHAR2 (4000);
    v_auxVarchar                   VARCHAR2 (32000);
BEGIN
  r_item_idItemOrcamento := p_item_idItemOrcamento;
  IF r_item_idItemOrcamento = 0 THEN
    r_item_idItemOrcamento := FUNC_BUSCA_PROXIMO_ID ('MOORCAMENTOXITENS', p_estabelecimentoAtivo, NULL);
  END IF;
  v_item_observacoes := FUNC_ADD_MONTA_OBSERVACAO_ITEM (
    p_uniqueMachineID,
    p_config_198_obs_add_referenc,
    p_config_199_obs_add_caractA,
    p_config_200_obs_add_caractB,
    p_config_201_obs_add_caractC,
    p_config_202_obs_add_caractD,
    p_config_203_obs_add_caractE,
    p_tempComp_nomeTempComposicao,
    p_tempComp_sequencia,
    'O',
    r_item_idItemOrcamento,
    p_item_gradeProduto,
    p_item_idFormulaTinta,
    p_item_personalizacao,
    p_item_idLoteEstoque,
    p_item_controleQuantidade,
    p_item_loteMultiplo,
    p_item_altura,
    p_item_largura,
    p_item_comprimento,
    p_item_quantidade,
    p_item_observacoesDigitadas);
  MERGE INTO MOORCAMENTOXITENS a USING (
    SELECT
      r_item_idItemOrcamento         idItemOrcamento,
      p_cab_orcamento                orcamento,
      p_item_sequencia               sequencia,
      p_item_cancelado               cancelado,
      p_item_vendedor                vendedor,
      p_item_gradeProduto            gradeProduto,
      p_item_servico                 servico,
      p_item_atividadeServico        atividadeServico,
      p_item_statusAtividadeServico  statusAtividadeServico,
      p_item_idFormulaTinta          idFormulaTinta,
      p_item_personalizacao          personalizacao,
      p_item_idLoteEstoque           idLoteEstoque,
      p_item_vinculoItemDocumento    vinculoItemDocumento,
      p_item_operacaoFiscal          operacaoFiscal,
      p_item_movimentaEstoque        movimentaEstoque,
      p_item_geraFinanceiro          geraFinanceiro,
      p_item_localEstoque            localEstoque,
      p_item_pessoaParticipante      pessoaParticipante,
      p_item_dataEntrega             dataEntrega,
      p_item_controleQuantidade      controleQuantidade,
      p_item_unidadeMedidaConversao  unidadeMedidaConversao,
      p_item_conversorQuantidade     conversorQuantidade,
      p_item_loteMinimo              loteMinimo,
      p_item_loteMultiplo            loteMultiplo,
      p_item_altura                  altura,
      p_item_largura                 largura,
      p_item_comprimento             comprimento,
      p_item_pecas                   pecas,
      p_item_quantidade              quantidade,
      p_item_quantidadeConvertida    quantidadeConvertida,
      p_item_quantidadeSaldo         quantidadeSaldo,
      p_item_controleEntrega         controleEntrega,
      p_item_situacaoEntrega         situacaoEntrega,
      p_item_pesoLiquido             pesoLiquido,
      p_item_pesoBruto               pesoBruto,
      p_item_tipoPreco               tipoPreco,
      p_item_tabelaPreco             tabelaPreco,
      p_item_precoSugestaoAPrazo     precoSugestaoAPrazo,
      p_item_precoSugestaoAVista     precoSugestaoAVista,
      p_item_precoDesconto           precoDesconto,
      p_item_precoMinimo             precoMinimo,
      p_item_usarPrecoAVista         usarPrecoAVista,
      p_item_precoPautaTabelado      precoPautaTabelado,
      p_item_precoUnitarioBruto      precoUnitarioBruto,
      p_item_acrescimoUnitarioCompos acrescimoUnitarioComposicao,
      p_item_precoUnitario           precoUnitario,
      p_item_precoUnitarioConvertido precoUnitarioConvertido,
      p_item_valorProdutoServicoBrut valorProdutoServicoBruto,
      p_item_valorProdutoServico     valorProdutoServico,
      p_item_percDescontoItem        percDescontoItem,
      p_item_valorDescontoItem       valorDescontoItem,
      p_item_percAcrescimoItem       percAcrescimoItem,
      p_item_valorAcrescimoItem      valorAcrescimoItem,
      p_item_valorFreteItem          valorFreteItem,
      p_item_valorSeguroItem         valorSeguroItem,
      p_item_valorAdicFreteMarItem   valorAdicFreteMarinhaMerItem,
      p_item_valorDespesasAduanItem  valorDespesasAduaneirasItem,
      p_item_valorFreteGeral         valorFreteGeral,
      p_item_valorSeguroGeral        valorSeguroGeral,
      p_item_valorDescontoGeral      valorDescontoGeral,
      p_item_valorOutrasDespGeral    valorOutrasDespesasGeral,
      p_item_valorAdicFreteMarGeral  valorAdicFreteMarinhaMerGeral,
      p_item_valorDespesasAduanGeral valorDespesasAduaneirasGeral,
      p_item_valorBasePagamento      valorBasePagamento,
      p_item_valorDescontoPagamento  valorDescontoPagamento,
      p_item_valorOutrasDespPag      valorOutrasDespesasPagamento,
      p_item_valorJurosPagamento     valorJurosPagamento,
      p_item_valorFreteTotal         valorFreteTotal,
      p_item_valorSeguroTotal        valorSeguroTotal,
      p_item_valorDescontoTotal      valorDescontoTotal,
      p_item_valorOutrasDespTotal    valorOutrasDespesasTotal,
      p_item_valorAdicFreteMarTotal  valorAdicFreteMarinhaMerTotal,
      p_item_valorDespesasAduanTotal valorDespesasAduaneirasTotal,
      p_item_cfop                    cfop,
      p_item_indicadorISSQN          indicadorISSQN,
      p_item_aliquotaISSQN           aliquotaISSQN,
      p_item_baseISSQN               baseISSQN,
      p_item_valorISSQN              valorISSQN,
      p_item_aliquotaIRRF            aliquotaIRRF,
      p_item_baseIRRF                baseIRRF,
      p_item_valorIRRF               valorIRRF,
      p_item_aliquotaINSS            aliquotaINSS,
      p_item_baseINSS                baseINSS,
      p_item_valorINSS               valorINSS,
      p_item_retencaoPIS             retencaoPIS,
      p_item_baseRetPIS              baseRetPIS,
      p_item_valorRetPIS             valorRetPIS,
      p_item_retencaoCOFINS          retencaoCOFINS,
      p_item_baseRetCOFINS           baseRetCOFINS,
      p_item_valorRetCOFINS          valorRetCOFINS,
      p_item_retencaoCSLL            retencaoCSLL,
      p_item_baseRetCSLL             baseRetCSLL,
      p_item_valorRetCSLL            valorRetCSLL,
      p_item_aliquotaII              aliquotaII,
      p_item_baseII                  baseII,
      p_item_valorII                 valorII,
      p_item_aliquotaIOF             aliquotaIOF,
      p_item_baseIOF                 baseIOF,
      p_item_valorIOF                valorIOF,
      p_item_codigoEnquadramentoIPI  codigoEnquadramentoIPI,
      p_item_stIPI                   stIPI,
      p_item_aliquotaIPI             aliquotaIPI,
      p_item_valorAliquotaIPI        valorAliquotaIPI,
      p_item_baseIPI                 baseIPI,
      p_item_valorIPI                valorIPI,
      p_item_stPIS                   stPIS,
      p_item_aliquotaPIS             aliquotaPIS,
      p_item_valorAliquotaPIS        valorAliquotaPIS,
      p_item_basePIS                 basePIS,
      p_item_valorPIS                valorPIS,
      p_item_aliquotaPISST           aliquotaPISST,
      p_item_valorAliquotaPISST      valorAliquotaPISST,
      p_item_basePISST               basePISST,
      p_item_valorPISST              valorPISST,
      p_item_stCOFINS                stCOFINS,
      p_item_aliquotaCOFINS          aliquotaCOFINS,
      p_item_valorAliquotaCOFINS     valorAliquotaCOFINS,
      p_item_baseCOFINS              baseCOFINS,
      p_item_valorCOFINS             valorCOFINS,
      p_item_aliquotaCOFINSST        aliquotaCOFINSST,
      p_item_valorAliquotaCOFINSST   valorAliquotaCOFINSST,
      p_item_baseCOFINSST            baseCOFINSST,
      p_item_valorCOFINSST           valorCOFINSST,
      p_item_stSimplesNacional       stSimplesNacional,
      p_item_creditoSimplesNacional  creditoSimplesNacional,
      p_item_baseCreditoSimplesNac   baseCreditoSimplesNacional,
      p_item_valorCreditoSimplesNac  valorCreditoSimplesNacional,
      p_item_stICMS                  stICMS,
      p_item_modalBaseCalcICMS       modalidadeBaseCalcICMS,
      p_item_reducaoBaseICMS         reducaoBaseICMS,
      p_item_aliquotaICMS            aliquotaICMS,
      p_item_diferimentoICMS         diferimentoICMS,
      p_item_motivoDesoneracaoICMS   motivoDesoneracaoICMS,
      p_item_baseICMS                baseICMS,
      p_item_valorICMSOperacao       valorICMSOperacao,
      p_item_valorICMSDiferido       valorICMSDiferido,
      p_item_valorICMS               valorICMS,
      p_item_valorICMSDesoneracao    valorICMSDesoneracao,
      p_item_modalBaseCalcICMSST     modalidadeBaseCalcICMSST,
      p_item_margemValorAdicionadoST margemValorAdicionadoST,
      p_item_reducaoBaseST           reducaoBaseST,
      p_item_aliquotaICMSST          aliquotaICMSST,
      p_item_aliquotaSTSuportConsFin aliquotaSTSuportConsFinal,
      p_item_baseICMSST              baseICMSST,
      p_item_valorICMSST             valorICMSST,
      p_item_baseICMSSTAnteriormente baseICMSSTAnteriormente,
      p_item_valorICMSSTAnteriorm    valorICMSSTAnteriormente,
      p_item_valorICMSProprioSubstit valorICMSProprioSubstituto,
      p_item_reducaoBaseICMSEfetivo  reducaoBaseICMSEfetivo,
      p_item_aliquotaICMSEfetivo     aliquotaICMSEfetivo,
      p_item_baseICMSEfetivo         baseICMSEfetivo,
      p_item_valorICMSEfetivo        valorICMSEfetivo,
      p_item_aliquotaICMSUFDestinat  aliquotaICMSUFDestinatario,
      p_item_aliquotaICMSInterestad  aliquotaICMSInterestadual,
      p_item_partilhaICMSInterestad  partilhaICMSInterestadual,
      p_item_baseICMSUFDestinatario  baseICMSUFDestinatario,
      p_item_valorICMSUFDestinatario valorICMSUFDestinatario,
      p_item_baseICMSUFRemetente     baseICMSUFRemetente,
      p_item_valorICMSUFRemetente    valorICMSUFRemetente,
      p_item_aliquotaFCP             aliquotaFCP,
      p_item_baseFCP                 baseFCP,
      p_item_valorFCP                valorFCP,
      p_item_aliquotaFCPST           aliquotaFCPST,
      p_item_baseFCPST               baseFCPST,
      p_item_valorFCPST              valorFCPST,
      p_item_aliquotaFCPSTAnteriorm  aliquotaFCPSTAnteriormente,
      p_item_baseFCPSTAnteriormente  baseFCPSTAnteriormente,
      p_item_valorFCPSTAnteriormente valorFCPSTAnteriormente,
      p_item_aliquotaFCPUFDestinat   aliquotaFCPUFDestinatario,
      p_item_baseFCPUFDestinatario   baseFCPUFDestinatario,
      p_item_valorFCPUFDestinatario  valorFCPUFDestinatario,
      p_item_aliquotaEstImpFederais  aliquotaEstimadaImpFederais,
      p_item_aliquotaEstImpEstaduais aliquotaEstimadaImpEstaduais,
      p_item_aliquotaEstImpMunicipai aliquotaEstimadaImpMunicipais,
      p_item_baseEstimadaImpostos    baseEstimadaImpostos,
      p_item_valorEstImpFederais     valorEstimadoImpFederais,
      p_item_valorEstImpEstaduais    valorEstimadoImpEstaduais,
      p_item_valorEstImpMunicipais   valorEstimadoImpMunicipais,
      p_item_valorImpostosSomaPag    valorImpostosSomaPagamento,
      p_item_valorImpostosDiminuiPag valorImpostosDiminuiPagamento,
      p_item_valorLiquidoItem        valorLiquidoItem,
      p_item_observacoesDigitadas    observacoesDigitadas,
      v_item_observacoes             observacoes
    FROM DUAL) b ON (a.idItemOrcamento = b.idItemOrcamento)
  WHEN MATCHED THEN UPDATE SET
    a.orcamento                     = b.orcamento,
    a.sequencia                     = b.sequencia,
    a.cancelado                     = b.cancelado,
    a.vendedor                      = b.vendedor,
    a.gradeProduto                  = b.gradeProduto,
    a.servico                       = b.servico,
    a.atividadeServico              = b.atividadeServico,
    a.statusAtividadeServico        = b.statusAtividadeServico,
    a.idFormulaTinta                = b.idFormulaTinta,
    a.personalizacao                = b.personalizacao,
    a.idLoteEstoque                 = b.idLoteEstoque,
    a.vinculoItemDocumento          = b.vinculoItemDocumento,
    a.operacaoFiscal                = b.operacaoFiscal,
    a.movimentaEstoque              = b.movimentaEstoque,
    a.geraFinanceiro                = b.geraFinanceiro,
    a.localEstoque                  = b.localEstoque,
    a.pessoaParticipante            = b.pessoaParticipante,
    a.dataEntrega                   = b.dataEntrega,
    a.controleQuantidade            = b.controleQuantidade,
    a.unidadeMedidaConversao        = b.unidadeMedidaConversao,
    a.conversorQuantidade           = b.conversorQuantidade,
    a.loteMinimo                    = b.loteMinimo,
    a.loteMultiplo                  = b.loteMultiplo,
    a.altura                        = b.altura,
    a.largura                       = b.largura,
    a.comprimento                   = b.comprimento,
    a.pecas                         = b.pecas,
    a.quantidade                    = b.quantidade,
    a.quantidadeConvertida          = b.quantidadeConvertida,
    a.quantidadeSaldo               = b.quantidadeSaldo,
    a.controleEntrega               = b.controleEntrega,
    a.situacaoEntrega               = b.situacaoEntrega,
    a.pesoLiquido                   = b.pesoLiquido,
    a.pesoBruto                     = b.pesoBruto,
    a.tipoPreco                     = b.tipoPreco,
    a.tabelaPreco                   = b.tabelaPreco,
    a.precoSugestaoAPrazo           = b.precoSugestaoAPrazo,
    a.precoSugestaoAVista           = b.precoSugestaoAVista,
    a.precoDesconto                 = b.precoDesconto,
    a.precoMinimo                   = b.precoMinimo,
    a.usarPrecoAVista               = b.usarPrecoAVista,
    a.precoPautaTabelado            = b.precoPautaTabelado,
    a.precoUnitarioBruto            = b.precoUnitarioBruto,
    a.acrescimoUnitarioComposicao   = b.acrescimoUnitarioComposicao,
    a.precoUnitario                 = b.precoUnitario,
    a.precoUnitarioConvertido       = b.precounitarioConvertido,
    a.valorProdutoServicoBruto      = b.valorProdutoServicoBruto,
    a.valorProdutoServico           = b.valorProdutoServico,
    a.percDescontoItem              = b.percDescontoItem,
    a.valorDescontoItem             = b.valorDescontoItem,
    a.percAcrescimoItem             = b.percAcrescimoItem,
    a.valorAcrescimoItem            = b.valorAcrescimoItem,
    a.valorFreteItem                = b.valorFreteItem,
    a.valorSeguroItem               = b.valorSeguroItem,
    a.valorAdicFreteMarinhaMerItem  = b.valorAdicFreteMarinhaMerItem,
    a.valorDespesasAduaneirasItem   = b.valorDespesasAduaneirasItem,
    a.valorFreteGeral               = b.valorFreteGeral,
    a.valorSeguroGeral              = b.valorSeguroGeral,
    a.valorDescontoGeral            = b.valorDescontoGeral,
    a.valorOutrasDespesasGeral      = b.valorOutrasDespesasGeral,
    a.valorAdicFreteMarinhaMerGeral = b.valorAdicFreteMarinhaMerGeral,
    a.valorDespesasAduaneirasGeral  = b.valorDespesasAduaneirasGeral,
    a.valorBasePagamento            = b.valorBasePagamento,
    a.valorDescontoPagamento        = b.valorDescontoPagamento,
    a.valorOutrasDespesasPagamento  = b.valorOutrasDespesasPagamento,
    a.valorJurosPagamento           = b.valorJurosPagamento,
    a.valorFreteTotal               = b.valorFreteTotal,
    a.valorSeguroTotal              = b.valorSeguroTotal,
    a.valorDescontoTotal            = b.valorDescontoTotal,
    a.valorOutrasDespesasTotal      = b.valorOutrasDespesasTotal,
    a.valorAdicFreteMarinhaMerTotal = b.valorAdicFreteMarinhaMerTotal,
    a.valorDespesasAduaneirasTotal  = b.valorDespesasAduaneirasTotal,
    a.cfop                          = b.cfop,
    a.indicadorISSQN                = b.indicadorISSQN,
    a.aliquotaISSQN                 = b.aliquotaISSQN,
    a.baseISSQN                     = b.baseISSQN,
    a.valorISSQN                    = b.valorISSQN,
    a.aliquotaIRRF                  = b.aliquotaIRRF,
    a.baseIRRF                      = b.baseIRRF,
    a.valorIRRF                     = b.valorIRRF,
    a.aliquotaINSS                  = b.aliquotaINSS,
    a.baseINSS                      = b.baseINSS,
    a.valorINSS                     = b.valorINSS,
    a.retencaoPIS                   = b.retencaoPIS,
    a.baseRetPIS                    = b.baseRetPIS,
    a.valorRetPIS                   = b.valorRetPIS,
    a.retencaoCOFINS                = b.retencaoCOFINS,
    a.baseRetCOFINS                 = b.baseRetCOFINS,
    a.valorRetCOFINS                = b.valorRetCOFINS,
    a.retencaoCSLL                  = b.retencaoCSLL,
    a.baseRetCSLL                   = b.baseRetCSLL,
    a.valorRetCSLL                  = b.valorRetCSLL,
    a.aliquotaII                    = b.aliquotaII,
    a.baseII                        = b.baseII,
    a.valorII                       = b.valorII,
    a.aliquotaIOF                   = b.aliquotaIOF,
    a.baseIOF                       = b.baseIOF,
    a.valorIOF                      = b.valorIOF,
    a.codigoEnquadramentoIPI        = b.codigoEnquadramentoIPI,
    a.stIPI                         = b.stIPI,
    a.aliquotaIPI                   = b.aliquotaIPI,
    a.valorAliquotaIPI              = b.valorAliquotaIPI,
    a.baseIPI                       = b.baseIPI,
    a.valorIPI                      = b.valorIPI,
    a.stPIS                         = b.stPIS,
    a.aliquotaPIS                   = b.aliquotaPIS,
    a.valorAliquotaPIS              = b.valorAliquotaPIS,
    a.basePIS                       = b.basePIS,
    a.valorPIS                      = b.valorPIS,
    a.aliquotaPISST                 = b.aliquotaPISST,
    a.valorAliquotaPISST            = b.valorAliquotaPISST,
    a.basePISST                     = b.basePISST,
    a.valorPISST                    = b.valorPISST,
    a.stCOFINS                      = b.stCOFINS,
    a.aliquotaCOFINS                = b.aliquotaCOFINS,
    a.valorAliquotaCOFINS           = b.valorAliquotaCOFINS,
    a.baseCOFINS                    = b.baseCOFINS,
    a.valorCOFINS                   = b.valorCOFINS,
    a.aliquotaCOFINSST              = b.aliquotaCOFINSST,
    a.valorAliquotaCOFINSST         = b.valorAliquotaCOFINSST,
    a.baseCOFINSST                  = b.baseCOFINSST,
    a.valorCOFINSST                 = b.valorCOFINSST,
    a.stSimplesNacional             = b.stSimplesNacional,
    a.creditoSimplesNacional        = b.creditoSimplesNacional,
    a.baseCreditoSimplesNacional    = b.baseCreditoSimplesNacional,
    a.valorCreditoSimplesNacional   = b.valorCreditoSimplesNacional,
    a.stICMS                        = b.stICMS,
    a.modalidadeBaseCalcICMS        = b.modalidadeBaseCalcICMS,
    a.reducaoBaseICMS               = b.reducaoBaseICMS,
    a.aliquotaICMS                  = b.aliquotaICMS,
    a.diferimentoICMS               = b.diferimentoICMS,
    a.motivoDesoneracaoICMS         = b.motivoDesoneracaoICMS,
    a.baseICMS                      = b.baseICMS,
    a.valorICMSoperacao             = b.valorICMSoperacao,
    a.valorICMSdiferido             = b.valorICMSdiferido,
    a.valorICMS                     = b.valorICMS,
    a.valorICMSdesoneracao          = b.valorICMSdesoneracao,
    a.modalidadeBaseCalcICMSST      = b.modalidadeBaseCalcICMSST,
    a.margemValorAdicionadoST       = b.margemValorAdicionadoST,
    a.reducaoBaseST                 = b.reducaoBaseST,
    a.aliquotaICMSST                = b.aliquotaICMSST,
    a.aliquotaSTSuportConsFinal     = b.aliquotaSTSuportConsFinal,
    a.baseICMSST                    = b.baseICMSST,
    a.valorICMSST                   = b.valorICMSST,
    a.baseICMSSTAnteriormente       = b.baseICMSSTAnteriormente,
    a.valorICMSSTAnteriormente      = b.valorICMSSTAnteriormente,
    a.valorICMSProprioSubstituto    = b.valorICMSProprioSubstituto,
    a.reducaoBaseICMSEfetivo        = b.reducaoBaseICMSEfetivo,
    a.aliquotaICMSEfetivo           = b.aliquotaICMSEfetivo,
    a.baseICMSEfetivo               = b.baseICMSEfetivo,
    a.valorICMSEfetivo              = b.valorICMSEfetivo,
    a.aliquotaICMSUFDestinatario    = b.aliquotaICMSUFDestinatario,
    a.aliquotaICMSInterestadual     = b.aliquotaICMSInterestadual,
    a.partilhaICMSInterestadual     = b.partilhaICMSInterestadual,
    a.baseICMSUFDestinatario        = b.baseICMSUFDestinatario,
    a.valorICMSUFDestinatario       = b.valorICMSUFDestinatario,
    a.baseICMSUFRemetente           = b.baseICMSUFRemetente,
    a.valorICMSUFRemetente          = b.valorICMSUFRemetente,
    a.aliquotaFCP                   = b.aliquotaFCP,
    a.baseFCP                       = b.baseFCP,
    a.valorFCP                      = b.valorFCP,
    a.aliquotaFCPST                 = b.aliquotaFCPST,
    a.baseFCPST                     = b.baseFCPST,
    a.valorFCPST                    = b.valorFCPST,
    a.aliquotaFCPSTAnteriormente    = b.aliquotaFCPSTAnteriormente,
    a.baseFCPSTAnteriormente        = b.baseFCPSTAnteriormente,
    a.valorFCPSTAnteriormente       = b.valorFCPSTAnteriormente,
    a.aliquotaFCPUFDestinatario     = b.aliquotaFCPUFDestinatario,
    a.baseFCPUFDestinatario         = b.baseFCPUFDestinatario,
    a.valorFCPUFDestinatario        = b.valorFCPUFDestinatario,
    a.aliquotaestimadaimpfederais   = b.aliquotaestimadaimpfederais,
    a.aliquotaestimadaimpestaduais  = b.aliquotaestimadaimpestaduais,
    a.aliquotaestimadaimpmunicipais = b.aliquotaestimadaimpmunicipais,
    a.baseestimadaimpostos          = b.baseestimadaimpostos,
    a.valorestimadoimpfederais      = b.valorestimadoimpfederais,
    a.valorEstimadoImpEstaduais     = b.valorEstimadoImpEstaduais,
    a.valorEstimadoImpMunicipais    = b.valorEstimadoImpMunicipais,
    a.valorImpostosSomaPagamento    = b.valorImpostosSomaPagamento,
    a.valorImpostosDiminuiPagamento = b.valorImpostosDiminuiPagamento,
    a.valorLiquidoItem              = b.valorLiquidoItem,
    a.observacoesDigitadas          = b.observacoesDigitadas,
    a.observacoes                   = b.observacoes
  WHEN NOT MATCHED THEN INSERT (
    idItemOrcamento,
    orcamento,
    sequencia,
    cancelado,
    vendedor,
    gradeProduto,
    servico,
    atividadeServico,
    statusAtividadeServico,
    idFormulaTinta,
    personalizacao,
    idLoteEstoque,
    vinculoItemDocumento,
    operacaoFiscal,
    movimentaEstoque,
    geraFinanceiro,
    localEstoque,
    pessoaParticipante,
    dataEntrega,
    controleQuantidade,
    unidadeMedidaConversao,
    conversorQuantidade,
    loteMinimo,
    loteMultiplo,
    altura,
    largura,
    comprimento,
    pecas,
    quantidade,
    quantidadeConvertida,
    quantidadeSaldo,
    controleEntrega,
    situacaoEntrega,
    pesoLiquido,
    pesoBruto,
    tipoPreco,
    tabelaPreco,
    precoSugestaoAPrazo,
    precoSugestaoAVista,
    precoDesconto,
    precoMinimo,
    usarPrecoAVista,
    precoPautaTabelado,
    precoUnitarioBruto,
    acrescimoUnitarioComposicao,
    precoUnitario,
    precoUnitarioConvertido,
    valorProdutoServicoBruto,
    valorProdutoServico,
    percDescontoItem,
    valorDescontoItem,
    percAcrescimoItem,
    valorAcrescimoItem,
    valorFreteItem,
    valorSeguroItem,
    valorAdicFreteMarinhaMerItem,
    valorDespesasAduaneirasItem,
    valorFreteGeral,
    valorSeguroGeral,
    valorDescontoGeral,
    valorOutrasDespesasGeral,
    valorAdicFreteMarinhaMerGeral,
    valorDespesasAduaneirasGeral,
    valorBasePagamento,
    valorDescontoPagamento,
    valorOutrasDespesasPagamento,
    valorJurosPagamento,
    valorFreteTotal,
    valorSeguroTotal,
    valorDescontoTotal,
    valorOutrasDespesasTotal,
    valorAdicFreteMarinhaMerTotal,
    valorDespesasAduaneirasTotal,
    cfop,
    indicadorISSQN,
    aliquotaISSQN,
    baseISSQN,
    valorISSQN,
    aliquotaIRRF,
    baseIRRF,
    valorIRRF,
    aliquotaINSS,
    baseINSS,
    valorINSS,
    retencaoPIS,
    baseRetPIS,
    valorRetPIS,
    retencaoCOFINS,
    baseRetCOFINS,
    valorRetCOFINS,
    retencaoCSLL,
    baseRetCSLL,
    valorRetCSLL,
    aliquotaII,
    baseII,
    valorII,
    aliquotaIOF,
    baseIOF,
    valorIOF,
    codigoEnquadramentoIPI,
    stIPI,
    aliquotaIPI,
    valorAliquotaIPI,
    baseIPI,
    valorIPI,
    stPIS,
    aliquotaPIS,
    valorAliquotaPIS,
    basePIS,
    valorPIS,
    aliquotaPISST,
    valorAliquotaPISST,
    basePISST,
    valorPISST,
    stCOFINS,
    aliquotaCOFINS,
    valorAliquotaCOFINS,
    baseCOFINS,
    valorCOFINS,
    aliquotaCOFINSST,
    valorAliquotaCOFINSST,
    baseCOFINSST,
    valorCOFINSST,
    stSimplesNacional,
    creditoSimplesNacional,
    baseCreditoSimplesNacional,
    valorCreditoSimplesNacional,
    stICMS,
    modalidadeBaseCalcICMS,
    reducaoBaseICMS,
    aliquotaICMS,
    diferimentoICMS,
    motivoDesoneracaoICMS,
    baseICMS,
    valorICMSOperacao,
    valorICMSDiferido,
    valorICMS,
    valorICMSDesoneracao,
    modalidadeBaseCalcICMSST,
    margemValorAdicionadoST,
    reducaoBaseST,
    aliquotaICMSST,
    aliquotaSTSuportConsFinal,
    baseICMSST,
    valorICMSST,
    baseICMSSTAnteriormente,
    valorICMSSTAnteriormente,
    valorICMSProprioSubstituto,
    reducaoBaseICMSEfetivo,
    aliquotaICMSEfetivo,
    baseICMSEfetivo,
    valorICMSEfetivo,
    aliquotaICMSUFDestinatario,
    aliquotaICMSInterestadual,
    partilhaICMSInterestadual,
    baseICMSUFDestinatario,
    valorICMSUFDestinatario,
    baseICMSUFRemetente,
    valorICMSUFRemetente,
    aliquotaFCP,
    baseFCP,
    valorFCP,
    aliquotaFCPST,
    baseFCPST,
    valorFCPST,
    aliquotaFCPSTAnteriormente,
    baseFCPSTAnteriormente,
    valorFCPSTAnteriormente,
    aliquotaFCPUFDestinatario,
    baseFCPUFDestinatario,
    valorFCPUFDestinatario,
    aliquotaEstimadaImpFederais,
    aliquotaEstimadaImpEstaduais,
    aliquotaEstimadaImpMunicipais,
    baseEstimadaImpostos,
    valorEstimadoImpFederais,
    valorEstimadoImpEstaduais,
    valorEstimadoImpMunicipais,
    valorImpostosSomaPagamento,
    valorImpostosDiminuiPagamento,
    valorLiquidoItem,
    observacoesDigitadas,
    observacoes)
  VALUES (
    b.idItemOrcamento,
    b.orcamento,
    b.sequencia,
    b.cancelado,
    b.vendedor,
    b.gradeProduto,
    b.servico,
    b.atividadeServico,
    b.statusAtividadeServico,
    b.idFormulaTinta,
    b.personalizacao,
    b.idLoteEstoque,
    b.vinculoItemDocumento,
    b.operacaoFiscal,
    b.movimentaEstoque,
    b.geraFinanceiro,
    b.localEstoque,
    b.pessoaParticipante,
    b.dataEntrega,
    b.controleQuantidade,
    b.unidadeMedidaConversao,
    b.conversorQuantidade,
    b.loteMinimo,
    b.loteMultiplo,
    b.altura,
    b.largura,
    b.comprimento,
    b.pecas,
    b.quantidade,
    b.quantidadeConvertida,
    b.quantidadeSaldo,
    b.controleEntrega,
    b.situacaoEntrega,
    b.pesoLiquido,
    b.pesoBruto,
    b.tipoPreco,
    b.tabelaPreco,
    b.precoSugestaoAPrazo,
    b.precoSugestaoAVista,
    b.precoDesconto,
    b.precoMinimo,
    b.usarPrecoAVista,
    b.precoPautaTabelado,
    b.precoUnitarioBruto,
    b.acrescimoUnitarioComposicao,
    b.precoUnitario,
    b.precoUnitarioConvertido,
    b.valorProdutoServicoBruto,
    b.valorProdutoServico,
    b.percDescontoItem,
    b.valorDescontoItem,
    b.percAcrescimoItem,
    b.valorAcrescimoItem,
    b.valorFreteItem,
    b.valorSeguroItem,
    b.valorAdicFreteMarinhaMerItem,
    b.valorDespesasAduaneirasItem,
    b.valorFreteGeral,
    b.valorSeguroGeral,
    b.valorDescontoGeral,
    b.valorOutrasDespesasGeral,
    b.valorAdicFreteMarinhaMerGeral,
    b.valorDespesasAduaneirasGeral,
    b.valorBasePagamento,
    b.valorDescontoPagamento,
    b.valorOutrasDespesasPagamento,
    b.valorJurosPagamento,
    b.valorFreteTotal,
    b.valorSeguroTotal,
    b.valorDescontoTotal,
    b.valorOutrasDespesasTotal,
    b.valorAdicFreteMarinhaMerTotal,
    b.valorDespesasAduaneirasTotal,
    b.cfop,
    b.indicadorISSQN,
    b.aliquotaISSQN,
    b.baseISSQN,
    b.valorISSQN,
    b.aliquotaIRRF,
    b.baseIRRF,
    b.valorIRRF,
    b.aliquotaINSS,
    b.baseINSS,
    b.valorINSS,
    b.retencaoPIS,
    b.baseRetPIS,
    b.valorRetPIS,
    b.retencaoCOFINS,
    b.baseRetCOFINS,
    b.valorRetCOFINS,
    b.retencaoCSLL,
    b.baseRetCSLL,
    b.valorRetCSLL,
    b.aliquotaII,
    b.baseII,
    b.valorII,
    b.aliquotaIOF,
    b.baseIOF,
    b.valorIOF,
    b.codigoEnquadramentoIPI,
    b.stIPI,
    b.aliquotaIPI,
    b.valorAliquotaIPI,
    b.baseIPI,
    b.valorIPI,
    b.stPIS,
    b.aliquotaPIS,
    b.valorAliquotaPIS,
    b.basePIS,
    b.valorPIS,
    b.aliquotaPISST,
    b.valorAliquotaPISST,
    b.basePISST,
    b.valorPISST,
    b.stCOFINS,
    b.aliquotaCOFINS,
    b.valorAliquotaCOFINS,
    b.baseCOFINS,
    b.valorCOFINS,
    b.aliquotaCOFINSST,
    b.valorAliquotaCOFINSST,
    b.baseCOFINSST,
    b.valorCOFINSST,
    b.stSimplesNacional,
    b.creditoSimplesNacional,
    b.baseCreditoSimplesNacional,
    b.valorCreditoSimplesNacional,
    b.stICMS,
    b.modalidadeBaseCalcICMS,
    b.reducaoBaseICMS,
    b.aliquotaICMS,
    b.diferimentoICMS,
    b.motivoDesoneracaoICMS,
    b.baseICMS,
    b.valorICMSOperacao,
    b.valorICMSDiferido,
    b.valorICMS,
    b.valorICMSDesoneracao,
    b.modalidadeBaseCalcICMSST,
    b.margemValorAdicionadoST,
    b.reducaoBaseST,
    b.aliquotaICMSST,
    b.aliquotaSTSuportConsFinal,
    b.baseICMSST,
    b.valorICMSST,
    b.baseICMSSTAnteriormente,
    b.valorICMSSTAnteriormente,
    b.valorICMSProprioSubstituto,
    b.reducaoBaseICMSEfetivo,
    b.aliquotaICMSEfetivo,
    b.baseICMSEfetivo,
    b.valorICMSEfetivo,
    b.aliquotaICMSUFDestinatario,
    b.aliquotaICMSInterestadual,
    b.partilhaICMSInterestadual,
    b.baseICMSUFDestinatario,
    b.valorICMSUFDestinatario,
    b.baseICMSUFRemetente,
    b.valorICMSUFRemetente,
    b.aliquotaFCP,
    b.baseFCP,
    b.valorFCP,
    b.aliquotaFCPST,
    b.baseFCPST,
    b.valorFCPST,
    b.aliquotaFCPSTAnteriormente,
    b.baseFCPSTAnteriormente,
    b.valorFCPSTAnteriormente,
    b.aliquotaFCPUFDestinatario,
    b.baseFCPUFDestinatario,
    b.valorFCPUFDestinatario,
    b.aliquotaEstimadaImpFederais,
    b.aliquotaEstimadaImpEstaduais,
    b.aliquotaEstimadaImpMunicipais,
    b.baseEstimadaImpostos,
    b.valorEstimadoImpFederais,
    b.valorEstimadoImpEstaduais,
    b.valorEstimadoImpMunicipais,
    b.valorImpostosSomaPagamento,
    b.valorImpostosDiminuiPagamento,
    b.valorLiquidoItem,
    b.observacoesDigitadas,
    b.observacoes);
  IF (p_item_idItemOrcamento <> 0
      OR p_item_movimentaEstoque = 1
      AND p_item_cancelado = 0)
    AND (p_etOrc_situacaoOrcamento BETWEEN 41 AND 63
      OR p_etOrc_situacaoOrcamento BETWEEN 64 AND 89
      AND p_item_controleEntrega > 0)
    AND (p_item_idItemOrcamento = 0
      OR p_a_item_movimentaEstoque   <> p_item_movimentaEstoque
      OR p_a_item_cancelado          <> p_item_cancelado
      OR p_a_item_gradeProduto       <> p_item_gradeProduto
      OR p_a_item_idFormulaTinta     <> p_item_idFormulaTinta
      OR p_a_item_idLoteEstoque      <> p_item_idLoteEstoque
      OR p_a_item_localEstoque       <> p_item_localEstoque
      OR p_a_item_pessoaParticipante <> p_item_pessoaParticipante
      OR p_a_item_quantidadeSaldo    <> p_item_quantidadeSaldo)
    OR p_item_movimentaEstoque = 0
    OR p_item_cancelado = 1
    THEN
    ADD_ORCAMENTO_ITEM_RES_ITEM (
      ' ',
      p_estabelecimentoAtivo,
      p_cab_modeloDocumento,
      p_cab_entradaSaida,
      p_cab_estabelecimento,
      p_cab_dataEmissao,
      p_cab_dataEntrega,
      p_etOrc_situacaoOrcamento,
      r_item_idItemOrcamento,
      p_item_cancelado,
      p_item_gradeProduto,
      p_item_idFormulaTinta,
      p_item_personalizacao,
      p_item_idLoteEstoque,
      p_item_movimentaEstoque,
      p_item_localEstoque,
      p_item_pessoaParticipante,
      p_item_quantidadeSaldo,
      p_item_controleEntrega,
      v_item_observacoes,
      /* Retornos */
      v_auxVarchar);
  END IF;
END ADD_ORCAMENTO_ITEM_GRAVA;

/

create or replace PROCEDURE ADD_ORCAMENTO_ITEM_INSERE_COMB (
    p_uniqueMachineID              IN VARCHAR2,
    p_usuarioLogado                IN NUMBER,
    p_perfilUsuarioLogado          IN NUMBER,
    p_estabelecimentoAtivo         IN NUMBER,
    p_config_64_casasDecSaidas     IN CHAR,
    p_config_65_casasDecEntrada    IN CHAR,
    p_config_198_obs_add_referenc  IN NUMBER,
    p_config_199_obs_add_caractA   IN NUMBER,
    p_config_200_obs_add_caractB   IN NUMBER,
    p_config_201_obs_add_caractC   IN NUMBER,
    p_config_202_obs_add_caractD   IN NUMBER,
    p_config_203_obs_add_caractE   IN NUMBER,
    p_config_209_filtrarGrupoEcon  IN NUMBER,
    p_config_330_redIcmsBasePisCof IN NUMBER,
    p_config_362_calcCustoPorGrade IN NUMBER,
    p_config_378_calcularVolumes   IN NUMBER,
    p_cab_orcamento                IN NUMBER,
    p_cab_origemDocumento          IN NUMBER,
    p_cab_tipoDocumento            IN NUMBER,
    p_cab_modeloDocumento          IN NUMBER,
    p_cab_entradaSaida             IN CHAR,
    p_cab_finalidadeNota           IN CHAR,
    p_cab_atualizaCustoMedio       IN NUMBER,
    p_cab_estabelecimento          IN NUMBER,
    p_cab_dataEmissao              IN DATE,
    p_cab_dataPreco                IN DATE,
    p_cab_pessoa                   IN NUMBER,
    p_cab_dataEntrega              IN DATE,
    p_cab_enderecoEntregaPessoa    IN NUMBER,
    p_cab_municipioFatoGerador     IN NUMBER,
    p_cab_localDestinoOperacao     IN CHAR,
    p_cab_indicadorConsumidorFinal IN CHAR,
    p_cab_tipoPagamentoFrete       IN CHAR,
    p_cab_quantidadeVolume         IN NUMBER,
    p_cab_quantidade               IN NUMBER,
    p_cab_pesoLiquido              IN NUMBER,
    p_cab_pesoBruto                IN NUMBER,
    p_cab_valorProdutosBruto       IN NUMBER,
    p_cab_valorProdutos            IN NUMBER,
    p_cab_valorDescontoProdutos    IN NUMBER,
    p_cab_valorAcrescimoProdutos   IN NUMBER,
    p_cab_valorServicosBruto       IN NUMBER,
    p_cab_valorServicos            IN NUMBER,
    p_cab_valorDescontoServicos    IN NUMBER,
    p_cab_valorAcrescimoServicos   IN NUMBER,
    p_cab_prazoMedioPonderado      IN NUMBER,
    p_cab_valorBasePagamento       IN NUMBER,
    p_cab_valorAVistaMinimo        IN NUMBER,
    p_cab_valorDescontoTotal       IN NUMBER,
    p_cab_valorOutrasDespTotal     IN NUMBER,
    p_cab_valorFreteTotal          IN NUMBER,
    p_cab_valorSeguroTotal         IN NUMBER,
    p_cab_valorAdicFreteMarTotal   IN NUMBER,
    p_cab_valorDespesasAduanTotal  IN NUMBER,
    p_cab_valorImpostosSomaPag     IN NUMBER,
    p_cab_valorImpostosDiminuiPag  IN NUMBER,
    p_cab_valorLiquidoItem         IN NUMBER,
    p_modDoc_capituloNatFiscal     IN NUMBER,
    p_modDoc_movimentaEstoque      IN NUMBER,
    p_modDoc_geraFinanceiro        IN NUMBER,
    p_modDoc_habilitaAmbiente      IN NUMBER,
    p_modDoc_tipoPreco             IN CHAR,
    p_modDoc_tabelaPreco           IN VARCHAR2,
    p_modDoc_fatorMultipPreco      IN NUMBER,
    p_modDoc_tipoPrecoB            IN CHAR,
    p_modDoc_tabelaPrecoB          IN VARCHAR2,
    p_modDoc_fatorMultipPrecoB     IN NUMBER,
    p_modDoc_diminuiDescontoPrUnit IN NUMBER,
    p_modDoc_somaAcrescimosPrUnit  IN NUMBER,
    p_modDoc_somaFreteSeguroPrUnit IN NUMBER,
    p_est_grupoFiscal              IN NUMBER,
    p_pessEst_regimeTributario     IN CHAR,
    p_munEndEst_uf                 IN CHAR,
    p_pess_indicadorInscricaoEstad IN CHAR,
    p_endPess_enderecoPessoa       IN NUMBER,
    p_munEndPess_uf                IN CHAR,
    p_munEndEntr_uf                IN CHAR,
    p_etOrc_situacaoOrcamento      IN NUMBER,
    p_item_vendedor                IN NUMBER,
    p_item_gradeProduto            IN NUMBER,
    p_item_localEstoque            IN NUMBER,
    p_item_pessoaParticipante      IN NUMBER,
    p_item_dataEntrega             IN DATE,
    p_item_quantidade              IN NUMBER,
    p_item_controleEntrega         IN NUMBER,
    p_item_usarPrecoAVista         IN NUMBER,
    p_item_percDescontoItem        IN NUMBER,
    p_item_percAcrescimoItem       IN NUMBER,
    p_item_observacoesDigitadas    IN VARCHAR2,
    p_idEnderecoEstoque            IN NUMBER,
    p_item_ambiente                IN NUMBER,
    p_item_amb_observacoes         IN VARCHAR2,
    p_idItemOrcamentoReferenciado  IN NUMBER,
    p_idItemDocTransferencia       IN NUMBER,
    p_buffer_idItemOrcamento       IN VARCHAR2,
    /* Retornos */
    r_cab_quantidadeVolume         OUT NUMBER,
    r_cab_quantidade               OUT NUMBER,
    r_cab_pesoLiquido              OUT NUMBER,
    r_cab_pesoBruto                OUT NUMBER,
    r_cab_valorProdutosBruto       OUT NUMBER,
    r_cab_valorProdutos            OUT NUMBER,
    r_cab_valorDescontoProdutos    OUT NUMBER,
    r_cab_valorAcrescimoProdutos   OUT NUMBER,
    r_cab_valorServicosBruto       OUT NUMBER,
    r_cab_valorServicos            OUT NUMBER,
    r_cab_valorDescontoServicos    OUT NUMBER,
    r_cab_valorAcrescimoServicos   OUT NUMBER,
    r_cab_valorBasePagamento       OUT NUMBER,
    r_cab_valorAVistaMinimo        OUT NUMBER,
    r_cab_valorDescontoTotal       OUT NUMBER,
    r_cab_valorOutrasDespTotal     OUT NUMBER,
    r_cab_valorImpostosSomaPag     OUT NUMBER,
    r_cab_valorImpostosDiminuiPag  OUT NUMBER,
    r_cab_valorLiquidoItem         OUT NUMBER,
    r_buffer_idItemOrcamento       OUT VARCHAR2,
    r_item_valorTotalItem          OUT NUMBER)
IS
    v_auxNumber                    NUMBER;
    v_auxVarchar                   VARCHAR2(256);
    v_item_idItemOrcamento         NUMBER;
    v_item_sequencia               NUMBER;
    v_item_servico                 NUMBER;
    v_item_operacaoFiscal          NUMBER;
    v_item_movimentaEstoque        NUMBER;
    v_item_geraFinanceiro          NUMBER;
    v_item_controleQuantidade      NUMBER;
    v_item_unidadeMedidaConversao  VARCHAR2(6);
    v_item_conversorQuantidade     NUMBER;
    v_item_loteMinimo              NUMBER;
    v_item_loteMultiplo            NUMBER;
    v_item_altura                  NUMBER;
    v_item_largura                 NUMBER;
    v_item_comprimento             NUMBER;
    v_item_pecas                   NUMBER;
    v_item_quantidade              NUMBER;
    v_item_quantidadeConvertida    NUMBER;
    v_item_pesoLiquido             NUMBER;
    v_item_pesoBruto               NUMBER;
    v_item_tipoPreco               CHAR(1);
    v_item_tabelaPreco             VARCHAR2(10);
    v_item_precoSugestaoAPrazo     NUMBER;
    v_item_precoSugestaoAVista     NUMBER;
    v_item_precoDesconto           NUMBER;
    v_item_precoMinimo             NUMBER;
    v_item_precoPautaTabelado      NUMBER;
    v_item_precoUnitarioBruto      NUMBER;
    v_item_precoUnitario           NUMBER;
    v_item_precoUnitarioConvertido NUMBER;
    v_item_valorProdutoServicoBrut NUMBER;
    v_item_valorProdutoServico     NUMBER;
    v_item_valorDescontoItem       NUMBER;
    v_item_valorAcrescimoItem      NUMBER;
    v_item_valorBasePagamento      NUMBER;
    v_item_valorTotalItem          NUMBER;
    v_item_valorDescontoTotal      NUMBER;
    v_item_valorOutrasDespTotal    NUMBER;
    v_item_cfop                    NUMBER;
    v_item_indicadorISSQN          CHAR(1);
    v_item_aliquotaISSQN           NUMBER;
    v_item_baseISSQN               NUMBER;
    v_item_valorISSQN              NUMBER;
    v_item_aliquotaIRRF            NUMBER;
    v_item_baseIRRF                NUMBER;
    v_item_valorIRRF               NUMBER;
    v_item_aliquotaINSS            NUMBER;
    v_item_baseINSS                NUMBER;
    v_item_valorINSS               NUMBER;
    v_item_retencaoPIS             NUMBER;
    v_item_baseRetPIS              NUMBER;
    v_item_valorRetPIS             NUMBER;
    v_item_retencaoCOFINS          NUMBER;
    v_item_baseRetCOFINS           NUMBER;
    v_item_valorRetCOFINS          NUMBER;
    v_item_retencaoCSLL            NUMBER;
    v_item_baseRetCSLL             NUMBER;
    v_item_valorRetCSLL            NUMBER;
    v_item_aliquotaII              NUMBER;
    v_item_baseII                  NUMBER;
    v_item_valorII                 NUMBER;
    v_item_aliquotaIOF             NUMBER;
    v_item_baseIOF                 NUMBER;
    v_item_valorIOF                NUMBER;
    v_item_codigoEnquadramentoIPI  NUMBER;
    v_item_stIPI                   CHAR(2);
    v_item_aliquotaIPI             NUMBER;
    v_item_valorAliquotaIPI        NUMBER;
    v_item_baseIPI                 NUMBER;
    v_item_valorIPI                NUMBER;
    v_item_stPIS                   CHAR(2);
    v_item_aliquotaPIS             NUMBER;
    v_item_valorAliquotaPIS        NUMBER;
    v_item_basePIS                 NUMBER;
    v_item_valorPIS                NUMBER;
    v_item_aliquotaPISST           NUMBER;
    v_item_valorAliquotaPISST      NUMBER;
    v_item_basePISST               NUMBER;
    v_item_valorPISST              NUMBER;
    v_item_stCOFINS                CHAR(2);
    v_item_aliquotaCOFINS          NUMBER;
    v_item_valorAliquotaCOFINS     NUMBER;
    v_item_baseCOFINS              NUMBER;
    v_item_valorCOFINS             NUMBER;
    v_item_aliquotaCOFINSST        NUMBER;
    v_item_valorAliquotaCOFINSST   NUMBER;
    v_item_baseCOFINSST            NUMBER;
    v_item_valorCOFINSST           NUMBER;
    v_item_stSimplesNacional       CHAR(3);
    v_item_creditoSimplesNacional  NUMBER;
    v_item_baseCreditoSimplesNac   NUMBER;
    v_item_valorCreditoSimplesNac  NUMBER;
    v_item_stICMS                  CHAR(2);
    v_item_modalBaseCalcICMS       CHAR(1);
    v_item_reducaoBaseICMS         NUMBER;
    v_item_aliquotaICMS            NUMBER;
    v_item_diferimentoICMS         NUMBER;
    v_item_motivoDesoneracaoICMS   CHAR(2);
    v_item_baseICMS                NUMBER;
    v_item_valorICMSOperacao       NUMBER;
    v_item_valorICMSDiferido       NUMBER;
    v_item_valorICMS               NUMBER;
    v_item_valorICMSDesoneracao    NUMBER;
    v_item_modalBaseCalcICMSST     CHAR(1);
    v_item_margemValorAdicST       NUMBER;
    v_item_reducaoBaseST           NUMBER;
    v_item_aliquotaICMSST          NUMBER;
    v_item_aliquotaSTSuportConsFin NUMBER;
    v_item_reducaoBaseICMSEfetivo  NUMBER;
    v_item_baseICMSST              NUMBER;
    v_item_valorICMSST             NUMBER;
    v_item_baseICMSSTAnteriormente NUMBER;
    v_item_valorICMSSTAnteriorment NUMBER;
    v_item_valorICMSProprioSubstit NUMBER;
    v_item_aliquotaICMSEfetivo     NUMBER;
    v_item_baseICMSEfetivo         NUMBER;
    v_item_valorICMSEfetivo        NUMBER;
    v_item_aliquotaICMSUFDestinat  NUMBER;
    v_item_aliquotaICMSInterestad  NUMBER;
    v_item_partilhaICMSInterestad  NUMBER;
    v_item_baseICMSUFDestinatario  NUMBER;
    v_item_valorICMSUFDestinatario NUMBER;
    v_item_baseICMSUFRemetente     NUMBER;
    v_item_valorICMSUFRemetente    NUMBER;
    v_item_aliquotaFCP             NUMBER;
    v_item_baseFCP                 NUMBER;
    v_item_valorFCP                NUMBER;
    v_item_aliquotaFCPST           NUMBER;
    v_item_baseFCPST               NUMBER;
    v_item_valorFCPST              NUMBER;
    v_item_aliquotaFCPSTAnteriorm  NUMBER;
    v_item_aliquotaFCPUFDestinat   NUMBER;
    v_item_baseFCPSTAnteriormente  NUMBER;
    v_item_valorFCPSTAnteriormente NUMBER;
    v_item_baseFCPUFDestinatario   NUMBER;
    v_item_valorFCPUFDestinatario  NUMBER;
    v_item_aliquotaEstImpFederais  NUMBER;
    v_item_aliquotaEstImpEstaduais NUMBER;
    v_item_aliquotaEstImpMunicipai NUMBER;
    v_item_baseEstimadaImpostos    NUMBER;
    v_item_valorEstImpFederais     NUMBER;
    v_item_valorEstImpEstaduais    NUMBER;
    v_item_valorEstImpMunicipais   NUMBER;
    v_item_valorImpostosSomaPag    NUMBER;
    v_item_valorImpostosDiminuiPag NUMBER;
    v_item_valorLiquidoItem        NUMBER;
    v_locEst_indicadorPropPosseIt CHAR(1);    
    CURSOR c_comb IS
      SELECT
        comb.gradeProdutoFilho,
        comb.quantidade,
        gradProd.produto,
        gradProd.cor,
        gradProd.tamanho,
        prod.controleEstoque,
        prod.unidadeMedida,
        prod.controleQuantidadeVenda,
        prod.unidadeMedidaVenda,
        prod.conversorQuantidadeVenda,
        prod.loteMinimoVenda,
        prod.loteMultiploVenda,
        prod.pesoLiquido,
        prod.pesoBruto,
        prod.altura,
        prod.largura,
        prod.comprimento,
        prod.tipoProduto,
        prod.origemMercadoria,
        prod.idNcm,
        prod.listaServicos,
        prod.precoPautaTabelado,
        unMed.casasDecimaisUnidadeMedida
      FROM CAGRADEPRODUTOXKITSCOMBOS comb
      JOIN CAGRADESPRODUTO gradProd ON gradProd.gradeProduto = comb.gradeProdutoFilho
      JOIN CAPRODUTOS prod ON prod.produto = gradProd.produto
      JOIN SIUNIDADESMEDIDA unMed ON unMed.unidadeMedida = prod.unidadeMedida
      WHERE comb.gradeProduto = p_item_gradeProduto
      AND comb.ativo = 1
      AND comb.gradeProduto <> comb.gradeProdutoFilho;
BEGIN
  r_cab_quantidadeVolume         := p_cab_quantidadeVolume;
  r_cab_quantidade               := p_cab_quantidade;
  r_cab_pesoLiquido              := p_cab_pesoLiquido;
  r_cab_pesoBruto                := p_cab_pesoBruto;
  r_cab_valorProdutosBruto       := p_cab_valorProdutosBruto;
  r_cab_valorProdutos            := p_cab_valorProdutos;
  r_cab_valorDescontoProdutos    := p_cab_valorDescontoProdutos;
  r_cab_valorAcrescimoProdutos   := p_cab_valorAcrescimoProdutos;
  r_cab_valorServicosBruto       := p_cab_valorServicosBruto;
  r_cab_valorServicos            := p_cab_valorServicos;
  r_cab_valorDescontoServicos    := p_cab_valorDescontoServicos;
  r_cab_valorAcrescimoServicos   := p_cab_valorAcrescimoServicos;
  r_cab_valorBasePagamento       := p_cab_valorBasePagamento;
  r_cab_valorAVistaMinimo        := p_cab_valorAVistaMinimo;
  r_cab_valorDescontoTotal       := p_cab_valorDescontoTotal;
  r_cab_valorOutrasDespTotal     := p_cab_valorOutrasDespTotal;
  r_cab_valorImpostosSomaPag     := p_cab_valorImpostosSomaPag;
  r_cab_valorImpostosDiminuiPag  := p_cab_valorImpostosDiminuiPag;
  r_cab_valorLiquidoItem         := p_cab_valorLiquidoItem;
  r_buffer_idItemOrcamento       := p_buffer_idItemOrcamento;
  r_item_valorTotalItem          := 0;
  SELECT locEst.indicadorPropriedadePosseItem
  INTO v_locEst_indicadorPropPosseIt
  FROM PALOCAISESTOQUE locEst
  WHERE locEst.localEstoque = p_item_localEstoque;
  FOR comb IN c_comb LOOP
    v_item_quantidade := ROUND (p_item_quantidade * comb.quantidade, comb.casasDecimaisUnidadeMedida);
    IF comb.controleEstoque = 3 THEN
      ADD_ORCAMENTO_ITEM_INSERE_COMB (
        p_uniqueMachineID,
        p_usuarioLogado,
        p_perfilUsuarioLogado,
        p_estabelecimentoAtivo,
        p_config_64_casasDecSaidas,
        p_config_65_casasDecEntrada,
        p_config_198_obs_add_referenc,
        p_config_199_obs_add_caractA,
        p_config_200_obs_add_caractB,
        p_config_201_obs_add_caractC,
        p_config_202_obs_add_caractD,
        p_config_203_obs_add_caractE,
        p_config_209_filtrarGrupoEcon,
        p_config_330_redIcmsBasePisCof,
        p_config_362_calcCustoPorGrade,
        p_config_378_calcularVolumes,
        p_cab_orcamento,
        p_cab_origemDocumento,
        p_cab_tipoDocumento,
        p_cab_modeloDocumento,
        p_cab_entradaSaida,
        p_cab_finalidadeNota,
        p_cab_atualizaCustoMedio,
        p_cab_estabelecimento,
        p_cab_dataEmissao,
        p_cab_dataPreco,
        p_cab_pessoa,
        p_cab_dataEntrega,
        p_cab_enderecoEntregaPessoa,
        p_cab_municipioFatoGerador,
        p_cab_localDestinoOperacao,
        p_cab_indicadorConsumidorFinal,
        p_cab_tipoPagamentoFrete,
        r_cab_quantidadeVolume,
        r_cab_quantidade,
        r_cab_pesoLiquido,
        r_cab_pesoBruto,
        r_cab_valorProdutosBruto,
        r_cab_valorProdutos,
        r_cab_valorDescontoProdutos,
        r_cab_valorAcrescimoProdutos,
        r_cab_valorServicosBruto,
        r_cab_valorServicos,
        r_cab_valorDescontoServicos,
        r_cab_valorAcrescimoServicos,
        p_cab_prazoMedioPonderado,
        r_cab_valorBasePagamento,
        r_cab_valorAVistaMinimo,
        r_cab_valorDescontoTotal,
        r_cab_valorOutrasDespTotal,
        p_cab_valorFreteTotal,
        p_cab_valorSeguroTotal,
        p_cab_valorAdicFreteMarTotal,
        p_cab_valorDespesasAduanTotal,
        r_cab_valorImpostosSomaPag,
        r_cab_valorImpostosDiminuiPag,
        r_cab_valorLiquidoItem,
        p_modDoc_capituloNatFiscal,
        p_modDoc_movimentaEstoque,
        p_modDoc_geraFinanceiro,
        p_modDoc_habilitaAmbiente,
        p_modDoc_tipoPreco,
        p_modDoc_tabelaPreco,
        p_modDoc_fatorMultipPreco,
        p_modDoc_tipoPrecoB,
        p_modDoc_tabelaPrecoB,
        p_modDoc_fatorMultipPrecoB,
        p_modDoc_diminuiDescontoPrUnit,
        p_modDoc_somaAcrescimosPrUnit,
        p_modDoc_somaFreteSeguroPrUnit,
        p_est_grupoFiscal,
        p_pessEst_regimeTributario,
        p_munEndEst_uf,
        p_pess_indicadorInscricaoEstad,
        p_endPess_enderecoPessoa,
        p_munEndPess_uf,
        p_munEndEntr_uf,
        p_etOrc_situacaoOrcamento,
        p_item_vendedor,
        comb.gradeProdutoFilho,
        p_item_localEstoque,
        p_item_pessoaParticipante,
        p_item_dataEntrega,
        v_item_quantidade,
        p_item_controleEntrega,
        p_item_usarPrecoAVista,
        p_item_percDescontoItem,
        p_item_percAcrescimoItem,
        p_item_observacoesDigitadas,
        p_idEnderecoEstoque,
        p_item_ambiente,
        p_item_amb_observacoes,
        p_idItemOrcamentoReferenciado,
        p_idItemDocTransferencia,
        r_buffer_idItemOrcamento,
        /* Retornos */
        r_cab_quantidadeVolume,
        r_cab_quantidade,
        r_cab_pesoLiquido,
        r_cab_pesoBruto,
        r_cab_valorProdutosBruto,
        r_cab_valorProdutos,
        r_cab_valorDescontoProdutos,
        r_cab_valorAcrescimoProdutos,
        r_cab_valorServicosBruto,
        r_cab_valorServicos,
        r_cab_valorDescontoServicos,
        r_cab_valorAcrescimoServicos,
        r_cab_valorBasePagamento,
        r_cab_valorAVistaMinimo,
        r_cab_valorDescontoTotal,
        r_cab_valorOutrasDespTotal,
        r_cab_valorImpostosSomaPag,
        r_cab_valorImpostosDiminuiPag,
        r_cab_valorLiquidoItem,
        r_buffer_idItemOrcamento,
        v_item_valorTotalItem);
      r_item_valorTotalItem := r_item_valorTotalItem + v_item_valorTotalItem;
    ELSE
      v_item_idItemOrcamento := 0;
      ADD_ITEM_PROD_DADOS_BUSCA (
        p_cab_entradaSaida,
        0,
        p_cab_pessoa,
        v_item_quantidade,
        comb.produto,
        comb.unidadeMedida,
        comb.controleQuantidadeVenda,
        comb.unidadeMedidaVenda,
        comb.conversorQuantidadeVenda,
        comb.loteMinimoVenda,
        comb.loteMultiploVenda,
        comb.pesoLiquido,
        comb.pesoBruto,
        comb.altura,
        comb.largura,
        comb.comprimento,
        comb.tipoProduto,
        comb.precoPautaTabelado,
        comb.casasDecimaisUnidadeMedida,
        /* Retornos */
        v_item_servico,
        v_item_controleQuantidade,
        v_item_unidadeMedidaConversao,
        v_item_conversorQuantidade,
        v_item_loteMinimo,
        v_item_loteMultiplo,
        v_item_altura,
        v_item_largura,
        v_item_comprimento,
        v_item_pecas,
        v_item_quantidadeConvertida,
        v_item_pesoLiquido,
        v_item_pesoBruto,
        v_item_precoPautaTabelado);
      ADD_BUSCA_PRECO (
        p_config_64_casasDecSaidas,
        p_config_65_casasDecEntrada,
        p_config_209_filtrarGrupoEcon,
        p_config_362_calcCustoPorGrade,
        p_perfilUsuarioLogado,
        p_usuarioLogado,
        p_cab_entradaSaida,
        0,
        p_cab_estabelecimento,
        NULL,
        p_cab_dataPreco,
        p_cab_pessoa,
        p_modDoc_capituloNatFiscal,
        p_modDoc_tipoPreco,
        p_modDoc_tabelaPreco,
        p_modDoc_fatorMultipPreco,
        p_modDoc_tipoPrecoB,
        p_modDoc_tabelaPrecoB,
        p_modDoc_fatorMultipPrecoB,
        p_munEndEst_uf,
        p_munEndPess_uf,
        p_item_vendedor,
        0,
        0,
        p_item_localEstoque,
        p_item_pessoaParticipante,
        v_item_quantidade,
        comb.produto,
        comb.cor,
        comb.tamanho,
        comb.controleEstoque,
        v_locEst_indicadorPropPosseIt,
        0,
        v_item_precoSugestaoAPrazo,
        v_item_precoSugestaoAVista,
        v_item_tipoPreco,
        v_item_tabelaPreco,
        /* Retornos */
        v_item_tipoPreco,
        v_item_tabelaPreco,
        v_item_precoSugestaoAPrazo,
        v_item_precoSugestaoAVista,
        v_item_precoDesconto,
        v_item_precoMinimo,
        v_auxNumber,
        v_auxNumber,
        v_auxNumber,
        v_auxNumber,
        v_auxNumber,
        v_auxNumber,
        v_auxNumber,
        v_auxNumber);
      v_item_precoUnitarioBruto      := CASE WHEN p_item_usarPrecoAVista = 1 THEN v_item_precoSugestaoAVista ELSE v_item_precoSugestaoAPrazo END;
      v_item_precoUnitario           := v_item_precoUnitarioBruto;
      v_item_valorProdutoServicoBrut := ROUND ((v_item_quantidade * v_item_precoUnitarioBruto), 2);
      v_item_valorProdutoServico     := v_item_valorProdutoServicoBrut;
      v_item_valorDescontoItem       := ROUND ((v_item_valorProdutoServico * p_item_percDescontoItem / 100), 2);
      v_item_valorAcrescimoItem      := ROUND ((v_item_valorProdutoServico * p_item_percAcrescimoItem / 100), 2);
      v_item_operacaoFiscal          := FUNC_ADD_BUSCA_OPERACAO_FISCAL (
        p_cab_modeloDocumento,
        p_cab_entradaSaida,
        p_cab_pessoa,
        0,
        p_cab_municipioFatoGerador,
        p_cab_indicadorConsumidorFinal,
        p_est_grupoFiscal,
        p_pessEst_regimeTributario,
        p_munEndEst_uf,
        p_pess_indicadorInscricaoEstad,
        p_munEndPess_uf,
        comb.produto);
      ADD_ITEM_OPERACAO_FISCAL_BUSCA (
        1,
        p_cab_origemDocumento,
        p_cab_tipoDocumento,
        p_cab_entradaSaida,
        0,
        p_cab_finalidadeNota,
        p_cab_estabelecimento,
        0,
        p_cab_dataEmissao,
        p_cab_pessoa,
        0,
        p_cab_enderecoEntregaPessoa,
        p_cab_localDestinoOperacao,
        p_cab_indicadorConsumidorFinal,
        p_modDoc_movimentaEstoque,
        p_modDoc_geraFinanceiro,
        p_munEndEst_uf,
        p_pess_indicadorInscricaoEstad,
        p_endPess_enderecoPessoa,
        p_munEndPess_uf,
        p_munEndEntr_uf,
        v_item_operacaoFiscal,
        comb.produto,
        comb.tipoProduto,
        comb.origemMercadoria,
        comb.idNcm,
        comb.listaServicos,
        0,
        0,
        0,
        1,
        ' ',
        0,
        1,
        0,
        1,
        0,
        1,
        0,
        1,
        0,
        1,
        0,
        1,
        0,
        1,
        0,
        1,
        0,
        '  ',
        0,
        0,
        1,
        '  ',
        0,
        0,
        1,
        0,
        0,
        1,
        '  ',
        0,
        0,
        1,
        0,
        0,
        1,
        '   ',
        0,
        1,
        '  ',
        ' ',
        0,
        0,
        0,
        '  ',
        0,
        1,
        ' ',
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        '  ',
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        /* Retornos */
        v_auxNumber,
        v_item_movimentaEstoque,
        v_item_geraFinanceiro,
        v_item_cfop,
        v_item_indicadorISSQN,
        v_item_aliquotaISSQN,
        v_item_aliquotaIRRF,
        v_item_aliquotaINSS,
        v_item_retencaoPIS,
        v_item_retencaoCOFINS,
        v_item_retencaoCSLL,
        v_item_aliquotaII,
        v_item_aliquotaIOF,
        v_item_codigoEnquadramentoIPI,
        v_item_stIPI,
        v_item_aliquotaIPI,
        v_item_valorAliquotaIPI,
        v_item_stPIS,
        v_item_aliquotaPIS,
        v_item_valorAliquotaPIS,
        v_item_aliquotaPISST,
        v_item_valorAliquotaPISST,
        v_item_stCOFINS,
        v_item_aliquotaCOFINS,
        v_item_valorAliquotaCOFINS,
        v_item_aliquotaCOFINSST,
        v_item_valorAliquotaCOFINSST,
        v_item_stSimplesNacional,
        v_item_creditoSimplesNacional,
        v_item_stICMS,
        v_item_modalBaseCalcICMS,
        v_item_reducaoBaseICMS,
        v_item_aliquotaICMS,
        v_item_diferimentoICMS,
        v_item_motivoDesoneracaoICMS,
        v_auxNumber,
        v_item_modalBaseCalcICMSST,
        v_item_margemValorAdicST,
        v_item_reducaoBaseST,
        v_item_aliquotaICMSST,
        v_item_aliquotaSTSuportConsFin,
        v_item_reducaoBaseICMSEfetivo,
        v_item_aliquotaICMSEfetivo,
        v_auxVarchar,
        v_auxNumber,
        v_auxNumber,
        v_auxNumber,
        v_auxNumber,
        v_auxNumber,
        v_auxNumber,
        v_item_aliquotaICMSUFDestinat,
        v_item_aliquotaICMSInterestad,
        v_item_partilhaICMSInterestad,
        v_item_aliquotaFCP,
        v_item_aliquotaFCPST,
        v_item_aliquotaFCPSTAnteriorm,
        v_item_aliquotaFCPUFDestinat,
        v_item_aliquotaEstImpFederais,
        v_item_aliquotaEstImpEstaduais,
        v_item_aliquotaEstImpMunicipai);      
      ADD_CALCULA_TOTAIS_ITEM (
        p_cab_tipoPagamentoFrete,
        p_modDoc_diminuiDescontoPrUnit,
        p_modDoc_somaAcrescimosPrUnit,
        p_modDoc_somaFreteSeguroPrUnit,
        v_item_quantidade,
        v_item_quantidadeConvertida,
        v_item_precoUnitarioBruto,
        0,
        v_item_precoUnitario,
        v_item_valorDescontoItem,
        v_item_valorAcrescimoItem,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        /* Retornos */
        v_item_precoUnitario,
        v_item_precoUnitarioConvertido,
        v_item_valorProdutoServico,
        v_auxNumber,
        v_item_valorTotalItem,
        v_auxNumber,
        v_auxNumber,
        v_item_valorDescontoTotal,
        v_item_valorOutrasDespTotal,
        v_auxNumber,
        v_auxNumber,
        v_auxNumber,
        v_auxNumber);
      ADD_CALCULA_IMPOSTOS_ITEM (
        p_config_64_casasDecSaidas,
        p_config_209_filtrarGrupoEcon,
        p_config_330_redIcmsBasePisCof,
        p_config_362_calcCustoPorGrade,
        p_cab_entradaSaida,
        0,
        p_cab_estabelecimento,
        0,
        p_cab_dataEmissao,
        p_cab_pessoa,
        p_cab_localDestinoOperacao,
        p_cab_indicadorConsumidorFinal,
        p_cab_tipoPagamentoFrete,
        p_pess_indicadorInscricaoEstad,
        0,
        v_item_quantidade,
        v_item_precoPautaTabelado,
        v_item_valorProdutoServico,
        0,
        0,
        v_item_valorDescontoTotal,
        v_item_valorOutrasDespTotal,
        0,
        0,
        v_item_cfop,
        1,
        v_item_indicadorISSQN,
        v_item_aliquotaISSQN,
        0,
        0,
        1,
        v_item_aliquotaIRRF,
        0,
        0,
        1,
        v_item_aliquotaINSS,
        0,
        0,
        1,
        v_item_retencaoPIS,
        0,
        0,
        1,
        v_item_retencaoCOFINS,
        0,
        0,
        1,
        v_item_retencaoCSLL,
        0,
        0,
        1,
        v_item_aliquotaII,
        0,
        0,
        1,
        v_item_aliquotaIOF,
        0,
        0,
        1,
        v_item_aliquotaIPI,
        v_item_valorAliquotaIPI,
        0,
        0,
        0,
        1,
        v_item_aliquotaPIS,
        v_item_valorAliquotaPIS,
        0,
        0,
        1,
        v_item_aliquotaPISST,
        v_item_valorAliquotaPISST,
        0,
        0,
        1,
        v_item_aliquotaCOFINS,
        v_item_valorAliquotaCOFINS,
        0,
        0,
        1,
        v_item_aliquotaCOFINSST,
        v_item_valorAliquotaCOFINSST,
        0,
        0,
        1,
        v_item_stSimplesNacional,
        v_item_creditoSimplesNacional,
        0,
        0,
        1,
        v_item_stICMS,
        v_item_modalBaseCalcICMS,
        v_item_reducaoBaseICMS,
        v_item_aliquotaICMS,
        v_item_diferimentoICMS,
        0,
        0,
        0,
        0,
        0,
        1,
        v_item_modalBaseCalcICMSST,
        v_item_margemValorAdicST,
        v_item_reducaoBaseST,
        v_item_aliquotaICMSST,
        0,
        0,
        1,
        0,
        0,
        0,
        v_item_reducaoBaseICMSEfetivo,
        v_item_aliquotaICMSEfetivo,
        0,
        0,
        0,
        '  ',
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        v_item_aliquotaICMSUFDestinat,
        v_item_aliquotaICMSInterestad,
        v_item_partilhaICMSInterestad,
        0,
        0,
        0,
        0,
        1,
        v_item_aliquotaFCP,
        0,
        0,
        v_item_aliquotaFCPST,
        0,
        0,
        v_item_aliquotaFCPSTAnteriorm,
        0,
        0,
        v_item_aliquotaFCPUFDestinat,
        0,
        0,
        1,
        v_item_aliquotaEstImpFederais,
        v_item_aliquotaEstImpEstaduais,
        v_item_aliquotaEstImpMunicipai,
        0,
        0,
        0,
        0,
        comb.produto,
        comb.cor,
        comb.tamanho,
        comb.controleEstoque,
        comb.tipoProduto,
        /* Retornos */
        v_item_baseISSQN,
        v_item_valorISSQN,
        v_item_baseIRRF,
        v_item_valorIRRF,
        v_item_baseINSS,
        v_item_valorINSS,
        v_item_baseRetPIS,
        v_item_valorRetPIS,
        v_item_baseRetCOFINS,
        v_item_valorRetCOFINS,
        v_item_baseRetCSLL,
        v_item_valorRetCSLL,
        v_item_baseII,
        v_item_valorII,
        v_item_baseIOF,
        v_item_valorIOF,
        v_item_baseIPI,
        v_item_valorIPI,
        v_item_basePIS,
        v_item_valorPIS,
        v_item_basePISST,
        v_item_valorPISST,
        v_item_baseCOFINS,
        v_item_valorCOFINS,
        v_item_baseCOFINSST,
        v_item_valorCOFINSST,
        v_item_baseCreditoSimplesNac,
        v_item_valorCreditoSimplesNac,
        v_item_baseICMS,
        v_item_valorICMSOperacao,
        v_item_valorICMSDiferido,
        v_item_valorICMS,
        v_item_valorICMSDesoneracao,
        v_item_baseICMSST,
        v_item_valorICMSST,
        v_item_baseICMSSTAnteriormente,
        v_item_valorICMSSTAnteriorment,
        v_item_valorICMSProprioSubstit,
        v_item_baseICMSEfetivo,
        v_item_valorICMSEfetivo,
        v_auxNumber,
        v_auxNumber,
        v_auxNumber,
        v_auxNumber,
        v_auxNumber,
        v_item_baseICMSUFDestinatario,
        v_item_valorICMSUFDestinatario,
        v_item_baseICMSUFRemetente,
        v_item_valorICMSUFRemetente,
        v_item_baseFCP,
        v_item_valorFCP,
        v_item_baseFCPST,
        v_item_valorFCPST,
        v_item_baseFCPSTAnteriormente,
        v_item_valorFCPSTAnteriormente,
        v_item_baseFCPUFDestinatario,
        v_item_valorFCPUFDestinatario,
        v_item_baseEstimadaImpostos,
        v_item_valorEstImpFederais,
        v_item_valorEstImpEstaduais,
        v_item_valorEstImpMunicipais);
      ADD_CALCULA_VALOR_LIQUIDO (
        0,
        p_cab_tipoPagamentoFrete,
        v_item_geraFinanceiro,
        v_item_valorProdutoServico,
        0,
        0,
        0,
        0,
        0,
        v_item_valorDescontoTotal,
        v_item_valorOutrasDespTotal,
        v_item_valorIRRF,
        v_item_valorINSS,
        v_item_valorRetPIS,
        v_item_valorRetCOFINS,
        v_item_valorRetCSLL,
        v_item_valorII,
        v_item_valorIOF,
        v_item_valorIPI,
        0,
        v_item_valorICMSST,
        0,
        0,
        0,
        /* Retornos */
        v_item_valorBasePagamento,
        v_item_valorImpostosSomaPag,
        v_item_valorImpostosDiminuiPag,
        v_item_valorLiquidoItem);
      IF p_config_378_calcularVolumes = 1 THEN
        r_cab_quantidadeVolume       := r_cab_quantidadeVolume + TRUNC(CASE WHEN v_item_controleQuantidade = 1 AND v_item_loteMultiplo <> 0 THEN v_item_quantidade / v_item_loteMultiplo ELSE v_item_quantidadeConvertida END,0);
      END IF;
      r_cab_quantidade               := r_cab_quantidade + v_item_quantidadeConvertida;
      r_cab_pesoLiquido              := r_cab_pesoLiquido + v_item_pesoLiquido;
      r_cab_pesoBruto                := r_cab_pesoBruto + v_item_pesoBruto;
      IF v_item_servico = 1 THEN
        r_cab_valorServicosBruto     := r_cab_valorServicosBruto + v_item_valorProdutoServicoBrut;
        r_cab_valorServicos          := r_cab_valorServicos + v_item_valorProdutoServico;
        r_cab_valorDescontoServicos  := r_cab_valorDescontoServicos + v_item_valorDescontoItem;
        r_cab_valorAcrescimoServicos := r_cab_valorAcrescimoServicos + v_item_valorAcrescimoItem;
      ELSE 
        r_cab_valorProdutosBruto     := r_cab_valorProdutosBruto + v_item_valorProdutoServicoBrut;
        r_cab_valorProdutos          := r_cab_valorProdutos + v_item_valorProdutoServico;
        r_cab_valorDescontoProdutos  := r_cab_valorDescontoProdutos + v_item_valorDescontoItem;
        r_cab_valorAcrescimoProdutos := r_cab_valorAcrescimoProdutos + v_item_valorAcrescimoItem;
      END IF;
      r_cab_valorBasePagamento       := r_cab_valorBasePagamento + v_item_valorBasePagamento;
      IF p_item_usarPrecoAVista = 1 AND v_item_geraFinanceiro = 1 THEN
        r_cab_valorAVistaMinimo      := r_cab_valorAVistaMinimo + v_item_valorProdutoServico - v_item_valorDescontoTotal + v_item_valorOutrasDespTotal;
      END IF;
      r_cab_valorDescontoTotal       := r_cab_valorDescontoTotal + v_item_valorDescontoTotal;
      r_cab_valorOutrasDespTotal     := r_cab_valorOutrasDespTotal + v_item_valorOutrasDespTotal;
      r_cab_valorImpostosSomaPag     := r_cab_valorImpostosSomaPag + v_item_valorImpostosSomaPag;
      r_cab_valorImpostosDiminuiPag  := r_cab_valorImpostosDiminuiPag + v_item_valorImpostosDiminuiPag;
      r_cab_valorLiquidoItem         := r_cab_valorLiquidoItem + v_item_valorLiquidoItem;
      SELECT COALESCE (MAX (sequencia),0) + 1
      INTO v_item_sequencia
      FROM MOORCAMENTOXITENS
      WHERE orcamento = p_cab_orcamento;
      ADD_ORCAMENTO_ITEM_GRAVA (
        p_uniqueMachineID,
        p_estabelecimentoAtivo,
        p_config_198_obs_add_referenc,
        p_config_199_obs_add_caractA,
        p_config_200_obs_add_caractB,
        p_config_201_obs_add_caractC,
        p_config_202_obs_add_caractD,
        p_config_203_obs_add_caractE,
        '',
        0,
        p_cab_orcamento,
        p_cab_modeloDocumento,
        p_cab_entradaSaida,
        p_cab_estabelecimento,
        p_cab_dataEmissao,
        p_cab_dataEntrega,
        p_etOrc_situacaoOrcamento,
        0,
        v_item_sequencia,
        0,
        0,
        p_item_vendedor,
        0,
        comb.gradeProdutoFilho,
        v_item_servico,
        0,
        'A',
        0,
        0,
        0,
        0,
        0,
        999,
        v_item_operacaoFiscal,
        0,
        v_item_movimentaEstoque,
        v_item_geraFinanceiro,
        0,
        p_item_localEstoque,
        0,
        p_item_pessoaParticipante,
        p_item_dataEntrega,
        v_item_controleQuantidade,
        v_item_unidadeMedidaConversao,
        v_item_conversorQuantidade,
        v_item_loteMinimo,
        v_item_loteMultiplo,
        v_item_altura,
        v_item_largura,
        v_item_comprimento,
        v_item_pecas,
        v_item_quantidade,
        v_item_quantidadeConvertida,
        0,
        v_item_quantidade,
        p_item_controleEntrega,
        1,
        v_item_pesoLiquido,
        v_item_pesoBruto,
        v_item_tipoPreco,
        v_item_tabelaPreco,
        v_item_precoSugestaoAPrazo,
        v_item_precoSugestaoAVista,
        v_item_precoDesconto,
        v_item_precoMinimo,
        p_item_usarPrecoAVista,
        v_item_precoPautaTabelado,
        v_item_precoUnitarioBruto,
        0,
        v_item_precoUnitario,
        v_item_precoUnitarioConvertido,
        v_item_valorProdutoServicoBrut,
        v_item_valorProdutoServico,
        p_item_percDescontoItem,
        v_item_valorDescontoItem,
        p_item_percAcrescimoItem,
        v_item_valorAcrescimoItem,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        v_item_valorBasePagamento,
        0,
        0,
        0,
        0,
        0,
        v_item_valorDescontoTotal,
        v_item_valorOutrasDespTotal,
        0,
        0,
        v_item_cfop,
        v_item_indicadorISSQN,
        v_item_aliquotaISSQN,
        v_item_baseISSQN,
        v_item_valorISSQN,
        v_item_aliquotaIRRF,
        v_item_baseIRRF,
        v_item_valorIRRF,
        v_item_aliquotaINSS,
        v_item_baseINSS,
        v_item_valorINSS,
        v_item_retencaoPIS,
        v_item_baseRetPIS,
        v_item_valorRetPIS,
        v_item_retencaoCOFINS,
        v_item_baseRetCOFINS,
        v_item_valorRetCOFINS,
        v_item_retencaoCSLL,
        v_item_baseRetCSLL,
        v_item_valorRetCSLL,
        v_item_aliquotaII,
        v_item_baseII,
        v_item_valorII,
        v_item_aliquotaIOF,
        v_item_baseIOF,
        v_item_valorIOF,
        v_item_codigoEnquadramentoIPI,
        v_item_stIPI,
        v_item_aliquotaIPI,
        v_item_valorAliquotaIPI,
        v_item_baseIPI,
        v_item_valorIPI,
        v_item_stPIS,
        v_item_aliquotaPIS,
        v_item_valorAliquotaPIS,
        v_item_basePIS,
        v_item_valorPIS,
        v_item_aliquotaPISST,
        v_item_valorAliquotaPISST,
        v_item_basePISST,
        v_item_valorPISST,
        v_item_stCOFINS,
        v_item_aliquotaCOFINS,
        v_item_valorAliquotaCOFINS,
        v_item_baseCOFINS,
        v_item_valorCOFINS,
        v_item_aliquotaCOFINSST,
        v_item_valorAliquotaCOFINSST,
        v_item_baseCOFINSST,
        v_item_valorCOFINSST,
        v_item_stSimplesNacional,
        v_item_creditoSimplesNacional,
        v_item_baseCreditoSimplesNac,
        v_item_valorCreditoSimplesNac,
        v_item_stICMS,
        v_item_modalBaseCalcICMS,
        v_item_reducaoBaseICMS,
        v_item_aliquotaICMS,
        v_item_diferimentoICMS,
        v_item_motivoDesoneracaoICMS,
        v_item_baseICMS,
        v_item_valorICMSOperacao,
        v_item_valorICMSDiferido,
        v_item_valorICMS,
        v_item_valorICMSDesoneracao,
        v_item_modalBaseCalcICMSST,
        v_item_margemValorAdicST,
        v_item_reducaoBaseST,
        v_item_aliquotaICMSST,
        v_item_aliquotaSTSuportConsFin,
        v_item_baseICMSST,
        v_item_valorICMSST,
        v_item_baseICMSSTAnteriormente,
        v_item_valorICMSSTAnteriorment,
        v_item_valorICMSProprioSubstit,
        v_item_reducaoBaseICMSEfetivo,
        v_item_aliquotaICMSEfetivo,
        v_item_baseICMSEfetivo,
        v_item_valorICMSEfetivo,
        v_item_aliquotaICMSUFDestinat,
        v_item_aliquotaICMSInterestad,
        v_item_partilhaICMSInterestad,
        v_item_baseICMSUFDestinatario,
        v_item_valorICMSUFDestinatario,
        v_item_baseICMSUFRemetente,
        v_item_valorICMSUFRemetente,
        v_item_aliquotaFCP,
        v_item_baseFCP,
        v_item_valorFCP,
        v_item_aliquotaFCPST,
        v_item_baseFCPST,
        v_item_valorFCPST,
        v_item_aliquotaFCPSTAnteriorm,
        v_item_baseFCPSTAnteriormente,
        v_item_valorFCPSTAnteriormente,
        v_item_aliquotaFCPUFDestinat,
        v_item_baseFCPUFDestinatario,
        v_item_valorFCPUFDestinatario,
        v_item_aliquotaEstImpFederais,
        v_item_aliquotaEstImpEstaduais,
        v_item_aliquotaEstImpMunicipai,
        v_item_baseEstimadaImpostos,
        v_item_valorEstImpFederais,
        v_item_valorEstImpEstaduais,
        v_item_valorEstImpMunicipais,
        v_item_valorImpostosSomaPag,
        v_item_valorImpostosDiminuiPag,
        v_item_valorLiquidoItem,
        p_item_observacoesDigitadas,
        /* Retornos */
        v_item_idItemOrcamento);
        r_item_valorTotalItem    := r_item_valorTotalItem + v_item_valorTotalItem;
        r_buffer_idItemOrcamento := CASE WHEN (r_buffer_idItemOrcamento IS NULL OR r_buffer_idItemOrcamento = '' OR r_buffer_idItemOrcamento = ' ') THEN '' ELSE RTRIM (r_buffer_idItemOrcamento) || ';' END || TO_CHAR (LPAD(v_item_idItemOrcamento,14,'0'));
      IF p_modDoc_habilitaAmbiente = 1 THEN
        MERGE INTO MOORCAMENTOXAMBIENTES a
        USING (
          SELECT
            v_item_idItemOrcamento idItemOrcamento,
            p_item_ambiente        ambiente,
            p_item_amb_observacoes observacoes
          FROM DUAL
        ) b ON (a.idItemOrcamento = b.idItemOrcamento)
        WHEN MATCHED THEN
          UPDATE SET
            a.ambiente    = b.ambiente,
            a.observacoes = b.observacoes
        WHEN NOT MATCHED THEN
          INSERT (
            idItemOrcamento,
            ambiente,
            observacoes)
          VALUES (
            b.idItemOrcamento,
            b.ambiente,
            b.observacoes);
      END IF;
      IF p_idItemOrcamentoReferenciado > 0 THEN
        ADD_ORCAMENTO_ITEM_ORC_GRAVA (
          p_estabelecimentoAtivo,
          v_item_idItemOrcamento,
          p_idItemOrcamentoReferenciado,
          v_item_quantidade);
      END IF;
      IF p_idItemDocTransferencia > 0 THEN
        ADD_ORCAMENTO_ITEM_TRANS_GRAVA (
          p_estabelecimentoAtivo,
          p_cab_entradaSaida,
          p_idItemDocTransferencia,
          v_item_idItemOrcamento,
          v_item_quantidade);
      END IF;
      IF p_idEnderecoEstoque > 0 THEN
        ADD_ORCAMENTO_ITEM_ENDER_GRAVA (
          p_estabelecimentoAtivo,
          0,
          v_item_idItemOrcamento,
          p_idEnderecoEstoque,
          v_item_quantidade,
          v_item_quantidade,
          ' ',
          /* Retornos */
          v_auxNumber);
      END IF;
    END IF;
  END LOOP;
END ADD_ORCAMENTO_ITEM_INSERE_COMB;

/

create or replace PROCEDURE ADD_ORCAMENTO_ITEM_INSERE (
    p_uniqueMachineID              IN VARCHAR2,
    p_usuarioLogado                IN NUMBER,
    p_perfilUsuarioLogado          IN NUMBER,
    p_estabelecimentoAtivo         IN NUMBER,
    p_person_190_modeloFrete       IN CHAR,
    p_config_64_casasDecSaidas     IN CHAR,
    p_config_65_casasDecEntrada    IN CHAR,
    p_config_198_obs_add_referenc  IN NUMBER,
    p_config_199_obs_add_caractA   IN NUMBER,
    p_config_200_obs_add_caractB   IN NUMBER,
    p_config_201_obs_add_caractC   IN NUMBER,
    p_config_202_obs_add_caractD   IN NUMBER,
    p_config_203_obs_add_caractE   IN NUMBER,
    p_config_209_filtrarGrupoEcon  IN NUMBER,
    p_config_330_redIcmsBasePisCof IN NUMBER,
    p_config_362_calcCustoPorGrade IN NUMBER,
    p_config_378_calcularVolumes   IN NUMBER,
    p_manterFinanceiro             IN NUMBER,
    p_tempComp_nomeTempComposicao  IN VARCHAR2,
    p_tempComp_sequencia           IN NUMBER,
    p_cab_orcamento                IN NUMBER,
    p_item_vendedor                IN NUMBER,
    p_item_gradeProduto            IN NUMBER,
    p_item_servico                 IN NUMBER,
    p_item_atividadeServico        IN NUMBER,
    p_item_idFormulaTinta          IN NUMBER,
    p_item_personalizacao          IN NUMBER,
    p_item_idLoteEstoque           IN NUMBER,
    p_item_vinculoItemDocumento    IN NUMBER,
    p_item_operacaoFiscal          IN NUMBER,
    p_item_localEstoque            IN NUMBER,
    p_item_pessoaParticipante      IN NUMBER,
    p_item_dataEntrega             IN DATE,
    p_item_controleQuantidade      IN NUMBER,
    p_item_unidadeMedidaConversao  IN VARCHAR2,
    p_item_conversorQuantidade     IN NUMBER,
    p_item_loteMinimo              IN NUMBER,
    p_item_loteMultiplo            IN NUMBER,
    p_item_altura                  IN NUMBER,
    p_item_largura                 IN NUMBER,
    p_item_comprimento             IN NUMBER,
    p_item_pecas                   IN NUMBER,
    p_item_quantidade              IN NUMBER,
    p_item_quantidadeConvertida    IN NUMBER,
    p_item_controleEntrega         IN NUMBER,
    p_item_pesoLiquido             IN NUMBER,
    p_item_pesoBruto               IN NUMBER,
    p_item_tipoPreco               IN CHAR,
    p_item_tabelaPreco             IN VARCHAR2,
    p_item_precoSugestaoAPrazo     IN NUMBER,
    p_item_precoSugestaoAVista     IN NUMBER,
    p_item_precoDesconto           IN NUMBER,
    p_item_precoMinimo             IN NUMBER,
    p_item_usarPrecoAVista         IN NUMBER,
    p_item_precoPautaTabelado      IN NUMBER,
    p_item_precoUnitarioBruto      IN NUMBER,
    p_item_acrescimoUnitarioCompos IN NUMBER,
    p_item_precoUnitario           IN NUMBER,
    p_item_precoUnitarioConvertido IN NUMBER,
    p_item_valorProdutoServicoBrut IN NUMBER,
    p_item_valorProdutoServico     IN NUMBER,
    p_item_percDescontoItem        IN NUMBER,
    p_item_valorDescontoItem       IN NUMBER,
    p_item_percAcrescimoItem       IN NUMBER,
    p_item_valorAcrescimoItem      IN NUMBER,
    p_item_valorFreteItem          IN NUMBER,
    p_item_valorSeguroItem         IN NUMBER,
    p_item_valorAdicFreteMarItem   IN NUMBER,
    p_item_valorDespesasAduanItem  IN NUMBER,
    p_item_valorFreteGeral         IN NUMBER,
    p_item_valorSeguroGeral        IN NUMBER,
    p_item_valorDescontoGeral      IN NUMBER,
    p_item_valorOutrasDespGeral    IN NUMBER,
    p_item_valorAdicFreteMarGeral  IN NUMBER,
    p_item_valorDespesasAduanGeral IN NUMBER,
    p_item_observacoesDigitadas    IN VARCHAR2,
    p_idEnderecoEstoque            IN NUMBER,
    p_idNumeroSerie                IN NUMBER,
    p_item_ambiente                IN NUMBER,
    p_item_amb_observacoes         IN VARCHAR2,
    p_idItemOrcamentoReferenciado  IN NUMBER,
    p_idItemDocTransferencia       IN NUMBER,
    /* Retornos */
    r_calcularImpostos             OUT NUMBER,
    r_idItemOrcamento              OUT NUMBER,
    r_item_valorBasePagamento      OUT NUMBER)
IS
    v_auxNumber                    NUMBER;
    v_auxVarchar                   VARCHAR2(256);
    v_cab_origemDocumento          NUMBER;
    v_cab_tipoDocumento            NUMBER;
    v_cab_modeloDocumento          NUMBER;
    v_cab_entradaSaida             CHAR(1);
    v_cab_finalidadeNota           CHAR(1);
    v_cab_atualizaCustoMedio       NUMBER;
    v_cab_estabelecimento          NUMBER;
    v_cab_dataEmissao              DATE;
    v_cab_dataPreco                DATE;
    v_cab_pessoa                   NUMBER;
    v_cab_dataEntrega              DATE;
    v_cab_modalidadeFrete          CHAR(1);
    v_cab_municipioFatoGerador     NUMBER;
    v_cab_localDestinoOperacao     CHAR;
    v_cab_enderecoEntregaPessoa    NUMBER;
    v_cab_indicadorConsumidorFinal CHAR(1);
    v_cab_tipoPagamentoFrete       CHAR(1);
    v_cab_ultimoVendedorItem       NUMBER;
    v_cab_quantidade               NUMBER;
    v_cab_quantidadeVolume         NUMBER;
    v_cab_pesoLiquido              NUMBER;
    v_cab_pesoBruto                NUMBER;
    v_cab_valorProdutosBruto       NUMBER;
    v_cab_valorProdutos            NUMBER;
    v_cab_valorDescontoProdutos    NUMBER;
    v_cab_valorAcrescimoProdutos   NUMBER;
    v_cab_valorServicosBruto       NUMBER;
    v_cab_valorServicos            NUMBER;
    v_cab_valorDescontoServicos    NUMBER;
    v_cab_valorAcrescimoServicos   NUMBER;
    v_cab_valorFreteItem           NUMBER;
    v_cab_valorSeguroItem          NUMBER;
    v_cab_valorAdicFreteMarItem    NUMBER;
    v_cab_valorDespesasAduanItem   NUMBER;
    v_cab_valorFreteGeral          NUMBER;
    v_cab_valorSeguroGeral         NUMBER;
    v_cab_valorDescontoGeral       NUMBER;
    v_cab_valorOutrasDespGeral     NUMBER;
    v_cab_valorAdicFreteMarGeral   NUMBER;
    v_cab_valorDespesasAduanGeral  NUMBER;
    v_cab_valorBasePagamento       NUMBER;
    v_cab_condicaoPagamento        NUMBER;
    v_cab_numeroParcelas           NUMBER;
    v_cab_somaPrazoParcelas        NUMBER;
    v_cab_valorXPrazoParcelas      NUMBER;
    v_cab_prazoMedio               NUMBER;
    v_cab_prazoMedioPonderado      NUMBER;
    v_cab_valorAVistaMinimo        NUMBER;
    v_cab_valorEntradaMinima       NUMBER;
    v_cab_valorAVistaEntrada       NUMBER;
    v_cab_valorPagamentoBruto      NUMBER;
    v_cab_valorPagamentoLiquido    NUMBER;
    v_cab_valorDescontoPagamento   NUMBER;
    v_cab_valorOutrasDespPag       NUMBER;
    v_cab_valorJurosPagamento      NUMBER;
    v_cab_valorTroco               NUMBER;
    v_cab_valorFreteTotal          NUMBER;
    v_cab_valorSeguroTotal         NUMBER;
    v_cab_valorDescontoTotal       NUMBER;
    v_cab_valorOutrasDespTotal     NUMBER;
    v_cab_valorAdicFreteMarTotal   NUMBER;
    v_cab_valorDespesasAduanTotal  NUMBER;
    v_cab_valorImpostosSomaPag     NUMBER;
    v_cab_valorImpostosDiminuiPag  NUMBER;
    v_cab_valorLiquidoItem         NUMBER;
    v_modDoc_capituloNatFiscal     NUMBER;
    v_modDoc_movimentaEstoque      NUMBER;
    v_modDoc_geraFinanceiro        NUMBER;
    v_modDoc_habilitaAmbiente      NUMBER;
    v_modDoc_tipoPreco             CHAR(1);
    v_modDoc_tabelaPreco           VARCHAR2(10);
    v_modDoc_fatorMultipPreco      NUMBER;
    v_modDoc_tipoPrecoB            CHAR(1);
    v_modDoc_tabelaPrecoB          VARCHAR2(10);
    v_modDoc_fatorMultipPrecoB     NUMBER;
    v_modDoc_diminuiDescontoPrUnit NUMBER;
    v_modDoc_somaAcrescimosPrUnit  NUMBER;
    v_modDoc_somaFreteSeguroPrUnit NUMBER;
    v_est_grupoFiscal              NUMBER;
    v_pessEst_regimeTributario     CHAR(1);
    v_munEndEst_uf                 CHAR(2);
    v_pess_indicadorInscricaoEstad CHAR(1);
    v_endPess_enderecoPessoa       NUMBER;
    v_munEndPess_uf                CHAR(2);
    v_munEndEntr_uf                CHAR(2);
    v_etOrc_situacaoOrcamento      NUMBER;
    v_item_sequencia               NUMBER;
    v_item_movimentaEstoque        NUMBER;
    v_item_geraFinanceiro          NUMBER;
    v_item_precoUnitario           NUMBER;
    v_item_precoUnitarioConvertido NUMBER;
    v_item_valorProdutoServico     NUMBER;
    v_item_valorDescontoGeral      NUMBER;
    v_item_valorFreteTotal         NUMBER;
    v_item_valorSeguroTotal        NUMBER;
    v_item_valorDescontoTotal      NUMBER;
    v_item_valorOutrasDespTotal    NUMBER;
    v_item_valorAdicFreteMarTotal  NUMBER;
    v_item_valorDespesasAduanTotal NUMBER;
    v_item_cfop                    NUMBER;
    v_item_indicadorISSQN          CHAR(1);
    v_item_aliquotaISSQN           NUMBER;
    v_item_baseISSQN               NUMBER;
    v_item_valorISSQN              NUMBER;
    v_item_aliquotaIRRF            NUMBER;
    v_item_baseIRRF                NUMBER;
    v_item_valorIRRF               NUMBER;
    v_item_aliquotaINSS            NUMBER;
    v_item_baseINSS                NUMBER;
    v_item_valorINSS               NUMBER;
    v_item_retencaoPIS             NUMBER;
    v_item_baseRetPIS              NUMBER;
    v_item_valorRetPIS             NUMBER;
    v_item_retencaoCOFINS          NUMBER;
    v_item_baseRetCOFINS           NUMBER;
    v_item_valorRetCOFINS          NUMBER;
    v_item_retencaoCSLL            NUMBER;
    v_item_baseRetCSLL             NUMBER;
    v_item_valorRetCSLL            NUMBER;
    v_item_aliquotaII              NUMBER;
    v_item_baseII                  NUMBER;
    v_item_valorII                 NUMBER;
    v_item_aliquotaIOF             NUMBER;
    v_item_baseIOF                 NUMBER;
    v_item_valorIOF                NUMBER;
    v_item_codigoEnquadramentoIPI  NUMBER;
    v_item_stIPI                   CHAR(2);
    v_item_aliquotaIPI             NUMBER;
    v_item_valorAliquotaIPI        NUMBER;
    v_item_baseIPI                 NUMBER;
    v_item_valorIPI                NUMBER;
    v_item_stPIS                   CHAR(2);
    v_item_aliquotaPIS             NUMBER;
    v_item_valorAliquotaPIS        NUMBER;
    v_item_basePIS                 NUMBER;
    v_item_valorPIS                NUMBER;
    v_item_aliquotaPISST           NUMBER;
    v_item_valorAliquotaPISST      NUMBER;
    v_item_basePISST               NUMBER;
    v_item_valorPISST              NUMBER;
    v_item_stCOFINS                CHAR(2);
    v_item_aliquotaCOFINS          NUMBER;
    v_item_valorAliquotaCOFINS     NUMBER;
    v_item_baseCOFINS              NUMBER;
    v_item_valorCOFINS             NUMBER;
    v_item_aliquotaCOFINSST        NUMBER;
    v_item_valorAliquotaCOFINSST   NUMBER;
    v_item_baseCOFINSST            NUMBER;
    v_item_valorCOFINSST           NUMBER;
    v_item_stSimplesNacional       CHAR(3);
    v_item_creditoSimplesNacional  NUMBER;
    v_item_baseCreditoSimplesNac   NUMBER;
    v_item_valorCreditoSimplesNac  NUMBER;
    v_item_stICMS                  CHAR(2);
    v_item_modalBaseCalcICMS       CHAR(1);
    v_item_reducaoBaseICMS         NUMBER;
    v_item_aliquotaICMS            NUMBER;
    v_item_diferimentoICMS         NUMBER;
    v_item_motivoDesoneracaoICMS   CHAR(2);
    v_item_baseICMS                NUMBER;
    v_item_valorICMSOperacao       NUMBER;
    v_item_valorICMSDiferido       NUMBER;
    v_item_valorICMS               NUMBER;
    v_item_valorICMSDesoneracao    NUMBER;
    v_item_modalBaseCalcICMSST     CHAR(1);
    v_item_margemValorAdicST       NUMBER;
    v_item_reducaoBaseST           NUMBER;
    v_item_aliquotaICMSST          NUMBER;
    v_item_aliquotaSTSuportConsFin NUMBER;
    v_item_baseICMSST              NUMBER;
    v_item_valorICMSST             NUMBER;
    v_item_baseICMSSTAnteriormente NUMBER;
    v_item_valorICMSSTAnteriorment NUMBER;
    v_item_valorICMSProprioSubstit NUMBER;
    v_item_reducaoBaseICMSEfetivo  NUMBER;
    v_item_aliquotaICMSEfetivo     NUMBER;
    v_item_baseICMSEfetivo         NUMBER;
    v_item_valorICMSEfetivo        NUMBER;
    v_item_aliquotaICMSUFDestinat  NUMBER;
    v_item_aliquotaICMSInterestad  NUMBER;
    v_item_partilhaICMSInterestad  NUMBER;
    v_item_baseICMSUFDestinatario  NUMBER;
    v_item_valorICMSUFDestinatario NUMBER;
    v_item_baseICMSUFRemetente     NUMBER;
    v_item_valorICMSUFRemetente    NUMBER;
    v_item_aliquotaFCP             NUMBER;
    v_item_baseFCP                 NUMBER;
    v_item_valorFCP                NUMBER;
    v_item_aliquotaFCPST           NUMBER;
    v_item_baseFCPST               NUMBER;
    v_item_valorFCPST              NUMBER;
    v_item_aliquotaFCPSTAnteriorm  NUMBER;
    v_item_aliquotaFCPUFDestinat   NUMBER;
    v_item_baseFCPSTAnteriormente  NUMBER;
    v_item_valorFCPSTAnteriormente NUMBER;
    v_item_baseFCPUFDestinatario   NUMBER;
    v_item_valorFCPUFDestinatario  NUMBER;
    v_item_aliquotaEstImpFederais  NUMBER;
    v_item_aliquotaEstImpEstaduais NUMBER;
    v_item_aliquotaEstImpMunicipai NUMBER;
    v_item_baseEstimadaImpostos    NUMBER;
    v_item_valorEstImpFederais     NUMBER;
    v_item_valorEstImpEstaduais    NUMBER;
    v_item_valorEstImpMunicipais   NUMBER;
    v_item_valorImpostosSomaPag    NUMBER;
    v_item_valorImpostosDiminuiPag NUMBER;
    v_item_valorLiquidoItem        NUMBER;
    v_item_observacoes             VARCHAR2 (4000);
    v_gradProd_produto             NUMBER;
    v_gradProd_cor                 NUMBER;
    v_gradProd_tamanho             VARCHAR(10);
    v_prod_controleEstoque         NUMBER;
    v_prod_tipoProduto             CHAR(2);
    v_prod_origemMercadoria        CHAR(1);
    v_prod_idNcm                   NUMBER;
    v_prod_listaServicos           NUMBER;
    v_ativServ_validoPrevisto      NUMBER;
    v_ativServ_habilitaAtivPrev    NUMBER;   
    v_locEst_indicadorPropPosseIt  CHAR(1);
    v_idEnderecoEstoqueOrcamento   NUMBER;
    v_buffer_idItemOrcamento       VARCHAR2 (32000);
    v_item_valorTotalItem          NUMBER;
    v_item_valorTotalItemComb      NUMBER;
    v_residuoRateioDescontoItem    NUMBER;
    v_residuoRateioAcrescimoItem   NUMBER;
    v_aj_idItemOrcamento           NUMBER;
    v_aj_valorTotalItem            NUMBER;
    v_aj_servico                   NUMBER;
    v_aj_quantidade                NUMBER;
    v_aj_quantidadeConvertida      NUMBER;
    v_aj_precoUnitarioBruto        NUMBER;
    v_aj_acrescimoUnitarioCompos   NUMBER;
    v_aj_precoUnitario             NUMBER;
    v_aj_precoUnitarioConvertido   NUMBER;
    v_aj_valorProdutoServicoBrut   NUMBER;
    v_aj_valorProdutoServico       NUMBER;
    v_aj_valorDescontoItem         NUMBER;
    v_aj_valorAcrescimoItem        NUMBER;
    v_aj_valorFreteItem            NUMBER;
    v_aj_valorSeguroItem           NUMBER;
    v_aj_valorAdicFreteMarItem     NUMBER;
    v_aj_valorDespesasAduanItem    NUMBER;
    v_aj_valorBasePagamento        NUMBER;
    v_aj_valorFreteTotal           NUMBER;
    v_aj_valorSeguroTotal          NUMBER;
    v_aj_valorDescontoTotal        NUMBER;
    v_aj_valorOutrasDespTotal      NUMBER;
    v_aj_valorAdicFreteMarTotal    NUMBER;
    v_aj_valorDespesasAduanTotal   NUMBER;
    v_aj_valorLiquidoItem          NUMBER;
    v_aj_usarPrecoAVista           NUMBER;
    v_aj_geraFinanceiro            NUMBER;
    v_aj_cfop_geraFinanceiro       NUMBER;
BEGIN
  v_item_precoUnitario           := p_item_precoUnitario;
  v_item_precoUnitarioConvertido := p_item_precoUnitarioConvertido;
  v_item_valorProdutoServico     := p_item_valorProdutoServico;
  v_item_valorDescontoGeral      := p_item_valorDescontoGeral;
  v_buffer_idItemOrcamento       := '';
  v_item_valorTotalItem          := 0;
  v_item_valorTotalItemComb      := 0;
  SELECT
    cab.origemDocumento,
    cab.tipoDocumento,
    cab.modeloDocumento,
    cab.entradaSaida,
    cab.finalidadeNota,
    cab.atualizaCustoMedio,
    cab.estabelecimento,
    cab.dataEmissao,
    cab.dataPreco,
    cab.pessoa,
    cab.dataEntrega,
    cab.municipioFatoGerador,
    cab.localDestinoOperacao,
    cab.enderecoEntregaPessoa,
    cab.indicadorConsumidorFinal,
    cab.modalidadeFrete,
    cab.tipoPagamentoFrete,
    cab.quantidadeVolume,
    cab.ultimoVendedorItem,
    cab.quantidade,
    cab.pesoLiquido,
    cab.pesoBruto,
    cab.valorProdutosBruto,
    cab.valorProdutos,
    cab.valorDescontoProdutos,
    cab.valorAcrescimoProdutos,
    cab.valorServicosBruto,
    cab.valorServicos,
    cab.valorDescontoServicos,
    cab.valorAcrescimoServicos,
    cab.valorFreteItem,
    cab.valorSeguroItem,
    cab.valorAdicFreteMarinhaMerItem,
    cab.valorDespesasAduaneirasItem,
    cab.valorFreteGeral,
    cab.valorSeguroGeral,
    cab.valorDescontoGeral,
    cab.valorOutrasDespesasGeral,
    cab.valorAdicFreteMarinhaMerGeral,
    cab.valorDespesasAduaneirasGeral,
    cab.condicaoPagamento,
    cab.numeroParcelas,
    cab.somaPrazoParcelas,
    cab.valorXPrazoParcelas,
    cab.prazoMedio,
    cab.prazoMedioPonderado,
    cab.valorBasePagamento,
    cab.valorAVistaMinimo,
    cab.valorEntradaMinima,
    cab.valorAVistaEntrada,
    cab.valorPagamentoBruto,
    cab.valorDescontoPagamento,
    cab.valorOutrasDespesasPagamento,
    cab.valorJurosPagamento,
    cab.valorPagamentoLiquido,
    cab.valorTroco,
    cab.valorFreteTotal,
    cab.valorSeguroTotal,
    cab.valorDescontoTotal,
    cab.valorOutrasDespesasTotal,
    cab.valorAdicFreteMarinhaMerTotal,
    cab.valorDespesasAduaneirasTotal,
    cab.valorImpostosSomaPagamento,
    cab.valorImpostosDiminuiPagamento,
    cab.valorLiquidoItem,
    modDoc.capituloNaturezaFiscal,
    modDoc.movimentaEstoque,
    modDoc.geraFinanceiro,
    modDoc.habilitaAmbiente,
    modDoc.tipoPreco,
    modDoc.tabelaPreco,
    modDoc.fatorMultiplicadorPreco,
    modDoc.tipoPrecoB,
    modDoc.tabelaPrecoB,
    modDoc.fatorMultiplicadorPrecoB,
    modDoc.diminuiDescontoPrUnit,
    modDoc.somaAcrescimosPrUnit,
    modDoc.somaFreteSeguroPrUnit,
    est.grupoFiscal,
    COALESCE (pessEst.regimeTributario, ' '),
    COALESCE ((SELECT MIN(munEst.uf) FROM CAENDERECOSPESSOA endEst JOIN SIMUNICIPIOS munEst ON munEst.municipio = endEst.municipio WHERE endEst.pessoa = est.pessoaEstabelecimento AND endEst.ativo = 1 AND endEst.principal = 1), '  '),
    pess.indicadorInscricaoEstadual,
    COALESCE ((SELECT MIN(enderecoPessoa) FROM CAENDERECOSPESSOA endPess JOIN SIMUNICIPIOS munPess ON munPess.municipio = endPess.municipio WHERE endPess.pessoa = cab.pessoa AND endPess.ativo = 1 AND endPess.principal = 1), 0),
    COALESCE ((SELECT MIN(munPess.uf) FROM CAENDERECOSPESSOA endPess JOIN SIMUNICIPIOS munPess ON munPess.municipio = endPess.municipio WHERE endPess.pessoa = cab.pessoa AND endPess.ativo = 1 AND endPess.principal = 1), '  '),
    munEndEntr.uf,
    etOrc.situacaoOrcamento
  INTO
    v_cab_origemDocumento,
    v_cab_tipoDocumento,
    v_cab_modeloDocumento,
    v_cab_entradaSaida,
    v_cab_finalidadeNota,
    v_cab_atualizaCustoMedio,
    v_cab_estabelecimento,
    v_cab_dataEmissao,
    v_cab_dataPreco,
    v_cab_pessoa,
    v_cab_dataEntrega,
    v_cab_municipioFatoGerador,
    v_cab_localDestinoOperacao,
    v_cab_enderecoEntregaPessoa,
    v_cab_indicadorConsumidorFinal,
    v_cab_modalidadeFrete,
    v_cab_tipoPagamentoFrete,
    v_cab_quantidadeVolume,
    v_cab_ultimoVendedorItem,
    v_cab_quantidade,
    v_cab_pesoLiquido,
    v_cab_pesoBruto,
    v_cab_valorProdutosBruto,
    v_cab_valorProdutos,
    v_cab_valorDescontoProdutos,
    v_cab_valorAcrescimoProdutos,
    v_cab_valorServicosBruto,
    v_cab_valorServicos,
    v_cab_valorDescontoServicos,
    v_cab_valorAcrescimoServicos,
    v_cab_valorFreteItem,
    v_cab_valorSeguroItem,
    v_cab_valorAdicFreteMarItem,
    v_cab_valorDespesasAduanItem,
    v_cab_valorFreteGeral,
    v_cab_valorSeguroGeral,
    v_cab_valorDescontoGeral,
    v_cab_valorOutrasDespGeral,
    v_cab_valorAdicFreteMarGeral,
    v_cab_valorDespesasAduanGeral,
    v_cab_condicaoPagamento,
    v_cab_numeroParcelas,
    v_cab_somaPrazoParcelas,
    v_cab_valorXPrazoParcelas,
    v_cab_prazoMedio,
    v_cab_prazoMedioPonderado,
    v_cab_valorBasePagamento,
    v_cab_valorAVistaMinimo,
    v_cab_valorEntradaMinima,
    v_cab_valorAVistaEntrada,
    v_cab_valorPagamentoBruto,
    v_cab_valorDescontoPagamento,
    v_cab_valorOutrasDespPag,
    v_cab_valorJurosPagamento,
    v_cab_valorPagamentoLiquido,
    v_cab_valorTroco,
    v_cab_valorFreteTotal,
    v_cab_valorSeguroTotal,
    v_cab_valorDescontoTotal,
    v_cab_valorOutrasDespTotal,
    v_cab_valorAdicFreteMarTotal,
    v_cab_valorDespesasAduanTotal,
    v_cab_valorImpostosSomaPag,
    v_cab_valorImpostosDiminuiPag,
    v_cab_valorLiquidoItem,
    v_modDoc_capituloNatFiscal,
    v_modDoc_movimentaEstoque,
    v_modDoc_geraFinanceiro,
    v_modDoc_habilitaAmbiente,
    v_modDoc_tipoPreco,
    v_modDoc_tabelaPreco,
    v_modDoc_fatorMultipPreco,
    v_modDoc_tipoPrecoB,
    v_modDoc_tabelaPrecoB,
    v_modDoc_fatorMultipPrecoB,
    v_modDoc_diminuiDescontoPrUnit,
    v_modDoc_somaAcrescimosPrUnit,
    v_modDoc_somaFreteSeguroPrUnit,
    v_est_grupoFiscal,
    v_pessEst_regimeTributario,
    v_munEndEst_uf,
    v_pess_indicadorInscricaoEstad,
    v_endPess_enderecoPessoa,
    v_munEndPess_uf,
    v_munEndEntr_uf,
    v_etOrc_situacaoOrcamento
  FROM MOORCAMENTOS cab
  JOIN PAMODELOSDOCUMENTO modDoc ON modDoc.modeloDocumento = cab.modeloDocumento
  JOIN PAESTABELECIMENTOS est ON est.estabelecimento = cab.estabelecimento
  JOIN CAPESSOAS pessEst ON pessEst.pessoa = est.pessoaEstabelecimento
  JOIN CAPESSOAS pess ON pess.pessoa = cab.pessoa
  JOIN CAENDERECOSPESSOA endEntr ON endEntr.enderecoPessoa = cab.enderecoEntregaPessoa
  JOIN SIMUNICIPIOS munEndEntr ON munEndEntr.municipio = endEntr.municipio
  JOIN PAETAPASORCAMENTO etOrc ON etOrc.etapaOrcamento = cab.etapaOrcamento
  WHERE cab.orcamento = p_cab_orcamento;
  SELECT
    gradProd.produto,
    gradProd.cor,
    gradProd.tamanho,
    prod.controleEstoque,
    prod.tipoProduto,
    prod.origemMercadoria,
    prod.idNcm,
    prod.listaServicos
  INTO
    v_gradProd_produto,
    v_gradProd_cor,
    v_gradProd_tamanho,
    v_prod_controleEstoque,
    v_prod_tipoProduto,
    v_prod_origemMercadoria,
    v_prod_idNcm,
    v_prod_listaServicos
  FROM CAGRADESPRODUTO gradProd
  JOIN CAPRODUTOS prod ON prod.produto = gradProd.produto
  WHERE gradProd.gradeProduto = p_item_gradeProduto;
  SELECT
    validoPrevisto,
    habilitaAtividadePrevista
  INTO
    v_ativServ_validoPrevisto,
    v_ativServ_habilitaAtivPrev
  FROM PAATIVIDADESSERVICO
  WHERE atividadeServico = p_item_atividadeServico;
    SELECT indicadorPropriedadePosseItem
  INTO v_locEst_indicadorPropPosseIt
  FROM PALOCAISESTOQUE
  WHERE localEstoque = p_item_localEstoque;
  r_calcularImpostos := 0;
  r_idItemOrcamento  := 0;
  IF p_manterFinanceiro = 0
    AND (v_cab_valorFreteGeral <> 0
      OR v_cab_valorSeguroGeral <> 0
      OR v_cab_valorDescontoGeral <> 0
      OR v_cab_valorOutrasDespGeral <> 0
      OR v_cab_valorAdicFreteMarGeral <> 0
      OR v_cab_valorDespesasAduanGeral <> 0) THEN
    r_calcularImpostos := 1;
  END IF;  
  IF p_manterFinanceiro = 0
    AND (v_cab_valorDescontoGeral <> 0
      OR v_cab_valorOutrasDespGeral <> 0
      OR v_cab_valorPagamentoBruto <> 0) THEN
    r_calcularImpostos := 1;
    ADD_ORCAMENTO_PAG_EXCLUI_TROCA (
      r_calcularImpostos,
      p_cab_orcamento,
      v_cab_valorDescontoGeral,
      v_cab_valorOutrasDespGeral,
      v_cab_valorDescontoPagamento,
      v_cab_valorOutrasDespPag,
      v_cab_valorJurosPagamento,
      0,
      v_item_valorDescontoGeral,
      0,
      0,
      0,
      /* Retornos */
      r_calcularImpostos,
      v_cab_valorDescontoGeral,
      v_cab_condicaoPagamento,
      v_cab_numeroParcelas,
      v_cab_somaPrazoParcelas,
      v_cab_valorXPrazoParcelas,
      v_cab_prazoMedio,
      v_cab_prazoMedioPonderado,
      v_cab_valorEntradaMinima,
      v_cab_valorAVistaEntrada,
      v_cab_valorPagamentoBruto,
      v_cab_valorDescontoPagamento,
      v_cab_valorOutrasDespPag,
      v_cab_valorJurosPagamento,
      v_cab_valorPagamentoLiquido,
      v_cab_valorTroco,
      v_item_valorDescontoGeral,
      v_auxNumber,
      v_auxNumber,
      v_auxNumber);
  END IF;
  v_cab_ultimoVendedorItem := p_item_vendedor;
  IF v_prod_controleEstoque = 3 THEN
    v_item_observacoes := FUNC_ADD_MONTA_OBSERVACAO_ITEM (
      p_uniqueMachineID,
      p_config_198_obs_add_referenc,
      p_config_199_obs_add_caractA,
      p_config_200_obs_add_caractB,
      p_config_201_obs_add_caractC,
      p_config_202_obs_add_caractD,
      p_config_203_obs_add_caractE,
      p_tempComp_nomeTempComposicao,
      p_tempComp_sequencia,
      'O',
      0,
      p_item_gradeProduto,
      0,
      0,
      0,
      p_item_controleQuantidade,
      p_item_loteMultiplo,
      p_item_altura,
      p_item_largura,
      p_item_comprimento,
      p_item_quantidade,
      p_item_observacoesDigitadas);
    v_auxNumber := 0;
    ADD_ORCAMENTO_ITEM_INSERE_COMB (
      p_uniqueMachineID,
      p_usuarioLogado,
      p_perfilUsuarioLogado,
      p_estabelecimentoAtivo,
      p_config_64_casasDecSaidas,
      p_config_65_casasDecEntrada,
      p_config_198_obs_add_referenc,
      p_config_199_obs_add_caractA,
      p_config_200_obs_add_caractB,
      p_config_201_obs_add_caractC,
      p_config_202_obs_add_caractD,
      p_config_203_obs_add_caractE,
      p_config_209_filtrarGrupoEcon,
      p_config_330_redIcmsBasePisCof,
      p_config_362_calcCustoPorGrade,
      p_config_378_calcularVolumes,
      p_cab_orcamento,
      v_cab_origemDocumento,
      v_cab_tipoDocumento,
      v_cab_modeloDocumento,
      v_cab_entradaSaida,
      v_cab_finalidadeNota,
      v_cab_atualizaCustoMedio,
      v_cab_estabelecimento,
      v_cab_dataEmissao,
      v_cab_dataPreco,
      v_cab_pessoa,
      v_cab_dataEntrega,
      v_cab_enderecoEntregaPessoa,
      v_cab_municipioFatoGerador,
      v_cab_localDestinoOperacao,
      v_cab_indicadorConsumidorFinal,
      v_cab_tipoPagamentoFrete,
      v_cab_quantidadeVolume,
      v_cab_quantidade,
      v_cab_pesoLiquido,
      v_cab_pesoBruto,
      v_cab_valorProdutosBruto,
      v_cab_valorProdutos,
      v_cab_valorDescontoProdutos,
      v_cab_valorAcrescimoProdutos,
      v_cab_valorServicosBruto,
      v_cab_valorServicos,
      v_cab_valorDescontoServicos,
      v_cab_valorAcrescimoServicos,
      v_cab_prazoMedioPonderado,
      v_cab_valorBasePagamento,
      v_cab_valorAVistaMinimo,
      v_cab_valorDescontoTotal,
      v_cab_valorOutrasDespTotal,
      v_cab_valorFreteTotal,
      v_cab_valorSeguroTotal,
      v_cab_valorAdicFreteMarTotal,
      v_cab_valorDespesasAduanTotal,
      v_cab_valorImpostosSomaPag,
      v_cab_valorImpostosDiminuiPag,
      v_cab_valorLiquidoItem,
      v_modDoc_capituloNatFiscal,
      v_modDoc_movimentaEstoque,
      v_modDoc_geraFinanceiro,
      v_modDoc_habilitaAmbiente,
      v_modDoc_tipoPreco,
      v_modDoc_tabelaPreco,
      v_modDoc_fatorMultipPreco,
      v_modDoc_tipoPrecoB,
      v_modDoc_tabelaPrecoB,
      v_modDoc_fatorMultipPrecoB,
      v_modDoc_diminuiDescontoPrUnit,
      v_modDoc_somaAcrescimosPrUnit,
      v_modDoc_somaFreteSeguroPrUnit,
      v_est_grupoFiscal,
      v_pessEst_regimeTributario,
      v_munEndEst_uf,
      v_pess_indicadorInscricaoEstad,
      v_endPess_enderecoPessoa,
      v_munEndPess_uf,
      v_munEndEntr_uf,
      v_etOrc_situacaoOrcamento,
      p_item_vendedor,
      p_item_gradeProduto,
      p_item_localEstoque,
      p_item_pessoaParticipante,
      p_item_dataEntrega,
      p_item_quantidade,
      p_item_controleEntrega,
      p_item_usarPrecoAVista,
      p_item_percDescontoItem,
      p_item_percAcrescimoItem,
      v_item_observacoes,
      p_idEnderecoEstoque,
      p_item_ambiente,
      p_item_amb_observacoes,
      p_idItemOrcamentoReferenciado,
      p_idItemDocTransferencia,
      v_buffer_idItemOrcamento,
      /* Retornos */
      v_cab_quantidadeVolume,
      v_cab_quantidade,
      v_cab_pesoLiquido,
      v_cab_pesoBruto,
      v_cab_valorProdutosBruto,
      v_cab_valorProdutos,
      v_cab_valorDescontoProdutos,
      v_cab_valorAcrescimoProdutos,
      v_cab_valorServicosBruto,
      v_cab_valorServicos,
      v_cab_valorDescontoServicos,
      v_cab_valorAcrescimoServicos,
      v_cab_valorBasePagamento,
      v_cab_valorAVistaMinimo,
      v_cab_valorDescontoTotal,
      v_cab_valorOutrasDespTotal,
      v_cab_valorImpostosSomaPag,
      v_cab_valorImpostosDiminuiPag,
      v_cab_valorLiquidoItem,
      v_buffer_idItemOrcamento,
      v_item_valorTotalItemComb);
      ADD_CALCULA_TOTAIS_ITEM (
        v_cab_tipoPagamentoFrete,
        v_modDoc_diminuiDescontoPrUnit,
        v_modDoc_somaAcrescimosPrUnit,
        v_modDoc_somaFreteSeguroPrUnit,
        p_item_quantidade,
        p_item_quantidadeConvertida,
        p_item_precoUnitarioBruto,
        p_item_acrescimoUnitarioCompos,
        v_item_precoUnitario,
        p_item_valorDescontoItem,
        p_item_valorAcrescimoItem,
        p_item_valorFreteItem,
        p_item_valorSeguroItem,
        p_item_valorAdicFreteMarItem,
        p_item_valorDespesasAduanItem,
        p_item_valorFreteGeral,
        p_item_valorSeguroGeral,
        p_item_valorDescontoGeral,
        p_item_valorOutrasDespGeral,
        p_item_valorAdicFreteMarGeral,
        p_item_valorDespesasAduanGeral,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        /* Retornos */
        v_item_precoUnitario,
        v_item_precoUnitarioConvertido,
        v_item_valorProdutoServico,
        v_auxNumber,
        v_item_valorTotalItem,
        v_item_valorFreteTotal,
        v_item_valorSeguroTotal,
        v_item_valorDescontoTotal,
        v_item_valorOutrasDespTotal,
        v_item_valorAdicFreteMarTotal,
        v_item_valorDespesasAduanTotal,
        v_auxNumber,
        v_auxNumber);
    IF v_item_valorTotalItem <> 0 AND v_item_valorTotalItem <> v_item_valorTotalItemComb THEN
      v_residuoRateioDescontoItem  := 0;
      v_residuoRateioAcrescimoItem := 0;
      WHILE v_buffer_idItemOrcamento IS NOT NULL AND LENGTH(RTRIM(v_buffer_idItemOrcamento)) >= 14
      LOOP
        v_aj_idItemOrcamento     := TO_NUMBER(SUBSTR(v_buffer_idItemOrcamento, 1, 14));
        v_aj_valorTotalItem      := 0;
        v_buffer_idItemOrcamento := RTRIM(SUBSTR(v_buffer_idItemOrcamento,16,32000));
        SELECT
          a.servico,
          a.quantidade,
          a.quantidadeConvertida,
          a.precoUnitarioBruto,
          a.acrescimoUnitarioComposicao,
          a.precoUnitario,
          a.precoUnitarioConvertido,
          a.valorProdutoServicoBruto,
          a.valorProdutoServico,
          a.valorDescontoItem,
          a.valorAcrescimoItem,
          a.valorFreteItem,
          a.valorSeguroItem,
          a.valorAdicFreteMarinhaMerItem,
          a.valorDespesasAduaneirasItem,
          a.valorBasePagamento,
          a.valorFreteTotal,
          a.valorSeguroTotal,
          a.valorDescontoTotal,
          a.valorOutrasDespesasTotal,
          a.valorAdicFreteMarinhaMerTotal,
          a.valorDespesasAduaneirasTotal,
          a.valorLiquidoItem,
          a.usarPrecoAVista,
          a.geraFinanceiro,
          cfop.geraFinanceiro
        INTO
          v_aj_servico,
          v_aj_quantidade,
          v_aj_quantidadeConvertida,
          v_aj_precoUnitarioBruto,
          v_aj_acrescimoUnitarioCompos,
          v_aj_precoUnitario,
          v_aj_precoUnitarioConvertido,
          v_aj_valorProdutoServicoBrut,
          v_aj_valorProdutoServico,
          v_aj_valorDescontoItem,
          v_aj_valorAcrescimoItem,
          v_aj_valorFreteItem,
          v_aj_valorSeguroItem,
          v_aj_valorAdicFreteMarItem,
          v_aj_valorDespesasAduanItem,
          v_aj_valorBasePagamento,
          v_aj_valorFreteTotal,
          v_aj_valorSeguroTotal,
          v_aj_valorDescontoTotal,
          v_aj_valorOutrasDespTotal,
          v_aj_valorAdicFreteMarTotal,
          v_aj_valorDespesasAduanTotal,
          v_aj_valorLiquidoItem,
          v_aj_usarPrecoAVista,
          v_aj_geraFinanceiro,
          v_aj_cfop_geraFinanceiro
        FROM MOORCAMENTOXITENS a
        JOIN SICFOPS cfop ON cfop.cfop = a.cfop
        WHERE a.idItemOrcamento = v_aj_idItemOrcamento;        
        IF v_aj_servico = 1 THEN
          v_cab_valorServicosBruto       := v_cab_valorServicosBruto      - v_aj_valorProdutoServicoBrut;
          v_cab_valorServicos            := v_cab_valorServicos           - v_aj_valorProdutoServico;
          v_cab_valorDescontoServicos    := v_cab_valorDescontoServicos   - v_aj_valorDescontoItem;
          v_cab_valorAcrescimoServicos   := v_cab_valorAcrescimoServicos  - v_aj_valorAcrescimoItem;
        ELSE 
          v_cab_valorProdutosBruto       := v_cab_valorProdutosBruto      - v_aj_valorProdutoServicoBrut;
          v_cab_valorProdutos            := v_cab_valorProdutos           - v_aj_valorProdutoServico;
          v_cab_valorDescontoProdutos    := v_cab_valorDescontoProdutos   - v_aj_valorDescontoItem;
          v_cab_valorAcrescimoProdutos   := v_cab_valorAcrescimoProdutos  - v_aj_valorAcrescimoItem;
        END IF;
        v_cab_valorFreteItem           := v_cab_valorFreteItem          - v_aj_valorFreteItem;
        v_cab_valorSeguroItem          := v_cab_valorSeguroItem         - v_aj_valorSeguroItem;
        v_cab_valorAdicFreteMarItem    := v_cab_valorAdicFreteMarItem   - v_aj_valorAdicFreteMarItem;
        v_cab_valorDespesasAduanItem   := v_cab_valorDespesasAduanItem  - v_aj_valorDespesasAduanItem;
        v_cab_valorBasePagamento       := v_cab_valorBasePagamento      - v_aj_valorBasePagamento;
        r_item_valorBasePagamento      := r_item_valorBasePagamento     - v_aj_valorBasePagamento;
        IF v_aj_usarPrecoAVista = 1 AND v_aj_geraFinanceiro = 1 AND v_aj_cfop_geraFinanceiro = 1 THEN
          v_cab_valorAVistaMinimo        := v_cab_valorAVistaMinimo - v_aj_valorProdutoServico + v_aj_valorDescontoTotal - v_aj_valorOutrasDespTotal;
        END IF;
        v_cab_valorFreteTotal          := v_cab_valorFreteTotal         - v_aj_valorFreteTotal;
        v_cab_valorSeguroTotal         := v_cab_valorSeguroTotal        - v_aj_valorSeguroTotal;
        v_cab_valorDescontoTotal       := v_cab_valorDescontoTotal      - v_aj_valorDescontoTotal;
        v_cab_valorOutrasDespTotal     := v_cab_valorOutrasDespTotal    - v_aj_valorOutrasDespTotal;
        v_cab_valorAdicFreteMarTotal   := v_cab_valorAdicFreteMarTotal  - v_aj_valorAdicFreteMarTotal;
        v_cab_valorDespesasAduanTotal  := v_cab_valorDespesasAduanTotal - v_aj_valorDespesasAduanTotal;
        v_cab_valorLiquidoItem         := v_cab_valorLiquidoItem        - v_aj_valorLiquidoItem;
        -- Total item original        
        ADD_CALCULA_TOTAIS_ITEM (
          v_cab_tipoPagamentoFrete,
          v_modDoc_diminuiDescontoPrUnit,
          v_modDoc_somaAcrescimosPrUnit,
          v_modDoc_somaFreteSeguroPrUnit,
          v_aj_quantidade,
          v_aj_quantidadeConvertida,
          v_aj_precoUnitarioBruto,
          v_aj_acrescimoUnitarioCompos,
          v_aj_precoUnitario,
          v_aj_valorDescontoItem,
          v_aj_valorAcrescimoItem,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          /* Retornos */
          v_aj_precoUnitario,
          v_aj_precoUnitarioConvertido,
          v_aj_valorProdutoServico,
          v_auxNumber,
          v_aj_valorTotalItem,
          v_aj_valorFreteTotal,
          v_aj_valorSeguroTotal,
          v_aj_valorDescontoTotal,
          v_aj_valorOutrasDespTotal,
          v_aj_valorAdicFreteMarTotal,
          v_aj_valorDespesasAduanTotal,
          v_auxNumber,
          v_auxNumber);
        v_aj_valorDescontoItem := 
          v_aj_valorDescontoItem
          + ROUND(
              CASE
                WHEN v_item_valorTotalItemComb > v_item_valorTotalItem
                THEN v_item_valorTotalItemComb - v_item_valorTotalItem
                ELSE 0
              END
              * v_aj_valorTotalItem / v_item_valorTotalItemComb
              + v_residuoRateioDescontoItem,2);
        v_residuoRateioDescontoItem :=
          CASE
            WHEN v_item_valorTotalItemComb > v_item_valorTotalItem
            THEN v_item_valorTotalItemComb - v_item_valorTotalItem
            ELSE 0
          END
          * v_aj_valorTotalItem / v_item_valorTotalItemComb
          + v_residuoRateioDescontoItem
          - ROUND(
              CASE
                WHEN v_item_valorTotalItemComb > v_item_valorTotalItem
                THEN v_item_valorTotalItemComb - v_item_valorTotalItem
                ELSE 0
              END
              * v_aj_valorTotalItem / v_item_valorTotalItemComb
              + v_residuoRateioDescontoItem,2);
        v_aj_valorAcrescimoItem :=
          v_aj_valorAcrescimoItem
          + ROUND(
              CASE
                WHEN v_item_valorTotalItem > v_item_valorTotalItemComb
                THEN v_item_valorTotalItem - v_item_valorTotalItemComb
                ELSE 0
              END
              * v_aj_valorTotalItem / v_item_valorTotalItemComb
              + v_residuoRateioAcrescimoItem,2);
        v_residuoRateioAcrescimoItem :=
          CASE
            WHEN v_item_valorTotalItem > v_item_valorTotalItemComb
            THEN v_item_valorTotalItem - v_item_valorTotalItemComb
            ELSE 0
          END
          * v_aj_valorTotalItem / v_item_valorTotalItemComb
          + v_residuoRateioAcrescimoItem
          - ROUND(
              CASE 
                WHEN v_item_valorTotalItem > v_item_valorTotalItemComb
                THEN v_item_valorTotalItem - v_item_valorTotalItemComb
                ELSE 0
              END
              * v_aj_valorTotalItem / v_item_valorTotalItemComb
              + v_residuoRateioAcrescimoItem,2);
        -- Total item novo
        ADD_CALCULA_TOTAIS_ITEM (
          v_cab_tipoPagamentoFrete,
          v_modDoc_diminuiDescontoPrUnit,
          v_modDoc_somaAcrescimosPrUnit,
          v_modDoc_somaFreteSeguroPrUnit,
          v_aj_quantidade,
          v_aj_quantidadeConvertida,
          v_aj_precoUnitarioBruto,
          v_aj_acrescimoUnitarioCompos,
          v_aj_precoUnitario,
          v_aj_valorDescontoItem,
          v_aj_valorAcrescimoItem,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          /* Retornos */
          v_aj_precoUnitario,
          v_aj_precoUnitarioConvertido,
          v_aj_valorProdutoServico,
          v_auxNumber,
          v_aj_valorTotalItem,
          v_aj_valorFreteTotal,
          v_aj_valorSeguroTotal,
          v_aj_valorDescontoTotal,
          v_aj_valorOutrasDespTotal,
          v_aj_valorAdicFreteMarTotal,
          v_aj_valorDespesasAduanTotal,
          v_auxNumber,
          v_auxNumber);
        IF v_aj_servico = 1 THEN
          v_cab_valorServicosBruto       := v_cab_valorServicosBruto      + v_aj_valorProdutoServicoBrut;
          v_cab_valorServicos            := v_cab_valorServicos           + v_aj_valorProdutoServico;
          v_cab_valorDescontoServicos    := v_cab_valorDescontoServicos   + v_aj_valorDescontoItem;
          v_cab_valorAcrescimoServicos   := v_cab_valorAcrescimoServicos  + v_aj_valorAcrescimoItem;
        ELSE 
          v_cab_valorProdutosBruto       := v_cab_valorProdutosBruto      + v_aj_valorProdutoServicoBrut;
          v_cab_valorProdutos            := v_cab_valorProdutos           + v_aj_valorProdutoServico;
          v_cab_valorDescontoProdutos    := v_cab_valorDescontoProdutos   + v_aj_valorDescontoItem;
          v_cab_valorAcrescimoProdutos   := v_cab_valorAcrescimoProdutos  + v_aj_valorAcrescimoItem;
        END IF;
        v_cab_valorFreteItem           := v_cab_valorFreteItem          + v_aj_valorFreteItem;
        v_cab_valorSeguroItem          := v_cab_valorSeguroItem         + v_aj_valorSeguroItem;
        v_cab_valorAdicFreteMarItem    := v_cab_valorAdicFreteMarItem   + v_aj_valorAdicFreteMarItem;
        v_cab_valorDespesasAduanItem   := v_cab_valorDespesasAduanItem  + v_aj_valorDespesasAduanItem;
        v_cab_valorBasePagamento       := v_cab_valorBasePagamento      + v_aj_valorBasePagamento;
        r_item_valorBasePagamento      := r_item_valorBasePagamento     + v_aj_valorBasePagamento;
        IF v_aj_usarPrecoAVista = 1 AND v_aj_geraFinanceiro = 1 AND v_aj_cfop_geraFinanceiro = 1 THEN
          v_cab_valorAVistaMinimo        := v_cab_valorAVistaMinimo + v_aj_valorProdutoServico - v_aj_valorDescontoTotal + v_aj_valorOutrasDespTotal;
        END IF;
        v_cab_valorFreteTotal          := v_cab_valorFreteTotal         + v_aj_valorFreteTotal;
        v_cab_valorSeguroTotal         := v_cab_valorSeguroTotal        + v_aj_valorSeguroTotal;
        v_cab_valorDescontoTotal       := v_cab_valorDescontoTotal      + v_aj_valorDescontoTotal;
        v_cab_valorOutrasDespTotal     := v_cab_valorOutrasDespTotal    + v_aj_valorOutrasDespTotal;
        v_cab_valorAdicFreteMarTotal   := v_cab_valorAdicFreteMarTotal  + v_aj_valorAdicFreteMarTotal;
        v_cab_valorDespesasAduanTotal  := v_cab_valorDespesasAduanTotal + v_aj_valorDespesasAduanTotal;
        v_cab_valorLiquidoItem         := v_cab_valorLiquidoItem        + v_aj_valorLiquidoItem;
        r_calcularImpostos      := 1;
        UPDATE MOORCAMENTOXITENS SET
          acrescimoUnitarioComposicao   = v_aj_acrescimoUnitarioCompos,
          precoUnitario                 = v_aj_precoUnitario,
          precoUnitarioConvertido       = v_aj_precoUnitarioConvertido,
          valorProdutoServico           = v_aj_valorProdutoServico,
          percDescontoItem              = CASE WHEN v_aj_valorProdutoServicoBrut = 0 THEN 0 ELSE ROUND(100* v_aj_valorDescontoItem / v_aj_valorProdutoServicoBrut,4) END,
          valorDescontoItem             = v_aj_valorDescontoItem,
          percAcrescimoItem              = CASE WHEN v_aj_valorProdutoServicoBrut = 0 THEN 0 ELSE ROUND(100* v_aj_valorAcrescimoItem / v_aj_valorProdutoServicoBrut,4) END,
          valorAcrescimoItem            = v_aj_valorAcrescimoItem,
          valorFreteTotal               = v_aj_valorFreteTotal,
          valorSeguroTotal              = v_aj_valorSeguroTotal,
          valorDescontoTotal            = v_aj_valorDescontoTotal,
          valorOutrasDespesasTotal      = v_aj_valorOutrasDespTotal,
          valorAdicFreteMarinhaMerTotal = v_aj_valorAdicFreteMarTotal,
          valorDespesasAduaneirasTotal  = v_aj_valorDespesasAduanTotal
        WHERE idItemOrcamento = v_aj_idItemOrcamento;
      END LOOP;
    END IF;
  ELSE
    r_item_valorBasePagamento      := 0;
    ADD_ITEM_OPERACAO_FISCAL_BUSCA (
      1,
      v_cab_origemDocumento,
      v_cab_tipoDocumento,
      v_cab_entradaSaida,
      0,
      v_cab_finalidadeNota,
      v_cab_estabelecimento,
      0,
      v_cab_dataEmissao,
      v_cab_pessoa,
      0,
      v_cab_enderecoEntregaPessoa,
      v_cab_localDestinoOperacao,
      v_cab_indicadorConsumidorFinal,
      v_modDoc_movimentaEstoque,
      v_modDoc_geraFinanceiro,
      v_munEndEst_uf,
      v_pess_indicadorInscricaoEstad,
      v_endPess_enderecoPessoa,
      v_munEndPess_uf,
      v_munEndEntr_uf,
      p_item_operacaoFiscal,
      v_gradProd_produto,
      v_prod_tipoProduto,
      v_prod_origemMercadoria,
      v_prod_idNcm,
      v_prod_listaServicos,
      0,
      0,
      0,
      1,
      ' ',
      0,
      1,
      0,
      1,
      0,
      1,
      0,
      1,
      0,
      1,
      0,
      1,
      0,
      1,
      0,
      1,
      0,
      '  ',
      0,
      0,
      1,
      '  ',
      0,
      0,
      1,
      0,
      0,
      1,
      '  ',
      0,
      0,
      1,
      0,
      0,
      1,
      '   ',
      0,
      1,
      '  ',
      ' ',
      0,
      0,
      0,
      '  ',
      0,
      1,
      ' ',
      0,
      0,
      0,
      1,
      0,
      0,
      0,
      0,
      '  ',
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      1,
      0,
      0,
      0,
      1,
      0,
      0,
      0,
      0,
      1,
      0,
      0,
      0,
      /* Retornos */
      v_auxNumber,
      v_item_movimentaEstoque,
      v_item_geraFinanceiro,
      v_item_cfop,
      v_item_indicadorISSQN,
      v_item_aliquotaISSQN,
      v_item_aliquotaIRRF,
      v_item_aliquotaINSS,
      v_item_retencaoPIS,
      v_item_retencaoCOFINS,
      v_item_retencaoCSLL,
      v_item_aliquotaII,
      v_item_aliquotaIOF,
      v_item_codigoEnquadramentoIPI,
      v_item_stIPI,
      v_item_aliquotaIPI,
      v_item_valorAliquotaIPI,
      v_item_stPIS,
      v_item_aliquotaPIS,
      v_item_valorAliquotaPIS,
      v_item_aliquotaPISST,
      v_item_valorAliquotaPISST,
      v_item_stCOFINS,
      v_item_aliquotaCOFINS,
      v_item_valorAliquotaCOFINS,
      v_item_aliquotaCOFINSST,
      v_item_valorAliquotaCOFINSST,
      v_item_stSimplesNacional,
      v_item_creditoSimplesNacional,
      v_item_stICMS,
      v_item_modalBaseCalcICMS,
      v_item_reducaoBaseICMS,
      v_item_aliquotaICMS,
      v_item_diferimentoICMS,
      v_item_motivoDesoneracaoICMS,
      v_auxNumber,
      v_item_modalBaseCalcICMSST,
      v_item_margemValorAdicST,
      v_item_reducaoBaseST,
      v_item_aliquotaICMSST,
      v_item_aliquotaSTSuportConsFin,
      v_item_reducaoBaseICMSEfetivo,
      v_item_aliquotaICMSEfetivo,
      v_auxVarchar,
      v_auxNumber,
      v_auxNumber,
      v_auxNumber,
      v_auxNumber,
      v_auxNumber,
      v_auxNumber,
      v_item_aliquotaICMSUFDestinat,
      v_item_aliquotaICMSInterestad,
      v_item_partilhaICMSInterestad,
      v_item_aliquotaFCP,
      v_item_aliquotaFCPST,
      v_item_aliquotaFCPSTAnteriorm,
      v_item_aliquotaFCPUFDestinat,
      v_item_aliquotaEstImpFederais,
      v_item_aliquotaEstImpEstaduais,
      v_item_aliquotaEstImpMunicipai);
      ADD_CALCULA_TOTAIS_ITEM (
        v_cab_tipoPagamentoFrete,
        v_modDoc_diminuiDescontoPrUnit,
        v_modDoc_somaAcrescimosPrUnit,
        v_modDoc_somaFreteSeguroPrUnit,
        p_item_quantidade,
        p_item_quantidadeConvertida,
        p_item_precoUnitarioBruto,
        p_item_acrescimoUnitarioCompos,
        v_item_precoUnitario,
        p_item_valorDescontoItem,
        p_item_valorAcrescimoItem,
        p_item_valorFreteItem,
        p_item_valorSeguroItem,
        p_item_valorAdicFreteMarItem,
        p_item_valorDespesasAduanItem,
        p_item_valorFreteGeral,
        p_item_valorSeguroGeral,
        p_item_valorDescontoGeral,
        p_item_valorOutrasDespGeral,
        p_item_valorAdicFreteMarGeral,
        p_item_valorDespesasAduanGeral,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        /* Retornos */
        v_item_precoUnitario,
        v_item_precoUnitarioConvertido,
        v_item_valorProdutoServico,
        v_auxNumber,
        v_item_valorTotalItem,
        v_item_valorFreteTotal,
        v_item_valorSeguroTotal,
        v_item_valorDescontoTotal,
        v_item_valorOutrasDespTotal,
        v_item_valorAdicFreteMarTotal,
        v_item_valorDespesasAduanTotal,
        v_auxNumber,
        v_auxNumber);
    ADD_CALCULA_IMPOSTOS_ITEM (
      p_config_64_casasDecSaidas,
      p_config_209_filtrarGrupoEcon,
      p_config_330_redIcmsBasePisCof,
      p_config_362_calcCustoPorGrade,
      v_cab_entradaSaida,
      0,
      v_cab_estabelecimento,
      0,
      v_cab_dataEmissao,
      v_cab_pessoa,
      v_cab_localDestinoOperacao,
      v_cab_indicadorConsumidorFinal,
      v_cab_tipoPagamentoFrete,
      v_pess_indicadorInscricaoEstad,
      p_item_pessoaParticipante,
      p_item_quantidade,
      p_item_precoPautaTabelado,
      p_item_valorProdutoServico,
      v_item_valorFreteTotal,
      v_item_valorSeguroTotal,
      v_item_valorDescontoTotal,
      v_item_valorOutrasDespTotal,
      v_item_valorAdicFreteMarTotal,
      v_item_valorDespesasAduanTotal,
      v_item_cfop,
      1,
      v_item_indicadorISSQN,
      v_item_aliquotaISSQN,
      0,
      0,
      1,
      v_item_aliquotaIRRF,
      0,
      0,
      1,
      v_item_aliquotaINSS,
      0,
      0,
      1,
      v_item_retencaoPIS,
      0,
      0,
      1,
      v_item_retencaoCOFINS,
      0,
      0,
      1,
      v_item_retencaoCSLL,
      0,
      0,
      1,
      v_item_aliquotaII,
      0,
      0,
      1,
      v_item_aliquotaIOF,
      0,
      0,
      1,
      v_item_aliquotaIPI,
      v_item_valorAliquotaIPI,
      0,
      0,
      0,
      1,
      v_item_aliquotaPIS,
      v_item_valorAliquotaPIS,
      0,
      0,
      1,
      v_item_aliquotaPISST,
      v_item_valorAliquotaPISST,
      0,
      0,
      1,
      v_item_aliquotaCOFINS,
      v_item_valorAliquotaCOFINS,
      0,
      0,
      1,
      v_item_aliquotaCOFINSST,
      v_item_valorAliquotaCOFINSST,
      0,
      0,
      1,
      v_item_stSimplesNacional,
      v_item_creditoSimplesNacional,
      0,
      0,
      1,
      v_item_stICMS,
      v_item_modalBaseCalcICMS,
      v_item_reducaoBaseICMS,
      v_item_aliquotaICMS,
      v_item_diferimentoICMS,
      0,
      0,
      0,
      0,
      0,
      1,
      v_item_modalBaseCalcICMSST,
      v_item_margemValorAdicST,
      v_item_reducaoBaseST,
      v_item_aliquotaICMSST,
      0,
      0,
      1,
      0,
      0,
      0,
      v_item_reducaoBaseICMSEfetivo,
      v_item_aliquotaICMSEfetivo,
      0,
      0,
      0,
      '  ',
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      1,
      v_item_aliquotaICMSUFDestinat,
      v_item_aliquotaICMSInterestad,
      v_item_partilhaICMSInterestad,
      0,
      0,
      0,
      0,
      1,
      v_item_aliquotaFCP,
      0,
      0,
      v_item_aliquotaFCPST,
      0,
      0,
      v_item_aliquotaFCPSTAnteriorm,
      0,
      0,
      v_item_aliquotaFCPUFDestinat,
      0,
      0,
      1,
      v_item_aliquotaEstImpFederais,
      v_item_aliquotaEstImpEstaduais,
      v_item_aliquotaEstImpMunicipai,
      0,
      0,
      0,
      0,
      v_gradProd_produto,
      v_gradProd_cor,
      v_gradProd_tamanho,
      v_prod_controleEstoque,
      v_prod_tipoProduto,
      /* Retornos */
      v_item_baseISSQN,
      v_item_valorISSQN,
      v_item_baseIRRF,
      v_item_valorIRRF,
      v_item_baseINSS,
      v_item_valorINSS,
      v_item_baseRetPIS,
      v_item_valorRetPIS,
      v_item_baseRetCOFINS,
      v_item_valorRetCOFINS,
      v_item_baseRetCSLL,
      v_item_valorRetCSLL,
      v_item_baseII,
      v_item_valorII,
      v_item_baseIOF,
      v_item_valorIOF,
      v_item_baseIPI,
      v_item_valorIPI,
      v_item_basePIS,
      v_item_valorPIS,
      v_item_basePISST,
      v_item_valorPISST,
      v_item_baseCOFINS,
      v_item_valorCOFINS,
      v_item_baseCOFINSST,
      v_item_valorCOFINSST,
      v_item_baseCreditoSimplesNac,
      v_item_valorCreditoSimplesNac,
      v_item_baseICMS,
      v_item_valorICMSOperacao,
      v_item_valorICMSDiferido,
      v_item_valorICMS,
      v_item_valorICMSDesoneracao,
      v_item_baseICMSST,
      v_item_valorICMSST,
      v_item_baseICMSSTAnteriormente,
      v_item_valorICMSSTAnteriorment,
      v_item_valorICMSProprioSubstit,
      v_item_baseICMSEfetivo,
      v_item_valorICMSEfetivo,
      v_auxNumber,
      v_auxNumber,
      v_auxNumber,
      v_auxNumber,
      v_auxNumber,
      v_item_baseICMSUFDestinatario,
      v_item_valorICMSUFDestinatario,
      v_item_baseICMSUFRemetente,
      v_item_valorICMSUFRemetente,
      v_item_baseFCP,
      v_item_valorFCP,
      v_item_baseFCPST,
      v_item_valorFCPST,
      v_item_baseFCPSTAnteriormente,
      v_item_valorFCPSTAnteriormente,
      v_item_baseFCPUFDestinatario,
      v_item_valorFCPUFDestinatario,
      v_item_baseEstimadaImpostos,
      v_item_valorEstImpFederais,
      v_item_valorEstImpEstaduais,
      v_item_valorEstImpMunicipais);
    ADD_CALCULA_VALOR_LIQUIDO (
      0,
      v_cab_tipoPagamentoFrete,
      v_item_geraFinanceiro,
      p_item_valorProdutoServico,
      0,
      0,
      0,
      v_item_valorFreteTotal,
      v_item_valorSeguroTotal,
      v_item_valorDescontoTotal,
      v_item_valorOutrasDespTotal,
      v_item_valorIRRF,
      v_item_valorINSS,
      v_item_valorRetPIS,
      v_item_valorRetCOFINS,
      v_item_valorRetCSLL,
      v_item_valorII,
      v_item_valorIOF,
      v_item_valorIPI,
      0,
      v_item_valorICMSST,
      0,
      0,
      0,
      /* Retornos */
      r_item_valorBasePagamento,
      v_item_valorImpostosSomaPag,
      v_item_valorImpostosDiminuiPag,
      v_item_valorLiquidoItem);
    IF p_config_378_calcularVolumes = 1 THEN
      v_cab_quantidadeVolume         := v_cab_quantidadeVolume + TRUNC(CASE WHEN p_item_controleQuantidade = 1 AND p_item_loteMultiplo <> 0 THEN p_item_quantidade / p_item_loteMultiplo ELSE p_item_quantidadeConvertida END,0);
    END IF;
    v_cab_quantidade               := v_cab_quantidade + p_item_quantidadeConvertida;
    v_cab_pesoLiquido              := v_cab_pesoLiquido + p_item_pesoLiquido;
    v_cab_pesoBruto                := v_cab_pesoBruto + p_item_pesoBruto;
    IF p_item_servico = 1 THEN
      v_cab_valorServicosBruto       := v_cab_valorServicosBruto + p_item_valorProdutoServicoBrut;
      v_cab_valorServicos            := v_cab_valorServicos + p_item_valorProdutoServico;
      v_cab_valorDescontoServicos    := v_cab_valorDescontoServicos + p_item_valorDescontoItem;
      v_cab_valorAcrescimoServicos   := v_cab_valorAcrescimoServicos + p_item_valorAcrescimoItem;
    ELSE 
      v_cab_valorProdutosBruto       := v_cab_valorProdutosBruto + p_item_valorProdutoServicoBrut;
      v_cab_valorProdutos            := v_cab_valorProdutos + p_item_valorProdutoServico;
      v_cab_valorDescontoProdutos    := v_cab_valorDescontoProdutos + p_item_valorDescontoItem;
      v_cab_valorAcrescimoProdutos   := v_cab_valorAcrescimoProdutos + p_item_valorAcrescimoItem;
    END IF;
    v_cab_valorFreteItem           := v_cab_valorFreteItem + p_item_valorFreteItem;
    v_cab_valorSeguroItem          := v_cab_valorSeguroItem + p_item_valorSeguroItem;
    v_cab_valorAdicFreteMarItem    := v_cab_valorAdicFreteMarItem + p_item_valorAdicFreteMarItem;
    v_cab_valorDespesasAduanItem   := v_cab_valorDespesasAduanItem + p_item_valorDespesasAduanItem;
    v_cab_valorFreteGeral          := v_cab_valorFreteGeral + p_item_valorFreteGeral;
    v_cab_valorSeguroGeral         := v_cab_valorSeguroGeral + p_item_valorSeguroGeral;
    v_cab_valorDescontoGeral       := v_cab_valorDescontoGeral + v_item_valorDescontoGeral;
    v_cab_valorOutrasDespGeral     := v_cab_valorOutrasDespGeral + p_item_valorOutrasDespGeral;
    v_cab_valorAdicFreteMarGeral   := v_cab_valorAdicFreteMarGeral + p_item_valorAdicFreteMarGeral;
    v_cab_valorDespesasAduanGeral  := v_cab_valorDespesasAduanGeral + p_item_valorDespesasAduanGeral;
    v_cab_valorBasePagamento       := v_cab_valorBasePagamento + r_item_valorBasePagamento;
    IF p_item_usarPrecoAVista = 1 AND v_item_geraFinanceiro = 1 THEN
      v_cab_valorAVistaMinimo        := v_cab_valorAVistaMinimo + p_item_valorProdutoServico - v_item_valorDescontoTotal + v_item_valorOutrasDespTotal;
    END IF;
    IF v_cab_valorFreteTotal = 0 AND v_item_valorFreteTotal <> 0 AND NOT(p_person_190_modeloFrete IS NULL) AND p_person_190_modeloFrete <> ' ' THEN
      v_cab_modalidadeFrete          := p_person_190_modeloFrete;
    END IF;    
    v_cab_valorFreteTotal          := v_cab_valorFreteTotal + v_item_valorFreteTotal;
    v_cab_valorSeguroTotal         := v_cab_valorSeguroTotal + v_item_valorSeguroTotal;
    v_cab_valorDescontoTotal       := v_cab_valorDescontoTotal + v_item_valorDescontoTotal;
    v_cab_valorOutrasDespTotal     := v_cab_valorOutrasDespTotal + v_item_valorOutrasDespTotal;
    v_cab_valorAdicFreteMarTotal   := v_cab_valorAdicFreteMarTotal + v_item_valorAdicFreteMarTotal;
    v_cab_valorDespesasAduanTotal  := v_cab_valorDespesasAduanTotal + v_item_valorDespesasAduanTotal;
    v_cab_valorImpostosSomaPag     := v_cab_valorImpostosSomaPag + v_item_valorImpostosSomaPag;
    v_cab_valorImpostosDiminuiPag  := v_cab_valorImpostosDiminuiPag + v_item_valorImpostosDiminuiPag;
    v_cab_valorLiquidoItem         := v_cab_valorLiquidoItem + v_item_valorLiquidoItem;
    SELECT COALESCE (MAX (sequencia),0) + 1
    INTO v_item_sequencia
    FROM MOORCAMENTOXITENS
    WHERE orcamento = p_cab_orcamento;
    ADD_ORCAMENTO_ITEM_GRAVA (
      p_uniqueMachineID,
      p_estabelecimentoAtivo,
      p_config_198_obs_add_referenc,
      p_config_199_obs_add_caractA,
      p_config_200_obs_add_caractB,
      p_config_201_obs_add_caractC,
      p_config_202_obs_add_caractD,
      p_config_203_obs_add_caractE,
      p_tempComp_nomeTempComposicao,
      p_tempComp_sequencia,
      p_cab_orcamento,
      v_cab_modeloDocumento,
      v_cab_entradaSaida,
      v_cab_estabelecimento,
      v_cab_dataEmissao,
      v_cab_dataEntrega,
      v_etOrc_situacaoOrcamento,
      0,
      v_item_sequencia,
      0,
      0,
      p_item_vendedor,
      0,
      p_item_gradeProduto,
      p_item_servico,
      p_item_atividadeServico,
      'A',
      0,
      p_item_idFormulaTinta,
      p_item_personalizacao,
      0,
      p_item_idLoteEstoque,
      p_item_vinculoItemDocumento,
      p_item_operacaoFiscal,
      0,
      v_item_movimentaEstoque,
      v_item_geraFinanceiro,
      0,
      p_item_localEstoque,
      0,
      p_item_pessoaParticipante,
      p_item_dataEntrega,
      p_item_controleQuantidade,
      p_item_unidadeMedidaConversao,
      p_item_conversorQuantidade,
      p_item_loteMinimo,
      p_item_loteMultiplo,
      p_item_altura,
      p_item_largura,
      p_item_comprimento,
      p_item_pecas,
      p_item_quantidade,
      p_item_quantidadeConvertida,
      0,
      p_item_quantidade,
      p_item_controleEntrega,
      1,
      p_item_pesoLiquido,
      p_item_pesoBruto,
      p_item_tipoPreco,
      p_item_tabelaPreco,
      p_item_precoSugestaoAPrazo,
      p_item_precoSugestaoAVista,
      p_item_precoDesconto,
      p_item_precoMinimo,
      p_item_usarPrecoAVista,
      p_item_precoPautaTabelado,
      p_item_precoUnitarioBruto,
      p_item_acrescimoUnitarioCompos,
      v_item_precoUnitario,
      p_item_precoUnitarioConvertido,
      p_item_valorProdutoServicoBrut,
      v_item_valorProdutoServico,
      p_item_percDescontoItem,
      p_item_valorDescontoItem,
      p_item_percAcrescimoItem,
      p_item_valorAcrescimoItem,
      p_item_valorFreteItem,
      p_item_valorSeguroItem,
      p_item_valorAdicFreteMarItem,
      p_item_valorDespesasAduanItem,
      p_item_valorFreteGeral,
      p_item_valorSeguroGeral,
      v_item_valorDescontoGeral,
      p_item_valorOutrasDespGeral,
      p_item_valorAdicFreteMarGeral,
      p_item_valorDespesasAduanGeral,
      r_item_valorBasePagamento,
      0,
      0,
      0,
      v_item_valorFreteTotal,
      v_item_valorSeguroTotal,
      v_item_valorDescontoTotal,
      v_item_valorOutrasDespTotal,
      v_item_valorAdicFreteMarTotal,
      v_item_valorDespesasAduanTotal,
      v_item_cfop,
      v_item_indicadorISSQN,
      v_item_aliquotaISSQN,
      v_item_baseISSQN,
      v_item_valorISSQN,
      v_item_aliquotaIRRF,
      v_item_baseIRRF,
      v_item_valorIRRF,
      v_item_aliquotaINSS,
      v_item_baseINSS,
      v_item_valorINSS,
      v_item_retencaoPIS,
      v_item_baseRetPIS,
      v_item_valorRetPIS,
      v_item_retencaoCOFINS,
      v_item_baseRetCOFINS,
      v_item_valorRetCOFINS,
      v_item_retencaoCSLL,
      v_item_baseRetCSLL,
      v_item_valorRetCSLL,
      v_item_aliquotaII,
      v_item_baseII,
      v_item_valorII,
      v_item_aliquotaIOF,
      v_item_baseIOF,
      v_item_valorIOF,
      v_item_codigoEnquadramentoIPI,
      v_item_stIPI,
      v_item_aliquotaIPI,
      v_item_valorAliquotaIPI,
      v_item_baseIPI,
      v_item_valorIPI,
      v_item_stPIS,
      v_item_aliquotaPIS,
      v_item_valorAliquotaPIS,
      v_item_basePIS,
      v_item_valorPIS,
      v_item_aliquotaPISST,
      v_item_valorAliquotaPISST,
      v_item_basePISST,
      v_item_valorPISST,
      v_item_stCOFINS,
      v_item_aliquotaCOFINS,
      v_item_valorAliquotaCOFINS,
      v_item_baseCOFINS,
      v_item_valorCOFINS,
      v_item_aliquotaCOFINSST,
      v_item_valorAliquotaCOFINSST,
      v_item_baseCOFINSST,
      v_item_valorCOFINSST,
      v_item_stSimplesNacional,
      v_item_creditoSimplesNacional,
      v_item_baseCreditoSimplesNac,
      v_item_valorCreditoSimplesNac,
      v_item_stICMS,
      v_item_modalBaseCalcICMS,
      v_item_reducaoBaseICMS,
      v_item_aliquotaICMS,
      v_item_diferimentoICMS,
      v_item_motivoDesoneracaoICMS,
      v_item_baseICMS,
      v_item_valorICMSOperacao,
      v_item_valorICMSDiferido,
      v_item_valorICMS,
      v_item_valorICMSDesoneracao,
      v_item_modalBaseCalcICMSST,
      v_item_margemValorAdicST,
      v_item_reducaoBaseST,
      v_item_aliquotaICMSST,
      v_item_aliquotaSTSuportConsFin,
      v_item_baseICMSST,
      v_item_valorICMSST,
      v_item_baseICMSSTAnteriormente,
      v_item_valorICMSSTAnteriorment,
      v_item_valorICMSProprioSubstit,
      v_item_reducaoBaseICMSEfetivo,
      v_item_aliquotaICMSEfetivo,
      v_item_baseICMSEfetivo,
      v_item_valorICMSEfetivo,
      v_item_aliquotaICMSUFDestinat,
      v_item_aliquotaICMSInterestad,
      v_item_partilhaICMSInterestad,
      v_item_baseICMSUFDestinatario,
      v_item_valorICMSUFDestinatario,
      v_item_baseICMSUFRemetente,
      v_item_valorICMSUFRemetente,
      v_item_aliquotaFCP,
      v_item_baseFCP,
      v_item_valorFCP,
      v_item_aliquotaFCPST,
      v_item_baseFCPST,
      v_item_valorFCPST,
      v_item_aliquotaFCPSTAnteriorm,
      v_item_baseFCPSTAnteriormente,
      v_item_valorFCPSTAnteriormente,
      v_item_aliquotaFCPUFDestinat,
      v_item_baseFCPUFDestinatario,
      v_item_valorFCPUFDestinatario,
      v_item_aliquotaEstImpFederais,
      v_item_aliquotaEstImpEstaduais,
      v_item_aliquotaEstImpMunicipai,
      v_item_baseEstimadaImpostos,
      v_item_valorEstImpFederais,
      v_item_valorEstImpEstaduais,
      v_item_valorEstImpMunicipais,
      v_item_valorImpostosSomaPag,
      v_item_valorImpostosDiminuiPag,
      v_item_valorLiquidoItem,
      p_item_observacoesDigitadas,
      /* Retornos */
      r_idItemOrcamento);    
    IF v_modDoc_habilitaAmbiente = 1 THEN
      MERGE INTO MOORCAMENTOXAMBIENTES a USING (
        SELECT
          r_idItemOrcamento      idItemOrcamento,
          p_item_ambiente        ambiente,
          p_item_amb_observacoes observacoes
        FROM DUAL
      ) b ON (a.idItemOrcamento = b.idItemOrcamento)
      WHEN MATCHED THEN
        UPDATE SET
          a.ambiente    = b.ambiente,
          a.observacoes = b.observacoes
      WHEN NOT MATCHED THEN
        INSERT (
          idItemOrcamento,
          ambiente,
          observacoes)
        VALUES (
          b.idItemOrcamento,
          b.ambiente,
          b.observacoes);
    END IF;
    IF p_idItemOrcamentoReferenciado > 0 THEN
      ADD_ORCAMENTO_ITEM_ORC_GRAVA (
        p_estabelecimentoAtivo,
        r_idItemOrcamento,
        p_idItemOrcamentoReferenciado,
        p_item_quantidade);
    ELSE
      IF p_tempComp_nomeTempComposicao <> ' ' THEN
        ADD_ORCAMENTO_ITEM_COMP_TEMP (
          p_uniqueMachineID,
          p_estabelecimentoAtivo,
          p_tempComp_nomeTempComposicao,
          p_tempComp_sequencia,
          r_idItemOrcamento);
      END IF;
    END IF;
    IF p_idItemDocTransferencia > 0 THEN
      ADD_ORCAMENTO_ITEM_TRANS_GRAVA (
        p_estabelecimentoAtivo,
        v_cab_entradaSaida,
        p_idItemDocTransferencia,
        r_idItemOrcamento,
        p_item_quantidade);
    END IF;
    v_idEnderecoEstoqueOrcamento := 0;
    IF p_idEnderecoEstoque > 0 THEN
      ADD_ORCAMENTO_ITEM_ENDER_GRAVA (
        p_estabelecimentoAtivo,
        0,
        r_idItemOrcamento,
        p_idEnderecoEstoque,
        p_item_quantidade,
        p_item_quantidade,
        ' ',
        /* Retornos */
        v_idEnderecoEstoqueOrcamento);
    END IF;
    IF p_idNumeroSerie > 0 THEN
      ADD_ORCAMENTO_ITEM_N_SER_GRAVA (
        p_estabelecimentoAtivo,
        0,
        r_idItemOrcamento,
        v_idEnderecoEstoqueOrcamento,
        p_item_gradeProduto,
        p_idNumeroSerie,
        0,
        /* Retornos */
        v_auxNumber);
    END IF;
    IF p_item_servico = 1 AND p_item_atividadeServico > 0 AND v_ativServ_habilitaAtivPrev = 1 THEN
      ADD_ORCAMENTO_ITEM_PREV_INSERE (
        p_usuarioLogado,
        p_estabelecimentoAtivo,
        r_idItemOrcamento,
        p_item_atividadeServico,
        v_ativServ_validoPrevisto);
    END IF;
  END IF;
  IF p_manterFinanceiro = 0
    AND (v_cab_valorFreteGeral <> 0
      OR v_cab_valorSeguroGeral <> 0
      OR v_cab_valorDescontoGeral <> 0
      OR v_cab_valorOutrasDespGeral <> 0
      OR v_cab_valorAdicFreteMarGeral <> 0
      OR v_cab_valorDespesasAduanGeral <> 0) THEN
    r_calcularImpostos := 1;
  END IF;
  UPDATE MOORCAMENTOS SET
    modalidadeFrete               = v_cab_modalidadeFrete,
    ultimoVendedorItem            = v_cab_ultimoVendedorItem,
    quantidadeVolume              = v_cab_quantidadeVolume,
    quantidade                    = v_cab_quantidade,
    pesoLiquido                   = v_cab_pesoLiquido,
    pesoBruto                     = v_cab_pesoBruto,
    valorProdutosBruto            = v_cab_valorProdutosBruto,
    valorProdutos                 = v_cab_valorProdutos,
    valorDescontoProdutos         = v_cab_valorDescontoProdutos,
    valorAcrescimoProdutos        = v_cab_valorAcrescimoProdutos,
    valorServicosBruto            = v_cab_valorServicosBruto,
    valorServicos                 = v_cab_valorServicos,
    valorDescontoServicos         = v_cab_valorDescontoServicos,
    valorAcrescimoServicos        = v_cab_valorAcrescimoServicos,
    valorFreteItem                = v_cab_valorFreteItem,
    valorSeguroItem               = v_cab_valorSeguroItem,
    valorAdicFreteMarinhaMerItem  = v_cab_valorAdicFreteMarItem,
    valorDespesasAduaneirasItem   = v_cab_valorDespesasAduanItem,
    valorFreteGeral               = v_cab_valorFreteGeral,
    valorSeguroGeral              = v_cab_valorSeguroGeral,
    valorDescontoGeral            = v_cab_valorDescontoGeral,
    valorOutrasDespesasGeral      = v_cab_valorOutrasDespGeral,
    valorAdicFreteMarinhaMerGeral = v_cab_valorAdicFreteMarGeral,
    valorDespesasAduaneirasGeral  = v_cab_valorDespesasAduanGeral,
    condicaoPagamento             = v_cab_condicaoPagamento,
    numeroParcelas                = v_cab_numeroParcelas,
    somaPrazoParcelas             = v_cab_somaPrazoParcelas,
    valorXPrazoParcelas           = v_cab_valorXPrazoParcelas,
    prazoMedio                    = v_cab_prazoMedio,
    prazoMedioPonderado           = v_cab_prazoMedioPonderado,
    valorBasePagamento            = v_cab_valorBasePagamento,
    valorAVistaMinimo             = v_cab_valorAVistaMinimo,
    valorEntradaMinima            = v_cab_valorEntradaMinima,
    valorAVistaEntrada            = v_cab_valorAVistaEntrada,
    valorPagamentoBruto           = v_cab_valorPagamentoBruto,
    valorDescontoPagamento        = v_cab_valorDescontoPagamento,
    valorOutrasDespesasPagamento  = v_cab_valorOutrasDespPag,
    valorJurosPagamento           = v_cab_valorJurosPagamento,
    valorPagamentoLiquido         = v_cab_valorPagamentoLiquido,
    valorTroco                    = v_cab_valorTroco,
    valorFreteTotal               = v_cab_valorFreteTotal,
    valorSeguroTotal              = v_cab_valorSeguroTotal,
    valorDescontoTotal            = v_cab_valorDescontoTotal,
    valorOutrasDespesasTotal      = v_cab_valorOutrasDespTotal,
    valorAdicFreteMarinhaMerTotal = v_cab_valorAdicFreteMarTotal,
    valorDespesasAduaneirasTotal  = v_cab_valorDespesasAduanTotal,
    valorImpostosSomaPagamento    = v_cab_valorImpostosSomaPag,
    valorImpostosDiminuiPagamento = v_cab_valorImpostosDiminuiPag,
    valorLiquidoItem              = v_cab_valorLiquidoItem
  WHERE orcamento = p_cab_orcamento;
END ADD_ORCAMENTO_ITEM_INSERE;

/

UPDATE SIACOESCAMPO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIACOESCAMPO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIACOESCAMPO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIAJUSTESCARTOES set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIAJUSTESCARTOES set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIAJUSTESCARTOES set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIALINHAMENTOSCAMPO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIALINHAMENTOSCAMPO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIALINHAMENTOSCAMPO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIAUTOMOTIVAPREDIAL set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIAUTOMOTIVAPREDIAL set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIAUTOMOTIVAPREDIAL set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIAVISARBLOQUEAR set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIAVISARBLOQUEAR set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIAVISARBLOQUEAR set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIBANCOS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIBANCOS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIBANCOS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIBANDEIRASCARTAODEBCRED set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIBANDEIRASCARTAODEBCRED set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIBANDEIRASCARTAODEBCRED set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIBANDEIRASCARTAONFE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIBANDEIRASCARTAONFE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIBANDEIRASCARTAONFE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIBASEHORIZONTALPRISMA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIBASEHORIZONTALPRISMA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIBASEHORIZONTALPRISMA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIBASEVERTICALPRISMA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIBASEVERTICALPRISMA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIBASEVERTICALPRISMA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIBENEFICIOSFISCAIS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIBENEFICIOSFISCAIS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIBENEFICIOSFISCAIS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICABECALHOITEMPAGAMENTO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICABECALHOITEMPAGAMENTO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICABECALHOITEMPAGAMENTO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICAMPOSVALIDARPESSOA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICAMPOSVALIDARPESSOA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICAMPOSVALIDARPESSOA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICAPITULOSCEST set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICAPITULOSCEST set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICAPITULOSCEST set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICAPITULOSENERGIATELECOM set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICAPITULOSENERGIATELECOM set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICAPITULOSENERGIATELECOM set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICAPITULOSLISTASERVICOS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICAPITULOSLISTASERVICOS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICAPITULOSLISTASERVICOS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICAPITULOSNATUREZAFISCAL set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICAPITULOSNATUREZAFISCAL set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICAPITULOSNATUREZAFISCAL set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICAPITULOSNATUREZAOPERAC set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICAPITULOSNATUREZAOPERAC set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICAPITULOSNATUREZAOPERAC set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICAPITULOSNCM set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICAPITULOSNCM set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICAPITULOSNCM set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICASASDECIMAISUNIDADEMED set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICASASDECIMAISUNIDADEMED set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICASASDECIMAISUNIDADEMED set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICATEGORIAPROCDEMONSTRAT set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICATEGORIAPROCDEMONSTRAT set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICATEGORIAPROCDEMONSTRAT set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICATEGORIASCOMPCREDITO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICATEGORIASCOMPCREDITO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICATEGORIASCOMPCREDITO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICATEGORIASCONFIGURACAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICATEGORIASCONFIGURACAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICATEGORIASCONFIGURACAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICATEGORIASFORMACAOPRECO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICATEGORIASFORMACAOPRECO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICATEGORIASFORMACAOPRECO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICATEGORIASMEMOSISTEMA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICATEGORIASMEMOSISTEMA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICATEGORIASMEMOSISTEMA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICATEGORIASMENU set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICATEGORIASMENU set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICATEGORIASMENU set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICATEGORIASPERSCAMPOS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICATEGORIASPERSCAMPOS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICATEGORIASPERSCAMPOS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICATEGORIASTABELASISTEMA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICATEGORIASTABELASISTEMA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICATEGORIASTABELASISTEMA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICESTS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICESTS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICESTS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICFOPS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICFOPS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICFOPS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICLASSESCNAE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICLASSESCNAE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICLASSESCNAE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICLASSESCONSENERGIASPED set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICLASSESCONSENERGIASPED set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICLASSESCONSENERGIASPED set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICLASSIFENERGIATELECOM set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICLASSIFENERGIATELECOM set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICLASSIFENERGIATELECOM set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICNAES set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICNAES set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICNAES set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICODIGOSENQUADRAMENTOIPI set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICODIGOSENQUADRAMENTOIPI set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICODIGOSENQUADRAMENTOIPI set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICODIGOSPRODUTOSANP set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICODIGOSPRODUTOSANP set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICODIGOSPRODUTOSANP set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICOMPETENCIALIQUIDACAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICOMPETENCIALIQUIDACAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICOMPETENCIALIQUIDACAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICOMPRAVENDA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICOMPRAVENDA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICOMPRAVENDA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICONSELHOSCLASSESPROFIS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICONSELHOSCLASSESPROFIS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICONSELHOSCLASSESPROFIS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICONTENDOEXATAMENTEINIC set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICONTENDOEXATAMENTEINIC set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICONTENDOEXATAMENTEINIC set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICONTINENTES set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICONTINENTES set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICONTINENTES set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICONTROLESESTOQUE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICONTROLESESTOQUE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICONTROLESESTOQUE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICONTROLESQUANTIDADE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICONTROLESQUANTIDADE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICONTROLESQUANTIDADE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICREDENCIADORASTEF set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICREDENCIADORASTEF set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICREDENCIADORASTEF set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SICRITERIOSESCRITSPEDCONT set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SICRITERIOSESCRITSPEDCONT set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SICRITERIOSESCRITSPEDCONT set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIDEBITOCREDITO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIDEBITOCREDITO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIDEBITOCREDITO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIDEDOS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIDEDOS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIDEDOS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIDETALHEAJUSTESCARTOES set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIDETALHEAJUSTESCARTOES set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIDETALHEAJUSTESCARTOES set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIDIAS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIDIAS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIDIAS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIDISPOSITIVOS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIDISPOSITIVOS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIDISPOSITIVOS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIDIVISOESCNAE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIDIVISOESCNAE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIDIVISOESCNAE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIDOCVERSOESSISTEMA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIDOCVERSOESSISTEMA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIDOCVERSOESSISTEMA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIEMBALAGENSTINTAS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIEMBALAGENSTINTAS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIEMBALAGENSTINTAS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIENTRADASAIDA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIENTRADASAIDA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIENTRADASAIDA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIENTRADASAIDAORIGINAL set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIENTRADASAIDAORIGINAL set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIENTRADASAIDAORIGINAL set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIENVIARRECEBER set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIENVIARRECEBER set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIENVIARRECEBER set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIESCOLARIDADE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIESCOLARIDADE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIESCOLARIDADE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIESTADOSCIVIS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIESTADOSCIVIS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIESTADOSCIVIS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIEVENTOSMANIFESTODFE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIEVENTOSMANIFESTODFE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIEVENTOSMANIFESTODFE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIEVENTOSMOTORCREDITO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIEVENTOSMOTORCREDITO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIEVENTOSMOTORCREDITO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIEVENTOSNFE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIEVENTOSNFE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIEVENTOSNFE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIEXIBIRCAIXA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIEXIBIRCAIXA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIEXIBIRCAIXA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIEXIBIRCAMPO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIEXIBIRCAMPO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIEXIBIRCAMPO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIEXTENSOESREPORT set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIEXTENSOESREPORT set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIEXTENSOESREPORT set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIFEDERALESTADUALMUNICIP set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIFEDERALESTADUALMUNICIP set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIFEDERALESTADUALMUNICIP set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIFINALIDADESNOTA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIFINALIDADESNOTA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIFINALIDADESNOTA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIFORMASEMISSAONFE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIFORMASEMISSAONFE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIFORMASEMISSAONFE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIFORMASIMPRESSAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIFORMASIMPRESSAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIFORMASIMPRESSAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIFORMASMEDICAOALTURAPUP set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIFORMASMEDICAOALTURAPUP set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIFORMASMEDICAOALTURAPUP set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIFORMASPAGAMENTONFE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIFORMASPAGAMENTONFE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIFORMASPAGAMENTONFE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIFORMATOSIMPRESSAODANFE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIFORMATOSIMPRESSAODANFE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIFORMATOSIMPRESSAODANFE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIGRUPOSCNAE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIGRUPOSCNAE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIGRUPOSCNAE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIGRUPOSNCM set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIGRUPOSNCM set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIGRUPOSNCM set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIGRUPOSPAGAMENTO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIGRUPOSPAGAMENTO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIGRUPOSPAGAMENTO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIGRUPOSSITTRIBUTIPI set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIGRUPOSSITTRIBUTIPI set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIGRUPOSSITTRIBUTIPI set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIGRUPOSTENSAOSPED set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIGRUPOSTENSAOSPED set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIGRUPOSTENSAOSPED set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIIBPTS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIIBPTS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIIBPTS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIINCIDENCIASFORMACAOPREC set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIINCIDENCIASFORMACAOPREC set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIINCIDENCIASFORMACAOPREC set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIINCIDTRIBUTARIASPEDCONT set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIINCIDTRIBUTARIASPEDCONT set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIINCIDTRIBUTARIASPEDCONT set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIINDAPURCONTRIBCREDSPEDC set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIINDAPURCONTRIBCREDSPEDC set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIINDAPURCONTRIBCREDSPEDC set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIINDICADORCONTA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIINDICADORCONTA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIINDICADORCONTA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIINDICAMBIENTENFE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIINDICAMBIENTENFE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIINDICAMBIENTENFE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIINDICCONSUMIDORFINAL set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIINDICCONSUMIDORFINAL set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIINDICCONSUMIDORFINAL set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIINDICDOCUMENTOPESSOA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIINDICDOCUMENTOPESSOA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIINDICDOCUMENTOPESSOA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIINDICFONE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIINDICFONE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIINDICFONE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIINDICFORMAPAGAMENTO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIINDICFORMAPAGAMENTO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIINDICFORMAPAGAMENTO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIINDICINSCRICAOESTADUAL set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIINDICINSCRICAOESTADUAL set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIINDICINSCRICAOESTADUAL set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIINDICISSQN set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIINDICISSQN set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIINDICISSQN set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIINDICNATUREZAPJSPEDCONT set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIINDICNATUREZAPJSPEDCONT set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIINDICNATUREZAPJSPEDCONT set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIINDICPESSOA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIINDICPESSOA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIINDICPESSOA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIINDICPOSSEITEM set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIINDICPOSSEITEM set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIINDICPOSSEITEM set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIINDICPRESENCACOMPRADOR set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIINDICPRESENCACOMPRADOR set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIINDICPRESENCACOMPRADOR set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIINTEGRACAOCARTAODEBCRED set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIINTEGRACAOCARTAODEBCRED set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIINTEGRACAOCARTAODEBCRED set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SILISTASERVICOS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SILISTASERVICOS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SILISTASERVICOS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SILOCAISDESTINOOPERACAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SILOCAISDESTINOOPERACAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SILOCAISDESTINOOPERACAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SILOCAISVALIDARCAMPOPESS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SILOCAISVALIDARCAMPOPESS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SILOCAISVALIDARCAMPOPESS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMARCASTINTAS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMARCASTINTAS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMARCASTINTAS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMARGEMMARKUP set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMARGEMMARKUP set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMARGEMMARKUP set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMEIOSCAPTURACARTOES set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMEIOSCAPTURACARTOES set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMEIOSCAPTURACARTOES set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMEIOSPAGAMENTO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMEIOSPAGAMENTO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMEIOSPAGAMENTO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMEMORIASSISTEMA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMEMORIASSISTEMA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMEMORIASSISTEMA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMENSAGENSBALANCO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMENSAGENSBALANCO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMENSAGENSBALANCO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMENSAGENSNFE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMENSAGENSNFE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMENSAGENSNFE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMENUS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMENUS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMENUS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMESORREGIOESGEOGRAFICA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMESORREGIOESGEOGRAFICA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMESORREGIOESGEOGRAFICA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMETODOSAPRCREDSPEDCONT set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMETODOSAPRCREDSPEDCONT set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMETODOSAPRCREDSPEDCONT set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMETRICADIMENSAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMETRICADIMENSAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMETRICADIMENSAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMICRORREGIOESGEOGRAFICA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMICRORREGIOESGEOGRAFICA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMICRORREGIOESGEOGRAFICA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMODALIDADESFRETE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMODALIDADESFRETE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMODALIDADESFRETE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMODALIDBASECALCICMS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMODALIDBASECALCICMS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMODALIDBASECALCICMS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMODALIDBASECALCICMSST set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMODALIDBASECALCICMSST set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMODALIDBASECALCICMSST set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMODELOSDOCUMENTOFISCAL set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMODELOSDOCUMENTOFISCAL set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMODELOSDOCUMENTOFISCAL set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMOTIVOSBLOQUEIODOCUMENT set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMOTIVOSBLOQUEIODOCUMENT set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMOTIVOSBLOQUEIODOCUMENT set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMOTIVOSCOBRANCASBANCAR set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMOTIVOSCOBRANCASBANCAR set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMOTIVOSCOBRANCASBANCAR set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMOTIVOSDESONERACAOICMS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMOTIVOSDESONERACAOICMS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMOTIVOSDESONERACAOICMS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMOTIVOSINVENTARIOESTOQ set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMOTIVOSINVENTARIOESTOQ set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMOTIVOSINVENTARIOESTOQ set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIMUNICIPIOS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIMUNICIPIOS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIMUNICIPIOS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SINACIONALIDADES set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SINACIONALIDADES set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SINACIONALIDADES set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SINATUREZASCONTACONTABIL set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SINATUREZASCONTACONTABIL set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SINATUREZASCONTACONTABIL set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SINATUREZASFISCAIS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SINATUREZASFISCAIS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SINATUREZASFISCAIS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SINATUREZASOPERACAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SINATUREZASOPERACAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SINATUREZASOPERACAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SINCMS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SINCMS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SINCMS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SINORMALCONTINGENCIA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SINORMALCONTINGENCIA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SINORMALCONTINGENCIA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SINUMEROVIAS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SINUMEROVIAS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SINUMEROVIAS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIOLHOS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIOLHOS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIOLHOS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIOPCOESCOMBOCONFIGURACAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIOPCOESCOMBOCONFIGURACAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIOPCOESCOMBOCONFIGURACAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIOPCOESCOMBOPERSCAMPOS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIOPCOESCOMBOPERSCAMPOS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIOPCOESCOMBOPERSCAMPOS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIOPERACOESCAIXAS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIOPERACOESCAIXAS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIOPERACOESCAIXAS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIOPERACOESFINANCEIRAS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIOPERACOESFINANCEIRAS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIOPERACOESFINANCEIRAS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIOPERACOESINTERNASESTOQUE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIOPERACOESINTERNASESTOQUE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIOPERACOESINTERNASESTOQUE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIOPERADORASTELEFONIA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIOPERADORASTELEFONIA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIOPERADORASTELEFONIA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIORDENAR set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIORDENAR set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIORDENAR set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIORDENARPOR set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIORDENARPOR set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIORDENARPOR set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIORIGENSDADO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIORIGENSDADO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIORIGENSDADO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIORIGENSDOCUMENTO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIORIGENSDOCUMENTO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIORIGENSDOCUMENTO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIORIGENSMERCADORIA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIORIGENSMERCADORIA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIORIGENSMERCADORIA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIPAFLAUDO set razaoSocialDesenvolvedora = REPLACE(razaoSocialDesenvolvedora,'ç','ç') WHERE razaoSocialDesenvolvedora LIKE '%ç%';
UPDATE SIPAFLAUDO set razaoSocialDesenvolvedora = REPLACE(razaoSocialDesenvolvedora,'ã','ã') WHERE razaoSocialDesenvolvedora LIKE '%ã%';
UPDATE SIPAFLAUDO set razaoSocialDesenvolvedora = REPLACE(razaoSocialDesenvolvedora,'´','´') WHERE razaoSocialDesenvolvedora LIKE '%´%';
UPDATE SIPAFLAUDOOUTROSMD5 set executavel = REPLACE(executavel,'ç','ç') WHERE executavel LIKE '%ç%';
UPDATE SIPAFLAUDOOUTROSMD5 set executavel = REPLACE(executavel,'ã','ã') WHERE executavel LIKE '%ã%';
UPDATE SIPAFLAUDOOUTROSMD5 set executavel = REPLACE(executavel,'´','´') WHERE executavel LIKE '%´%';
UPDATE SIPAGAMENTORECEBIMENTO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIPAGAMENTORECEBIMENTO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIPAGAMENTORECEBIMENTO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIPAGAMENTOTROCO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIPAGAMENTOTROCO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIPAGAMENTOTROCO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIPAISES set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIPAISES set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIPAISES set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIPARENTESCOS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIPARENTESCOS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIPARENTESCOS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIPERFISSPED set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIPERFISSPED set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIPERFISSPED set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIPERIODOS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIPERIODOS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIPERIODOS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIPERIODOSAPURACAOIPISPED set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIPERIODOSAPURACAOIPISPED set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIPERIODOSAPURACAOIPISPED set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIPOSICOESCAIXAESTOQUE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIPOSICOESCAIXAESTOQUE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIPOSICOESCAIXAESTOQUE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIPOSICOESIMAGEM set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIPOSICOESIMAGEM set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIPOSICOESIMAGEM set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIPROCESSAMENTOSDEMONST set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIPROCESSAMENTOSDEMONST set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIPROCESSAMENTOSDEMONST set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIPROTOCOLOSEMAIL set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIPROTOCOLOSEMAIL set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIPROTOCOLOSEMAIL set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIREGIMESTRIBUTARIO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIREGIMESTRIBUTARIO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIREGIMESTRIBUTARIO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIREGIOESGEOGRAFICAS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIREGIOESGEOGRAFICAS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIREGIOESGEOGRAFICAS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIRETORNOSCOBRANCASBANCAR set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIRETORNOSCOBRANCASBANCAR set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIRETORNOSCOBRANCASBANCAR set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISCRIPTSVERSOESSISTEMA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISCRIPTSVERSOESSISTEMA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISCRIPTSVERSOESSISTEMA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISECOESCNAE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISECOESCNAE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISECOESCNAE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISECOESNCM set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISECOESNCM set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISECOESNCM set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISERVICOSNFE set nomeServico = REPLACE(nomeServico,'ç','ç') WHERE nomeServico LIKE '%ç%';
UPDATE SISERVICOSNFE set nomeServico = REPLACE(nomeServico,'ã','ã') WHERE nomeServico LIKE '%ã%';
UPDATE SISERVICOSNFE set nomeServico = REPLACE(nomeServico,'´','´') WHERE nomeServico LIKE '%´%';
UPDATE SISEXOS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISEXOS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISEXOS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISIMNAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISIMNAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISIMNAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISIMNAOAVISAR set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISIMNAOAVISAR set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISIMNAOAVISAR set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISIMNAOPERGUNTAR set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISIMNAOPERGUNTAR set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISIMNAOPERGUNTAR set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITTRIBUTCOFINS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITTRIBUTCOFINS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITTRIBUTCOFINS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITTRIBUTICMS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITTRIBUTICMS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITTRIBUTICMS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITTRIBUTIPI set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITTRIBUTIPI set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITTRIBUTIPI set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITTRIBUTPIS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITTRIBUTPIS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITTRIBUTPIS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITTRIBUTSIMPLESNACION set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITTRIBUTSIMPLESNACION set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITTRIBUTSIMPLESNACION set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESATENDIMENTO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESATENDIMENTO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESATENDIMENTO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESBALANCO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESBALANCO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESBALANCO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESCOBRANCA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESCOBRANCA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESCOBRANCA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESCONCILIACAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESCONCILIACAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESCONCILIACAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESCONSERTO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESCONSERTO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESCONSERTO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESCONTABILIZACAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESCONTABILIZACAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESCONTABILIZACAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESCRM set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESCRM set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESCRM set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESDFE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESDFE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESDFE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESDOCTRANSF set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESDOCTRANSF set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESDOCTRANSF set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESDOCUMENTOFISC set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESDOCUMENTOFISC set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESDOCUMENTOFISC set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESENTREGAS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESENTREGAS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESENTREGAS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESLIBERACAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESLIBERACAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESLIBERACAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESLOTESNFE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESLOTESNFE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESLOTESNFE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESNFE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESNFE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESNFE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESORCAMENTO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESORCAMENTO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESORCAMENTO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESPAINELCOMPRAS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESPAINELCOMPRAS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESPAINELCOMPRAS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESSEPARACAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESSEPARACAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESSEPARACAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESSESSAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESSESSAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESSESSAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESSINCRONIZACAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESSINCRONIZACAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESSINCRONIZACAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISITUACOESTRANSACAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISITUACOESTRANSACAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISITUACOESTRANSACAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISOLICITAOBRIGANAOINFORMA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISOLICITAOBRIGANAOINFORMA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISOLICITAOBRIGANAOINFORMA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISOMADIMINUIIGNORA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISOMADIMINUIIGNORA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISOMADIMINUIIGNORA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISOMADIMINUITOTALIZA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISOMADIMINUITOTALIZA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISOMADIMINUITOTALIZA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISPCENTIDADES set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISPCENTIDADES set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISPCENTIDADES set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISTATUSATIVIDADESERVICO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISTATUSATIVIDADESERVICO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISTATUSATIVIDADESERVICO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISTATUSCHEQUE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISTATUSCHEQUE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISTATUSCHEQUE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISTATUSDOCUMENTOFISCAL set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISTATUSDOCUMENTOFISCAL set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISTATUSDOCUMENTOFISCAL set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISTATUSORCAMENTO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISTATUSORCAMENTO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISTATUSORCAMENTO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISTATUSPREDOCUMENTO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISTATUSPREDOCUMENTO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISTATUSPREDOCUMENTO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISTATUSSPC set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISTATUSSPC set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISTATUSSPC set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISUBCAPITULOSNCM set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISUBCAPITULOSNCM set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISUBCAPITULOSNCM set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISUBCATEGORIASCONFIGURAC set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISUBCATEGORIASCONFIGURAC set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISUBCATEGORIASCONFIGURAC set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISUBCATEGORIASPERSCAMPOS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISUBCATEGORIASPERSCAMPOS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISUBCATEGORIASPERSCAMPOS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SISUBCONTINENTES set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SISUBCONTINENTES set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SISUBCONTINENTES set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITABELASSIMPLESNACIONAL set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITABELASSIMPLESNACIONAL set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITABELASSIMPLESNACIONAL set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITABELASSISTEMA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITABELASSISTEMA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITABELASSISTEMA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITECNOLOGIASIMPRESSAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITECNOLOGIASIMPRESSAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITECNOLOGIASIMPRESSAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOREGRACREDITO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOREGRACREDITO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOREGRACREDITO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSACABAMENTOSLENTE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSACABAMENTOSLENTE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSACABAMENTOSLENTE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSALTERACOESSISTEMA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSALTERACOESSISTEMA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSALTERACOESSISTEMA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSARQUIVO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSARQUIVO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSARQUIVO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSARQUIVOSCARTOES set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSARQUIVOSCARTOES set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSARQUIVOSCARTOES set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSARREDONDAMENTOPREC set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSARREDONDAMENTOPREC set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSARREDONDAMENTOPREC set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSATIVIDADESPED set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSATIVIDADESPED set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSATIVIDADESPED set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSATIVPREPONDSPEDCON set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSATIVPREPONDSPEDCON set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSATIVPREPONDSPEDCON set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSBENEFICIOS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSBENEFICIOS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSBENEFICIOS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSCAMPO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSCAMPO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSCAMPO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSCARTOESPROPRIOS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSCARTOESPROPRIOS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSCARTOESPROPRIOS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSCOBRANCASBANCARIAS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSCOBRANCASBANCARIAS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSCOBRANCASBANCARIAS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSCONSULTASPC set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSCONSULTASPC set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSCONSULTASPC set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSCONTABANCARIACAIXA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSCONTABANCARIACAIXA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSCONTABANCARIACAIXA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSCONTRIBUICSPEDCONT set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSCONTRIBUICSPEDCONT set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSCONTRIBUICSPEDCONT set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSCTE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSCTE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSCTE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSDOCUMENTO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSDOCUMENTO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSDOCUMENTO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSDOCUMENTOIMPRESSO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSDOCUMENTOIMPRESSO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSDOCUMENTOIMPRESSO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSEDICAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSEDICAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSEDICAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSEMAIL set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSEMAIL set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSEMAIL set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSEMAILSITE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSEMAILSITE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSEMAILSITE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSENTRADAPAGAMENTO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSENTRADAPAGAMENTO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSENTRADAPAGAMENTO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSEXCLUSIVOSPRODUTO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSEXCLUSIVOSPRODUTO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSEXCLUSIVOSPRODUTO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSFILTROS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSFILTROS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSFILTROS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSGERADORRELATORIO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSGERADORRELATORIO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSGERADORRELATORIO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSIMAGEMPESSOA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSIMAGEMPESSOA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSIMAGEMPESSOA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSIMAGEMSISTEMA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSIMAGEMSISTEMA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSIMAGEMSISTEMA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSIMOVEL set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSIMOVEL set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSIMOVEL set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSIMPRESSORA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSIMPRESSORA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSIMPRESSORA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSJUROS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSJUROS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSJUROS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSLENTE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSLENTE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSLENTE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSLIGACAOENERGIASPED set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSLIGACAOENERGIASPED set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSLIGACAOENERGIASPED set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSLOGRADOUROS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSLOGRADOUROS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSLOGRADOUROS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSLOTESNFE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSLOTESNFE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSLOTESNFE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSMENU set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSMENU set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSMENU set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSNOTIFICACAO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSNOTIFICACAO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSNOTIFICACAO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSNOVOFINANCEIRO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSNOVOFINANCEIRO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSNOVOFINANCEIRO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSPAGAMENTOANTECIPAD set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSPAGAMENTOANTECIPAD set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSPAGAMENTOANTECIPAD set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSPAGAMENTOFRETE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSPAGAMENTOFRETE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSPAGAMENTOFRETE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSPESSOA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSPESSOA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSPESSOA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSPRECO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSPRECO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSPRECO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSPRIORIDADEESTOQUE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSPRIORIDADEESTOQUE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSPRIORIDADEESTOQUE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSPRODUTO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSPRODUTO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSPRODUTO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSRESUMOSAPURACAOICM set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSRESUMOSAPURACAOICM set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSRESUMOSAPURACAOICM set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSTABELA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSTABELA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSTABELA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SITIPOSVENCIMENTOS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SITIPOSVENCIMENTOS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SITIPOSVENCIMENTOS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIUFORIGEMXUFDESTINO set ufDestino = REPLACE(ufDestino,'ç','ç') WHERE ufDestino LIKE '%ç%';
UPDATE SIUFORIGEMXUFDESTINO set ufDestino = REPLACE(ufDestino,'ã','ã') WHERE ufDestino LIKE '%ã%';
UPDATE SIUFORIGEMXUFDESTINO set ufDestino = REPLACE(ufDestino,'´','´') WHERE ufDestino LIKE '%´%';
UPDATE SIUFS set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIUFS set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIUFS set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIUNIDADESMEDIDA set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIUNIDADESMEDIDA set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIUNIDADESMEDIDA set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIVERSOESNFE set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIVERSOESNFE set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIVERSOESNFE set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';
UPDATE SIVINCULOSITEMDOCUMENTO set descricao = REPLACE(descricao,'ç','ç') WHERE descricao LIKE '%ç%';
UPDATE SIVINCULOSITEMDOCUMENTO set descricao = REPLACE(descricao,'ã','ã') WHERE descricao LIKE '%ã%';
UPDATE SIVINCULOSITEMDOCUMENTO set descricao = REPLACE(descricao,'´','´') WHERE descricao LIKE '%´%';

/

INSERT INTO SIVERSOESSISTEMA (idVersaoSistema, versaoAplicativo, dataLiberacaoVersao, possuiConversaoTabelas, atualizada, dataAtualizacaoVersao, observacoes) VALUES (2022002015, '2022.2.15', sysdate, 1, 1, sysdate, ' ');

COMMIT;

--exec dbms_utility.compile_schema('ADDERI');
--exec dbms_stats.gather_schema_stats('ADDERI');

/*
*/