Pular para o conteúdo
Artigo

UPC e EPC no Datasul: como manter suas customizações a cada atualização

A diferença entre UPC e EPC no TOTVS Datasul, como as customizações em Progress ABL são organizadas e o que revisar a cada release para que continuem funcionando.

Partners Consultoria

No TOTVS Datasul, a customização acontece em programas próprios da empresa, chamados pelo padrão em pontos definidos dos programas da TOTVS. Esses pontos são os EPC (External Program Call), e os programas do cliente que entram neles são as UPC (User Program Call).

O ponto central é como construir e manter essas customizações para que cada atualização de release não as quebre. Este artigo explica como o mecanismo funciona e o que precisa ser revisado a cada versão.

Qual é a diferença entre UPC e EPC

Os dois termos aparecem juntos na documentação do Datasul, mas descrevem lados diferentes do mesmo mecanismo:

  • EPC (External Program Call) é o ponto de chamada que a própria TOTVS inclui nos programas padrão do produto. É o lugar onde a customização é possível. A documentação trata a "Customização do Produto (EPC)" como o processo que viabiliza as customizações dos clientes.
  • UPC (User Program Call) é o programa do cliente que o Datasul chama nesses pontos. A documentação descreve a UPC como o programa de customização informado no cadastro do programa padrão, com a qual é possível, por exemplo, criar folders, botões e fill-ins, ou acessar programas externos.

Na prática: a TOTVS mantém o EPC dentro do programa dela, e a empresa escreve a UPC que se encaixa nele. Esse é o contrato entre os dois lados, e é ele que precisa ser revisado a cada release. Fontes: Manutenção de Programa (MEN012AA), no TDN da TOTVS e a documentação do programa SO0700G.

Como uma customização fica organizada

  • Código da empresa em programas próprios. A UPC é um programa do cliente, vinculado ao programa padrão no cadastro de programas (MEN012AA), no campo Programa UPC.
  • Um orquestrador que chama subprogramas. O cadastro aceita uma UPC por programa padrão, e é comum cadastrar nela um orquestrador, que chama vários subprogramas, cada um com uma função distinta. Cada chamada do padrão informa o evento em curso.
  • Código sob controle de versão. O fonte das customizações é da empresa, então precisa de histórico, revisão e backup como qualquer outro software.
  • Documentação do que foi customizado. Qual programa padrão é estendido, em qual evento, com qual regra e por quê.

Para descobrir quais pontos um programa oferece e quais parâmetros ele envia, a própria TOTVS indica vincular ao programa um programa identificador de exemplo: ao executar a rotina, o Datasul exibe uma mensagem com o evento e os parâmetros enviados. Se nenhuma mensagem aparecer, o programa não tem ponto de chamada. Fonte: Central de Atendimento TOTVS.

O que pode quebrar a cada release

A UPC depende de como o programa padrão se comporta, e o padrão muda com os releases da TOTVS. Por isso, a cada atualização de versão, vale checar:

  1. O EPC continua sendo chamado. O evento que a UPC trata ainda existe, no mesmo momento da execução, na versão nova do programa padrão?
  2. Os parâmetros recebidos continuam os mesmos. O que o padrão entrega à UPC (tabelas, registros, handles) mudou?
  3. As tabelas e campos lidos continuam iguais. Uma mudança de estrutura na tabela que a customização consulta pode alterar o resultado sem gerar erro.
  4. Os objetos de tela que a UPC manipula ainda existem. Customizações que acessam widgets de uma tela dependem dos nomes e da estrutura dela.
  5. A versão do Progress OpenEdge. Mudança de versão do banco de dados ou do runtime pode pedir recompilação e novos testes.
  6. Teste de regressão em homologação. Antes de ir para produção, cada customização é exercitada no ambiente de testes com a versão nova.

Quando a empresa documenta quais programas padrão cada UPC estende, essa lista de revisão sai pronta: basta cruzar com as notas de versão do release. Sem ela, a empresa descobre o que quebrou só depois, em produção, e passa a adiar atualizações por medo de perder o que funciona.

Quando o programa não tem ponto de chamada

Nem todo programa padrão tem EPC no lugar de que a empresa precisa. Para esse caso, o procedimento da TOTVS prevê solicitar, por ticket e com orçamento, a inclusão de um ponto de chamada. Outras alternativas costumam ser um programa específico complementar, que roda ao lado do padrão, ou uma integração, com um sistema externo cuidando da regra. Cada caminho tem custo e risco diferentes, e a escolha depende do processo e da frequência de uso.

Resumo prático

  • EPC (External Program Call) é o ponto de chamada que a TOTVS inclui nos programas padrão; UPC (User Program Call) é o programa do cliente que o Datasul chama nesse ponto.
  • O que a empresa mantém é a UPC, e ela precisa de controle de versão e documentação.
  • A cada release, o risco está no contrato entre o padrão e a UPC: eventos, parâmetros, tabelas e telas.
  • UPC documentada transforma a revisão de cada atualização em uma lista de conferência, em vez de uma surpresa.

A Partners desenvolve e mantém customizações Datasul em Progress ABL seguindo esse modelo. Conheça o desenvolvimento Progress da Partners e a página sobre customização TOTVS Datasul com Progress ABL, ou fale com a equipe sobre o seu caso.

Tem uma customização Datasul para revisar ou construir?

Envie o contexto, a versão do Datasul e o processo envolvido. A Partners faz a análise inicial e indica o melhor caminho. Veja também como funciona a atuação em desenvolvimento Progress ABL e a página de customização Datasul.