O recálculo do custo médio reprocessa as movimentações em um determinado período para fazer a apuração do custo médio, e um dos principais fatores que afetam o resultado obtido é a ordenação que os movimentos assumem.
O presente documento busca esclarecer qual o papel do campo de numeração sequencial (NUMSEQ) dentro da ordenação do recálculo.
Para mais detalhes das ordens do recálculo, acesse a documentação:
PEST05506 Como a rotina Recalculo de Custo Médio(MATA330) reordena as movimentações?
Dentre as configurações disponíveis, temos o método de apropriação, que vai indicar a forma principal de como os movimentos são ordenados:
O índice que determina a ordem dos movimentos usado no arquivo de movimentos do recálculo (TRB) é o índice 3:
DTOS(TRB_DTBASE)+TRB_SEQPRO+TRB_ORDEM+TRB_NIVEL+TRB_NIVSD3+TRB_CHAVE+TRB_SEQ
O método de apropriação configurado determina o preenchimento dos campos TRB_DTBASE e TRB_SEQPRO:
| Método de apropriação | TRB_DTBASE | TRB_SEQPRO |
|---|---|---|
| Mensal | Data de fechamento | Vazio |
| Diária | Data do movimento | Vazio |
| Sequencial | Data de fechamento | Sequencia do movimento (NUMSEQ) |
Desta forma, quando selecionamos o método de apropriação sequencial, o recálculo vai considerar a ordem dos movimentos conforme sua inclusão no sistema, pois a data dos movimentos será sempre igual no arquivo de trabalho (TRB).
Dentro da ordem 300 - movimentos internos, é possível alterar a ordenação padrão do recálculo, quando o método de apropriação for Mensal ou Diário, utilizando o parâmetro MV_SEQ300 e MV_M330TCF.
Ao habilitar o MV_SEQ300, os movimentos de ordem 300 passarão a gravar o campo TRB_SEQPRO com o NUMSEQ da tabela de movimentos, desde que o tipo do movimento não seja especificado no MV_M330TCF, assim, ordenando-os conforme sequencia de inclusão no sistema.
Para maiores detalhes do funcionamento dos parâmetros, consulte as documentações abaixo:
MV_SEQ300 - Sequenciamento da Ordem 300 no Recálculo do Custo Médio
O campo NUMSEQ recebe valores alfanuméricos, e possui 2.176.782.336 combinações possíveis, sendo altamente improvável que ocorra a reinicialização da sequência. Ainda assim, em ambientes com alto volume de movimentações, após anos de uso, pode ocorrer a reinicialização da sequência. No recálculo do custo médio, ao utilizar o método de apropriação sequencial, pode ocorrer ordenação incorreta dentro do período em que a reinicialização ocorrer.
A partir do release 12.1.2410, foi liberada a criação do campo INSDT nas tabelas do sistema. O campo é preenchido automaticamente pelo banco de dados com a data e hora da inclusão do registro na tabela.
Assim, para resolver o problema, foi desenvolvida uma melhoria na rotina, onde o campo INSDT também é utilizado ao montar o arquivo de trabalho do recálculo do custo médio.
Para mais detalhes, consulte a documentação abaixo:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX