TECNOLOGIA - Regras LSP - Como funciona o processo de compilação de regras dos sistemas de Tecnologia G5/G6 (XTended)
Dúvida
Como funciona o processo de compilação de regras dos sistemas de Tecnologia G5/G6 (XTended)?
Solução
Abaixo segue a descrição de como funciona, tecnicamente, o processo de compilação de regras dos sistemas de Tecnologia G5/G6 (XTended).
Observação
Para exemplificação do processo, será utilizado como base o sistema Gestão Empresarial | ERP.
As regras são armazenadas em um diretório específico do Servidor de Aplicação que é definido no SeniorConfigCenter. Abaixo exemplo de onde é parametrizado o diretório para armazenamento das Regras do sistema Gestão Empresarial | ERP:
Cada regra LSP gerará um arquivo específico com a extensão .LSP dentro desta pasta.
Regras do Gestão Empresarial | ERP geram arquivos com prefixo SARG. Exemplo: SARG001.LSP, equivale a regra de número 1.
Regras exclusivas do Gestão Empresarial PME | GOUP geram arquivos com prefixo SARG. Exemplo: GURG001.LSP, equivale a regra de número 1 exclusiva do GOUP.
Importante
As Regras LSP que são armazenadas no diretório indicado do SeniroConfigCenter são apenas as regras que que podem ser editadas pelo Editor de Regras. Regras de WebServices customizados, Regras de leiautes de Importação e Regras de Geradores de Relatórios, por exemplo, não tem arquivos armazenados nesta pasta.
Sempre que há a alteração de alguma regra, é obrigatório ocorrer a compilação das regras. Por este motivo, ao fazer qualquer alteração via Editor de Regras, ao sair do mesmo, é acionado automaticamente a compilação das regras.
Importante
A compilação das regras pode ser acionada em diversos pontos do sistema, não apenas no acesso ao Editor de Regras.
Exemplo: ao efetuar uma atualização ou personalização de base onde há mudança do TBS, na primeira vez que o sistema tentar acessar uma regra ele identificará a necessidade de executar uma compilação e a compilação das regras será executadas.
A compilação de regras nada mais é do que a leitura de todas as regras e criação de um arquivo único contendo todas as regras compiladas. Para o sistema Gestão Empresarial | ERP esse arquivo tem o nome de SARGLSP.BIN.
Já as regras do Gestão Empresarial PME | GOUP, quando compiladas, gerarão o arquivo GURGLSP.BIN.
Importante
O Gestão Empresarial PME | GOUP possui os dois tipos de regras. Logo, terá sempre os dois arquivos de regras compiladas.
Informações adicionais sobre processo de compilação das regras
- Para que a compilação de regras ocorra adequadamente, todas as estações de trabalho que acessam o sistema devem ter permissão de leitura e escrita no diretório de Regras do sistema. Caso essa permissão não seja concedida, a compilação de regras acionada a partir dessas estações de trabalho não ocorrerá adequadamente e poderá impactar em todas as atividades do sistema;
- No exato momento em que ocorre a compilação/recompilação das regras, o arquivo SARGLSP.BIN ficará inacessível, pois ele está em momento de criação/edição pela estação que está efetuando a compilação. Desta forma, caso haja tentativa de compilação das regras ao mesmo tempo por outras estações, podem ocorrer erros de compilação;
- O arquivo SARGLSP.BIN é carregado para a memória do sistema em diversos pontos. Ele é recarregado quando identifica-se que a instância do sistema está com o arquivo desatualizado em memória, porém, dependendo do processo que está sendo executado, pode ser necessária a reinicialização da instância para completo recarregamento do arquivo das regras compilado;
- É comum que variáveis apresentem problemas de compilação apenas quando a compilação de todas as regras é executada e não apresente o mesmo erro na compilação do arquivo unitário da regra. Isso porque a compilação unitária da regra não gera o arquivo SARGLSP.BIN e apenas valida a estrutura da regra unitariamente. Ao fazer a compilação de todas as regras, o sistema validará se não existem problemas na geração do arquivo SARGLSP.BIN como um todo. Exemplo de cenário de problema de criação do arquivo: uma variável está declarada de todas formas diferentes (número e alfa) em duas regras diferentes.