FAQs - Suporte técnico

MP - ADVPL - Problemas em rotina automática (EXECAUTO)

Dúvida
Boas praticas na utilização de EXECAUTO

Ambiente
Protheus  – ADVPL – A partir da versão 11.80

Solução
Existem rotinas que podem ser executadas de forma automática, elas podem ser utilizadas via JOB(agendado) ou algum processo customizado dentro do sistema e Integrações(WebServices).

Porém todos esses modos de utilização informados acima, são enquadrados no escopo de customização, onde a responsabilidade do funcionamento é do desenvolvedor que criou a aplicação que utiliza a execauto.

Mas e se for apresentado um erro no fonte padrão?
Para esses casos, o cliente deve fazer prova de conceito(POC), mais conhecido como teste isolado ou pontual. Basicamente, devemos pegar o exemplo documentado da EXECAUTO que estamos utilizando, criar um fonte independente(.prw) e montar a execauto, informando os dados fixos, de preferencia os mesmos dados que foi simulado o erro.  Se ainda sim o erro for apresentado, pedimos que nos abra uma solicitação informando o erro gerado, com a POC e as informações necessárias para reproduzir o problema.

Exemplo

aadd(aLinha,{"C7_PRODUTO" ,"PRDT0001",Nil})

Mas e se a rotina não estiver documentada?
Caso você deseja usar execauto de uma determinada, e a mesma não esteja documentada, possivelmente essa rotina não está preparada para ser executada de forma automática. Mas você pode nos abrir uma solicitação para validar se a rotina está ou não preparada para esse procedimento.

Mas e quando a rotina está em MVC ?
Quando uma aplicação é desenvolvida utilizando-se o conceito de MVC e suas classes, pode-se fazer
uso de seu modelo de dados em outras aplicações, similarmente ao que seria uma rotina automática no
desenvolvimento tradicional. Porém indicamos que sempre utilizem os exemplos documentados, pois se simplesmente tentar fazer o uso do modelo de dados , pode ocorrer da rotina não estar totalmente no padrão MVC e acabar causando erros indesejados ou para casos que a rotina esteja totalmente em MVC, pode ocorrer de cair em alguma validação no fonte padrão, desconhecida por parte do cliente  e acabar gerando erros.

Mas e a função FWMVCRotAuto?
Realmente essa função foi criada para ser utilizada em rotinas MVC, porém desde 2019, ela passou a ser de uso interno TOTVS, por esse motivo os clientes não devem utilizar em suas customizações.

Boas praticas:
Evite chamar direto a função da rotina padrão, utilize sempre a função MSExecauto()

Exemplo:

//errado
MATA120(k,v,w,x,y,z)

//correto
MSExecAuto({|k,v,w,x| MATA120(k,v,w,x)},1,aCabec,aItens,3)

Obs.: Os exemplos documentados deverão ter o modelo correto

Se possível, procure informar o valor do campo com o tamanho exato da SX3, exemplo:
Imagine que o campo XX_CPO, tenha tamanho 8 em sua estrutura, se informar o seu valor com apenas 5 caracteres, pode ocorrer falhas em encontrar o registro na base de dados.

Exemplo:

// pode ocorrer erros 
aadd(aLinha,{"C7_PRODUTO" ,"P0001",Nil})

//indicado
aadd
(aLinha,{"C7_PRODUTO" ,"P0001 ",Nil})// os espaços serão contados como caracter, como esta gravado no banco

Evitar o uso dos comandos de transações Begin Transaction/EndTransaction(Veja em Saiba Mais), pois as rotinas já tem seus controles e validações internos, onde não a necessidade de realizar uma nova implementação. Quando necessário a utilização dos comandos de transação, os mesmos serão documentados. 

Saiba Mais:
MP - ADVPL - Qual a finalidade de uma rotina automática
MP - ADVPL - FUNÇÕES, CLASSES E VARIÁVEIS RESTRITAS AO USO INTERNO
MP - ADVPL - BEGIN TRANSACTION

 

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _