Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmentos - Backoffice linha Protheus - SIGAFIN - Liquidação a receber (FINA460) - ExecAuto. Podemos utilizar Begin Transaction em um fonte customizado e chamar um execauto padrão e depois encerrar End Transaction?

time.png Tempo aproximado para leitura: 00:15:00min

Dúvida
Podemos utilizar Begin Transaction em um fonte customizado e chamar um execauto padrão e depois encerrar  End Transaction? 

Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - Financeiro - Todas as versões

Solução
A utilização do comando Begin Transaction em conjunto com rotinas automáticas (ExecAuto) padrão não é recomendada, exceto quando expressamente documentado no execauto pontual da rotina a sua utilização.

Essa prática pode interferir nos controles internos de transação do sistema, resultando em comportamentos inesperados, tais como:

  • Tabelas temporárias não finalizadas, causando erros como:
    "Application Server Work area table full (Max=1024)"
  • Falhas de validação
  • Inconsistências de dados
  • Outros erros não previstos

Caso o controle de transação seja realmente necessário, recomenda-se uma análise criteriosa e o uso de DisarmTransaction() com responsabilidade, evitando conflitos com o fluxo padrão do sistema.

 

Por esse motivo, nas documentações oficiais de cada ExecAuto de cada rotina deve estar claramente especificado quais comandos e práticas são permitidos. 

Exemplo de falha:

User Function U_TESTEFINA()

Local lSucesso := .T.
Local aParametros := {}


Begin Transaction // Não é recomendado ter essa chamada, a não ser que tenha documentado na documentação da rotina oficinal o uso do Begin Transaction

aParametros := {
"FILIAL" => "01", // Código da filial
"TIPO" => "R", // Tipo de título: R = Receber, P = Pagar
"NUMERO" => "000123", // Número do título
"PARCELA" => "01", // Parcela
"VALOR" => 100.00, // Valor da baixa
}

lSucesso := ExecAuto("FINA460", aParametros) // <---- Chamada de um execauto exemplo

DisarmTransaction()

End Transaction // Não é recomendado ter essa chamada, a não ser que tenha documentado na documentação da rotina oficinal o uso do End Transaction

Return

 

Saiba mais:
ADVPL - Begin transaction

Controle de transações

Liquidação a receber (FINA460) - ExecAuto

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 _