F210ISA - Inicialização do Controle de Buscas de Saldos Otimizada
O objetivo dessa tela é dar início à busca de saldos anteriores dos estoques de forma otimizada, fazendo com que as rotinas que utilizam a busca de saldos anteriores funcionem com uma melhor performance.
Esse processo é geralmente necessário em bases de dados onde já houve movimentação de estoque, antes desse recurso existir. É possível saber se o recurso já está ativo observando o campo Indicador Otimização na tela Parâmetros da Filial para Estoques (F070FES), Guia Estoques 2. Se o campo já estiver com valor "S - Sim", indica que a busca de saldos anteriores já está ativa . Caso, no entanto, esteja com valor "N - Não", ao executar o processo descrito a seguir, o parâmetro será alterado para "S - Sim" automaticamente, habilitando assim a busca de saldos anteriores de forma otimizada.
Processos
- prepara o sistema para um método de busca dos saldos anteriores percorrendo todos os movimentos de estoques existentes na base de dados, filial a filial, o que pode tornar o processo demorado. Desta forma aconselha-se executar esta rotina sem outros usuário conectados.
- a tela possui alguns filtros para que a inicialização seja feita de forma parcial: "Período Inicial e Final" / "Depósito" que somente estarão visíveis se o identificador EST-210PERSA01 estiver cadastrado e ativo.
- a inicialização fará com que o sistema obtenha o último movimento feito em um determinado dia, ou seja, se um produto/derivação tiver 1.500 movimentos em um dia, o sistema apenas buscará o último movimento realizado, pois os outros não são importantes para a busca dos saldos anteriores. Para saber disso, o sistema determinará um valor para um novo campo criado na tabela de movimentos, fazendo com que a busca dos saldos não precise buscar todos os movimentos e muito menos voltar em quatro em quatro meses para atingir tal meta. Inicialmente o sistema percorrerá toda a tabela de movimentos, pois uma vez inicializada, o próprio fechamento dos estoques se encarregará de definir este campo a cada vez que for rodado um novo processo.
Tabela de movimentos com 1.000.000 de registros.
Período em aberto na filial..: 01-01-2008 à 31-12-2008.
Para fazer a inicialização inicial, o sistema percorrerá 1.000.000 de registros, independentemente do período da filial. Ao final deste processo, o sistema marcou apenas 200.000 registros como sendo os últimos de cada dia, por produto/derivação.
Se um fechamento dos estoques fosse rodado neste momento, o sistema buscaria todos os movimentos anteriores a 01-01-2008 definidos como sendo os últimos movimentos do dia e montando o saldo. Esta busca se tornou extremamente rápida, pelo fato de:
- não precisa voltar em 4 em 4 meses
- não precisar contar quantos produtos foram movimentados
- buscar apenas os que estão definidos como sendo os últimos, filtrando desta forma muitos registros desnecessários.
- o mais importante, buscar apenas os produtos que foram movimentados durante o período em aberto da filial
Se uma consulta de posição de estoques por data, tanto por depósito quanto por filial, fosse executada, o sistema simplesmente buscaria o último movimento de cada produto que está definido como sendo o último do dia, não precisando mais buscar todos os registros existentes na base como fazia pelo modo antigo. As vantagens são:
- não precisa voltar em 4 em 4 meses
- não precisar contar quantos produtos foram movimentados
- buscar apenas os que estão definidos como sendo os últimos, filtrando desta forma muitos registros desnecessários.
A medida os movimentos de estoque forem gerados, o sistema se encarregará de definir estes novos movimentos como sendo os últimos, mas sem perda de desempenho no processo, pois o controle será feito apenas por atribuição e nenhuma busca será feita neste momento. Com isso, os movimentos definidos como sendo os últimos, podem não ser mais os verdadeiros, mas o sistema avisará os usuários quando uma consulta de estoques por data for realizada. Para "arrumar" essas marcações, basta executar o fechamento dos estoques, que o mesmo se encarrega de arrumar estes novos movimentos, definindo novamente quem são os últimos. Desta forma, os movimentos sempre estarão atualizados de forma correta e segura. Este forma de atualização, exigindo que o fechamento seja executado, já existia anteriormente, ou seja, quando era verificado um determinado produto na consulta de estoques por data o sistema exibia mensagem referenciando: "existem produtos que não serão mostrados de forma correta pois o fechamento dos estoques não foi rodado...". Na nova forma de busca o tratamento será da mesma forma. Quando o sistema detectar que existe um movimento superior ao encontrado na busca dos saldos, um aviso será dado, e o fechamento deverá ser executado (pode ser apenas uma simples atualização do produto que está sendo consultado).
Botões
Processar
Prepara a base com o controle da busca de saldos atualizando os
campos ULTMDI (último movimento do dia) na tabela de movimentos de
estoques (E210MVP) e o campo INDOTI (indicativo se a respectiva
filial foi inicializada para buscar os saldos de estoque de forma
otimizada na tabela de parâmetros de estoque da filial (E070EST).
Reverter
Retira o controle da busca de saldos para o processo normal, não
otimizado.