Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. Visão Geral sobre o erro apresentado.

Aviso

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

...

Guia passo a passo

...

Artigos relacionados

  1. 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.

Esse erro também, normalmente é ocasionado por conta do parâmetro MV_M330JCM está com tipo diferente de C, caso esteja altere para tipo C, após realize um novo teste por gentileza,
PEST038 - MV_M330JCM - Define se utiliza threads no processamento da rotina de Recálculo Custo Médio(MATA330)_BRA

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.gifImage Added

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.

Card
defaulttrue
effectDuration0.5
idProcessoEST1
labelProcessoEST1
titleProcessoEST1
effectTypeslide
Card
effectDuration0.5
idConfiguraçãoEST
labelConfiguraçãoEST
titleConfiguraçãoEST
effectTypeslide
Deck of Cards
effectDuration0.5
idFuncionalidadesEST
effectTypeslide
Card
defaulttrue
effectDuration0.5
idAmbiente ON-PRIMESE
labelAmbiente ON-PRIMESE
titleAmbiente ON-PRIMESE
effectTypeslide

- 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

Image Added


- 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

Image Added


CONSOLE.LOG

Image Added


- 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.

Image Added


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

erroprocedure.gifImage Added

- 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

Image Added


Card
effectDuration0.5
idAmbiente CLOUD-TOTVS
labelAmbiente CLOUD-TOTVS
titleAmbiente CLOUD-TOTVS
effectTypeslide

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)


Aviso

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)

...

hiddentrue

...