Árvore de páginas

01. Visão Geral sobre o erro apresentado.

O erro "Erro na chamada do processo" em processamento de rotinas ADVPL (Advanced Protheus Language) com procedures no banco de dados geralmente indica um problema durante a execução de um processo que envolve a chamada de uma procedure no banco de dados.

A mensagem de erro sugere que houve uma falha ao chamar ou executar um procedimento armazenado (procedure) no banco de dados a partir do código ADVPL. Várias razões podem causar esse tipo de erro, e a resolução pode depender do contexto específico da aplicação e do ambiente de execução.

02. Necessidades.

  1. Avaliação Nivel de Suporte Técnico do cliente (equipe de infraestutura/ T.I )
  2. Acesso ao Banco de dados / Dbaccess / Logs

03. Primeira camada de analise.

Caso tenham efetuado ajuste no tamanho de campos, valide se os campos de custos e quantidades, estão com tamanhos uniformes, é importante que os campos decimais tenham o mesmo tamanho e decimais, abaixo uma relação dos campos de custos.

https://tdn.totvs.com/display/public/PROT/PEST06012+-+MATA330+-+Como+aumentar+a+quantidade+de+Casas+Decimais+para+os+campos+de+CUSTOS 


Valide se a rotina em questão utiliza THREADS, caso utilize, efetue o teste sem a utilização de threads.

Exemplo: 

-Custo médio > parametro MV_M330THR, deixar como 1.

1º Desinstale a procedure da rotina em questão.

Efetue a desinstalação da procedure da rotina com erro, para que realize o processamento da rotina sem a procedure, e então constatar se o erro esta somente relacionado a procedure ou não, e caso seja gerado error.log durante o processamento da rotina, basta anexar o arquivo para avaliação do suporte.

Descobrindo qual é a procedure referente a rotina, através do configurador da gestão de procedure:

(SIGACFG > Base de dados > Dicionario > Stored Procedure, aqui vamos supor que o Erro na chamada do processo, ocorre na rotina de custo médio, então desinstalar a procedure 19.

mata330desinstal.gif

O erro mais comum nesses casos, é vinculado ao Estouro de campo (Como avaliar o estouro e corrigir):

Cross Segmento - Backoffice (Linha Protheus) - SIGAEST - Como avaliar o erro Data width error em rotinas de processamento?

Cross Segmento - Backoffice (Linha Protheus) - SIGAEST - Arithmetic overflow error converting float to data type numeric


Para mais inconsistência mapeados do erro da chamada de processo acesse:


2º Valide se a procedure e rotina estão atualizadas.

Verifique se a rotina e sua procedure vinculada a mesma, estão contempladas das ultimas atualizações, disponibilizadas no portal do cliente, pois o processo que esteja enfrentando, ja pode ter sido mapeado e corrigido, então efetue a reinstalação da procedure conforme passos abaixo e realize um novo teste.

- 1passo Acumulado SIGAEST conforme sua versão (Acumulado estoque)

- 2passo https://suporte.totvs.com/portal/p/10098/download?e=946864 (Versão da central de procedure)

- 3passo Cross Segmento - Backoffice (Linha Protheus) - SIGAEST - Procedure Desatualizada e Incompatível, quais as diferenças? É possível utilizar as rotinas? (Processo para REINSTALAR as procedures, sem necessidade de DESINSTALAÇÃO)

Efetuar o Backup antes da atualização.
Todos os procedimentos devem ser realizados primeiro em ambiente TESTE atualizado.

04. Procedimentos.

    - Sugerimos executar o teste em ambiente de homologação, com NORUN ativado se possivel, e preferencialmente de forma exclusiva para facilitar a coleta dos logs corretos.

    - Habilite a chave "TRACESTACK=1" no seu arquivo appserver.ini (clique aqui para mais informações).

    - Acessar a aba de mensagens do DBMonitor e clique em limpar, depois em Sim


    - Efetue a limpeza também do arquivo console.log e dbaccess.log em suas respectivas pastas. (abaixo exemplo de onde os arquivos se encontram no ambiente padrão, validar em seu ambiente)

    DBACCESS.LOG


    CONSOLE.LOG


    - Em seguida, acesse a rotina que ocorre o Erro na Chamada do Processo, e ative o rastreio do DBMONITOR e execute a mesma até apresentar o erro (aqui vamos demonstrar o recalculo de custo medio)

    Abra o Dbmonitor > Clique em Rastrear > Selecione o usuario e Rotina ja abertas, e ficara assim a sua tela.


    - Após ativar o rastreio, execute a rotina até gerar o erro, salve o Dbtrace e log da aba de mensagens.

    erroprocedure.gif

    - Com os dados coletados, anexe e envie para avaliação do time de suporte tecnico, juntamente do inspetor de objetos, da seguinte maneira como exemplo:

    Olá Suporte,

    Estou enfrentando o Erro na chamada do processo, ao utilizar a rotina (Nome da rotina), e ja segui o procedimento do boletim (Cross Segmento - Backoffice (Linha Protheus) - SIGAEST - Erro na chamada do processo em rotinas de Processamento), porém sem sucesso, segue anexos:

    -Dbtrace; Dbconsole.log; Console.log; Dbaccess.log; Inspetor de objetos

    - E TAMBÉM O ARQUIVO DA PROCEDURE DE SUA BASE DE DADOS, SOLICITAR APOIO AO SEU DBA PARA COLETA DESSE ARQUIVO(CORPO DA PROCEDURE COM ERRO), ABAIXO SEGUE EXEMPLO DE COMO COLETAR NO SQL-MANAGEMENT


    Olá Suporte,

    Estou enfrentando o Erro na chamada do processo, ao utilizar a rotina (Nome da rotina), porém meu ambiente é CLOUD e não tenho acesso aos logs para realização de coleta de dados.

    Segue dados do ambiente:


    (ATENÇÃO: O suporte só efetuara a avaliação somente em ambiente de Homologação, portanto sugerimos que o cenario esteja apresentado em ambiente de homologação, e caso não esteja, deve-se solicitar a replica do ambiente de produção para o ambiente de homologação, de forma que possamos prosseguir com as analises )

    Ambiente teste deve estar configurado em modo EXCLUSIVO.


    -Nome do ambiente 

    -Arquivo Smartclient.ini do ambiente que esta acessando

    -Informar qual a "Comunicacao do cliente" esta usando (ex: TCP)
    -ID do ambiente​
    -Nome e código da filial que se encontra com o erro​
    -nome de usuário e senha adm https://getmypassword.cloudtotvs.com.br/ (sugerimos um usuario para o suporte, informe a senha desse usuario no link, não é para gerar uma senha exemplo de como colocar abaixo, para termos a senha do USUARIO de acesso ao ambiente)


    Importante: Aqui estão listados alguns exemplos recorrentes, porém, não há como indicar com precisão qual o dado incorreto em sua base, sem a devida análise.

    Em alguns casos sera necessário que analise os dados gravados no banco (obs: essa análise de registros no banco não é contemplada pelo atendimento de Suporte técnico na modalidade padrão. Havendo necessidade de análise da base, na falta de uma equipe interna de TI, recomenda-se a solicitação de consultor à seu ESN).


    É importante esclarecer que o Suporte Técnico visa análise de possíveis Inconsistências / não conformidades no Produto. Para possíveis inconsistências de dicionário ou de base, o atendimento deve ser avaliado em modo de Consultoria (mais detalhes sobre o escopo de atendimento do Suporte e Consultoria, aqui: Modalidades e Escopo de Atendimento do Suporte Técnico). Após eliminar as principais causas aqui mapeadas, havendo necessidade de acionar o Suporte técnico, envie o parecer de cada etapa abordada neste documento no ticket.


    05. ASSUNTOS RELACIONADOS

    Cross Segmento - Backoffice (Linha Protheus) - SIGAEST - Como avaliar o erro Data width error em rotinas de processamento?

    Cross Segmento - Backoffice (Linha Protheus) - SIGAEST - Arithmetic overflow error converting float to data type numeric

    Cross Segmento - Backoffice (Linha Protheus) - SIGAEST - TOP Error -19 - Invalid parameter type (Erro na chamada de processo)