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

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.

Caso queira fazer o download, clique aqui.

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

About Dan_Atilio

Analista e desenvolvedor de sistemas. Técnico em Informática pelo CTI da Unesp. Graduado em Banco de Dados pela Fatec Bauru. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor do projeto Terminal de Informação, onde são postados tutoriais e notícias envolvendo o mundo da tecnologia.

Deixe uma resposta

%d blogueiros gostam disto: