Tempo de leitura: 7 minutos
Olá, me chamo Adilio Costa, no post de hoje iremos aprender como usar a chave IXBLOG no Protheus. Primeiramente iremos aprender sobre essa chave nos seguintes tópicos:
- O que é a chave IXBLOG e quais suas funcionalidades dentro do Protheus?
- Identificando e configurando a chave IXBLOG no Protheus;
- Demonstração do uso do IXBLOG através de um exemplo prático.
O que é a chave IXBLOG e quais suas funcionalidades dentro do Protheus?
A chave IXBLOG é um recurso utilizado dentro do protheus para que possamos tanto habilitar como desabilitar customizações/pontos de entradas. A utilização desse recurso permite que possamos identificar customizações que estão sendo utilizada no ERP Protheus e que por algum motivo(a ser identificado) estão ocasionando problemas de lentidão ou desabilitando algum recurso no ERP.
Cenário
Vamos supor que de uns dias pra cá ai na sua empresa a rotina padrão de Documento de Entrada(MATA103) do Protheus parou de funcionar ou mesmo começou a executar seus processos com bastante lentidão. Para resolver essa situação você tem dois cenários, o primeiro é desabilitar as customizações(programas desenvolvidos por você e/ou sua equipe de TI) através da utilização da chave IXBLOG e depois mandar executar a rotina normalmente, assim, se o problema persistir você poderia abrir um chamado com a Totvs para averiguarem a situação nesse fonte. Mas se após a desabilitar as customizações/ponto de entrada a rotina de Documento de Entrada(MATA103) voltar a funcionar normalmente ai saberíamos que o problema é alguma customização/ponto de entrada que está ocasionando essa lentidão, assim teríamos o segundo cenário, habilitar a chave IXBLOG para sabermos quais customizações/pontos de entradas estão sendo utilizadas no Protheus. (Esses dois cenários iremos ver como realizar até o final desse post.)
Identificando e configurando a chave IXBLOG no Protheus.
A chave IXBLOG é identificada dentro do arquivo appserver.ini do servidor appserver do Protheus, configuramos ela dentro da seção Enviroment, conforme é mostrado na imagem abaixo:
A chave IXBLOG poderá conter dois valores:
LOGRUN(IXBLOG=LOGRUN): Grava logs das customizações/pontos de entradas encontradas Protheus e EXECUTA-OS.
NORUN(IXBLOG=NORUN): Grava logs das customizações/pontos de entradas encontradas no Protheus mas NÃO EXECUTA-OS.
Demonstração do uso do IXBLOG através de um exemplo prático
Nesse exemplo prático do uso do IXBLOG iremos usar o ponto de entrada MT103PN da rotina de Documento de Entrada(MATA103), esse ponto de entrada é executado na inclusão do documento de entrada e permite que o usuário indique que a inclusão do documento de entrada será ou não feita.
Abaixo segue o código em programa(mt103pn.prw) ADVPL compilado, do ponto de entrada MT103PN:
#include 'protheus.ch' /* Blog/Site ProtheusAdvpl - www.protheusadvpl.com.br -------------------------------------------------------------------------------- Canal ProtheusAdvpl - www.youtube.com/protheusadvpl -------------------------------------------------------------------------------- Portal ProtheusAdvpl - http://protheusadvpl.com.br/sobre-o-portal-protheus-advpl */ User Function MT103PN() msgAlert("Este ponto de entrada porque a chave IXBLOG está ativada!") Return .F.
Agora iremos executar a rotina de documento de entrada(MATA103) duas vezes, a primeira é com a chave IXBLOG ativada(IXBLOG=LOGRUN) para executar as customizações/pontos de entradas compiladas no Protheus, para isso deixe a chave IXBLOG=LOGRUN. Agora iremos entrar na rotina de documento de entrada(MATA103) no módulo compras(SIGACOM) do Protheus:
Ao entrar na rotina de documento de entrada(MATA103) com a chave IXBLOG ativada será apresentada a mensagem o “debug da FUNÇÃO DE USUÁRIO está ativo, haverá custo de performance”:
Esse aviso é importante, isso indica que a performance do sistema poderá ser afetada quando a chave IXBLOG está ativada, por isso o ideal é que utilizemos essa chave em outra seção de Enviroment, diferente do que os usuários ai na sua empresa usam, assim poderíamos criar um outro Envoriment no arquivo appserver.ini conforme a imagem abaixo:
Após incluirmos um documento de entrada(MATA103) o nosso ponto de entrada MT103PN foi executado conforme é apresentado a mensagem(mensagem que colocamos no código ADVPL do ponto de entrada):
Conforme vimos, o ponto de entrada MT103PN foi executado, agora falta identificamos o arquivo log gerado, indicando os pontos de entradas que foram executados, para isso iremos na pasta protheus_data(caminho aqui no meu computador C:\TOTVS 12.1.23\Protheus_Data) do protheus, dentro da pasta protheus_data foi criada uma pasta chamada ixblog, dentro dela foi gravado o arquivo .log que indica os pontos de entradas executados, o nome do arquivo é composto por nomeUsuarioProtheus_numeroSequencial.log, no meu caso usei o usuário administrador, assim o nome do arquivo log ficou administrador_000030.log conforme a imagem abaixo:
Ao abrirmos o arquivo .log podemos ver a chave ver o conteúdo da chave IXBLOG(LOGRUN), o usuário que executou a rotina de documento de entrada(MATA103), o módulo(compras(SIGACOM)) utilizado, qual o Enviroment(no meu caso foi o TOTVS_LG) e ponto de entrada executado pela função ExecBlock , nesse caso o ponto de entrada que compilamos, MT103PN, conforme a imagem abaixo:
Concluído a primeira parte da utilização da chave IXBLOG, a segunda etapa é configurarmos para que as customizações/pontos de entradas não sejam executados quando executarmos a rotina de documento de entrada(MATA103) do Protheus, para isso iremos habilitar o conteúdo NORUN na chave IXBLOG(dentro da seção Enviroment(no meu caso TOTVS_LG)) no arquivo appserver.ini do Protheus, conforme a imagem abaixo:
Agora iremos entrar novamente da rotina de documento de entrada(MATA103) do módulo compras(SIGACOM):
Veja que entramos na rotina do documento de entrada(MATA103) e não apareceu a mensagem “Este ponto de entrada porque a chave IXBLOG está ativada!”, indicando que não foi executado o ponto de entrada MT103PN que compilamos no Protheus, assim comprovamos que ao desabilitarmos a chave IXBLOG(IXBLOG=NORUN) as nossas customizações/ponto de entradas não serão executado.
O próximo passo é abrir o arquivo .log que foi gerado no na pasta ixblog, dentro da pasta protheus_data(meu caminho C:\TOTVS 12.1.23\Protheus_Data\ixblog):
Ao abrirmos o arquivo administrador_000090.log gerado podemos o conteúdo da chave IXBLOG com NORUN, o usuário administrador que executou a rotina, o módulo utilizado(compras(SIGACOM)), o Enviroment(TOTVS_LG) e o ponto de entrada encontrado MT103PN mas que não foi executado:
Bem, assim finalizamos o post sobre como usar a chave ixblog no Protheus, espero que você tenha entendido, qualquer coisa deixe seu comentário informando o que achou do post, o que tá achando no Blog/Site ProtheusAdvpl, deixe suas críticas, sugestões de melhoria para tornarmos o Blog/Site ProtheusAdvpl cada vez melhor e com conteúdos que realmente lhe ajude ai nas suas tarefas do seu trabalho ou pessoais(nas suas consultorias). Grande abraço, fica com Deus.
Se inscreva no Canal ProtheusAdvpl no Youtube: https://www.youtube.com/protheusadvpl
Siga o ProtheusAdvpl no Instagram: http://www.instagram.com/protheusadvpl
Curta a Página ProtheusAdvpl no Facebook: https://www.facebook.com/protheusadvpl2/
Participe do Grupo ProtheusAdvpl no Facebook: http://protheusadvpl.com.br/grupo-facebook-protheusadvpl