01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:33 - Vendas Avançado
Função:Recalcular Comissão de RCA
Ticket:11554689
Requisito/Story/Issue :DDVENDAS-28684


02. SITUAÇÃO/REQUISITO

Rotina 3308 periodo 01/01/2008 ate 31/12/2008 
apresenta mensagem :
Erro ao calcular comissão. 
ORA-00913: valores demais.

03. SOLUÇÃO

O erro ocorria quando o cliente selecionava um período cuja houve grande volume de pedidos, no momento de realizar o recalculo das comissões antes de realmente calcular a comissão  ( campo PERCOM ) o mesmo era  zerado através de uma query do tipo ( UPDATE PCPED SET PERCOM = 0 WHERE NUMPED IN ( 12345)),  acontece que ao pegar um período com muitos pedidos naquele período, a quantidade de registros dentro de clausulas IN era gigantesca, gerando uma query com custo computacional inviável ( no cliente em questão havia 83700 registros dentro da clausula IN, em anexo está a query antiga capturada no trace), com isso a query não era executada pois como a query é muito custosa excedia o limite de tempo para criar um plano de execução para a sessão Oracle e perdia a conexão (isso pode ser verificado tentando executar a query em anexo no PL/SQL). Com isso gerava-se o erro descrito pelo cliente.


atualizar a rotina e executar o procedimento descrito abaixo:


CÓDIGO - NOME DA ROTINA:

  • PCSIS3308

VERSÃO DA ROTINA:

- 30.0.14.3
- 30.1.9.2


*PROCEDIMENTOS PARA SIMULAR:*
Claro cliente realizar a atualização da rotina e refazer o recalculo da comissão.


04. DEMAIS INFORMAÇÕES


Importante!

As versões estarão disponíveis para download no CCW. 

https://centraldecontrole.pcinformatica.com.br/


Mantenha suas rotinas sempre atualizadas!




05. ASSUNTOS RELACIONADOS




<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}

.aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { 
	background: #FF9900; !important 
}

.menu-item.active-tab { 
	border-bottom: none !important; 
}

</style>