-
PT
-
ES
-
AO
-
CV
-
MZ
-
ST
-
GW
-
Professional
-
Executive
-
Public Sector
-
Omnia
-
Evolution
A Cache do ERP permite diminuir o número de acessos ao serviço SQL através da reutilização dos dados entre pedidos repetidos num determinado intervalo de tempo ou numa sessão do ERP.
Assim, permite que os dados recentemente utilizados permaneçam num repositório de sessão evitando consultas constantes à base de dados.
Cache do ERP
A Cache do ERP não é uma cache distribuída, ou seja, não existe um repositório de dados (cache) central comum entre todos os utilizadores do ERP mas sim um repositório de dados para a sessão do ERP/Módulo (posto).
Foram desenvolvidos dois tipos de cache:
- Cache Estática: Os dados permanecem em cache até que seja dada uma ordem de destruição da mesma, eliminando dessa forma todos os objetos.
- Cache Dinâmica: Os objetos em cache tem uma validade limite de dois minutos (desde o último acesso de leitura) sendo destruídos sempre que a validade expira.
Independentemente do tipo de cache utilizada, sempre que exista uma operação de escrita (gravação, remoção ou atualização) de um ou mais atributos de uma entidade, quer seja diretamente nas janelas do ERP quer seja através de motores (VBA), todos os objetos contidos na cache do módulo são destruídos automaticamente mesmo que estejam associados à entidade em questão.
Exemplos:
- Recursos Humanos (RHP):
- Editar a entidade Funcionário F001;
- Editar a entidade Desconto D01;
- Editar a entidade Remuneração R02.
- Contabilidade (CBL):
- Editar a entidade Centro de Custo 2654001;
- VBA – BSO.Contabilidade.CentrosCusto.DaValorAtributo(2654002, Nome);
- Editar a entidade Tipo de Rendimento A;
- Editar a entidade Tipo de Lançamento 001;
- Logística e Tesouraria (L&T):
- Editar as entidades Tipos de Documentos de Venda FA, VD, ECL;
- Editar a entidade Iva 03;
- VBA – BSO.Comercial.Clientes.DaValorAtributo(SOFRIO, Nome).

Possíveis situações provocadas pela cache
Existem várias situações em que podem ocorrer incoerência de dados, por exemplo:
- Sessão 1: O utilizador carrega a ficha do funcionário F001 do servidor para consulta e fecha a ficha;
- Sessão 2: O utilizador carrega do servidor, edita e atualiza a ficha do funcionário F001;
- Segunda sessão 1: Num espaço inferior a dois minutos, o utilizador deste posto volta a carregar a ficha do funcionário F001.
Nestas sessões, verificou-se o seguinte:
- Na primeira ação da sessão 1, o utilizador como apenas efetua uma operação de leitura o objeto fica em cache;
- Nas ações da sessão 2, o utilizador efetua operações de escrita no objeto (não fica em cache). O objeto é modificado e gravado na base de dados do servidor;
- Na segunda ação da sessão 1, como é solicitada novamente a ficha do funcionário F001 num espaço inferior a dois minutos, a aplicação vai recolher a informação da cache de sessão e não do servidor;
- A informação modificada na sessão 2 não fica refletida na ficha da sessão 1.