Como fazer uma compilação a quente no Protheus (Troca de RPO)

Olá pessoal…

Hoje vou mostrar como realizar o processo de compilação a quente no Protheus (sem precisar derrubar serviços ou usuários).

Gostaria de agradecer a ajuda do Rodolfo no desenvolvimento desse projeto que foi feito utilizando Java e JSON.

Primeiramente é necessário entender como que o Protheus funciona, ele basicamente através do AppServer.ini, conecta em um ambiente e esse ambiente tem um Repositório de Objetos (um RPO), nesse RPO que possui as funções, imagens, patchs compiladas para que o Protheus execute as funcionalidades.

Ao compilar ou aplicar alguma patch, isso requer exclusividade do ERP, pois imagine que você tem a função Beluga1, e você quer compilar a Beluga1, mas o usuário está usando ela nesse momento, isso pode causar danos a integridade.

Para contornar isso, podemos facilmente criar um apo exclusivamente para Compilação, por exemplo, criamos um RPO dentro de uma pasta, e chamamos de Compila. Então, tudo que compilarmos, ficará no Compila.

Agora precisamos com que isso fique em produção, para tanto criamos subpastas com sequencia numérica, começando por 001 por exemplo, e copiamos o RPO de dentro do Compila para esse diretório 001, após copiar, vamos em todos os arquivos AppServer.ini, e mudamos nosso ambiente de produção para apontar para esse diretório 001. Nesse momento nosso Protheus vai enxergar o RPO de dentro desse diretório 001.

E para finalizar, agora nas próximas vezes que precisar aplicar alguma patch ou compilar alguma função, basta compilar no rpo Compila, criar uma pasta com a última sequência, como por exemplo 002, e copiar o RPO do Compila para essa nova pasta (002), e em todos os AppServer.ini alterar a última sequência para essa nova pasta (002).

Ai você fala, “Daniel, eu entendi, mas e a praticidade?”, pois bem, criei um aplicativo em Java, onde você deve informar o diretório de Compilação, o diretório atual de produção e o novo. E todos os diretórios que possuem o appserver.ini que será manipulado.

PChangeRPO - Troca de RPO

PChangeRPO – Troca de RPO

Lembrando que ao fechar o aplicativo, ele já virá pré-carregado conforme as últimas parametrizações (por exemplo, já irá trazer o diretório de compilação preenchido).

Para executar, basta ter instalado o java, baixar o aplicativo e executar o .jar, seja por dois cliques, ou pelo comando “java -jar” no terminal.

Vídeo de como utilizar:



Caso queira fazer o download, clique aqui.

Bom pessoal, por hoje é só.
Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

2 Responses

  1. Vinicius Oliva Perez disse:

    Daniel, agora com a nova tecnologia da nova versão 12.1.33 você sabe se ainda vai continuar funcionando essa questão da compilação a quente, já que teremos 2 RPOs separados?

Deixe uma resposta para Vinicius Oliva PerezCancelar resposta

Terminal de Informação