Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmento - Backoffice (Linha Protheus) - SIGAEST - MATA300 - Processamento do Refaz Saldos via EXECAUTO

O artigo aborda a execução da rotina MATA300 no sistema TOTVS Protheus, utilizada para recalcular saldos de estoque com base em movimentos. A execução pode ser feita em modo automático (EXECAUTO) ou via Job, com a possibilidade de ser realizada enquanto o sistema está em uso ou em modo exclusivo, controlado pelo parâmetro MV_CUSTEXC. O artigo destaca a importância de preparar o ambiente e oferece um exemplo de código para execução da rotina, além de links para mais informações sobre agendamento e execução de rotinas no sistema.

time.png Tempo aproximado para leitura: 00:02:00 min

Dúvida
Como executar a rotina MATA300 - Refaz Saldos via execução automática (EXECAUTO) ou Job?
 

Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - Estoque/Custos - Todas as versões
 

Solução
A rotina MATA300 tem como finalidade recalcular os saldos de estoque com base nos movimentos (entradas, saídas e movimentações internas), reconstruindo saldos iniciais e finais em quantidade e valor para cada produto.

Importante

O comportamento da rotina é controlado pelo parâmetro MV_CUSTEXC:

  • MV_CUSTEXC = "N" → Permite execução com o sistema em uso por outros usuários.
  • MV_CUSTEXC = "S" → Exige execução em modo exclusivo (recomendado).

Esta rotina pode ser executada com o sistema em uso por todos os usuários. Nesse caso, as movimentações que estejam acontecendo simultaneamente ao cálculo podem influenciar no resultado. Para que a rotina seja executada dessa forma o parâmetro MV_CUSTEXC deve estar com o conteúdo igual a "N".

Outra forma de execução (mais segura) é com o sistema em modo exclusivo, sem outros usuários utilizando os arquivos necessários ao cálculo. Para que a rotina seja executada dessa forma, o parâmetro MV_CUSTEXC deve estar com o conteúdo igual a "S'.

Parâmetros
Nome: PARAMIXB
Tipo: Lógico
Descrição: Define se a execução será em modo batch (.T.) ou interativo (.F.).
Obrigatório: Sim
Programa Fonte
MATA300.PRX
Sintaxe
MATA300(PARAMIXB) -- Nil
Retorno
Nil (sem retorno direto; efeitos visíveis nos saldos recalculados)

Observações

  • É possível executar via rotina customizada usando MSExecAuto.
  • É obrigatório preparar o ambiente com PREPARE ENVIRONMENT.

Exemplo:

#include "rwmake.ch"
#include "TbiConn.ch"

User Function jobm300()

    Local PARAMIXB := .F. // Executa em modo interativo
    Local aemp := {"99", "01"} // Empresa e Filial

    PREPARE ENVIRONMENT EMPRESA aemp[1] ;
                         FILIAL aemp[2] ;
                         USER 'Administrador' ;
                         PASSWORD '' ;
                         TABLES "SB1","SB2","SB9","SD1","SD2","SD3","SF4" ;
                         MODULO "EST"

    MSExecAuto({|x| mata300(x)}, PARAMIXB)

    RESET ENVIRONMENT

Return Nil

Como apagar os registros SBF onde BF_QUANT esta Zero?

Para que os saldos por endereço sejam zerados, basta fazer uso do parametro MV_M300NG, com o parâmetro MV_MT300NG ativo e Procedure 18 instalada, sempre que um endereço na hora do movimento ou durante o Refaz Saldos ficar zerado (0) ou negativo (-1 em diante), ele de fato apaga de forma lógica do banco de dados, ele não ira SETAR o campo D_E_L_E_T_ com o conteudo =  , indicando que esta deletado, IRA simplesmente DELETAR o registro fisico! e caso voce não use procedure ele vai setar o campo com delet preenchido com asterisco.

 

Pontos de entrada

PE M300SB8 Grava campos específicos no arquivo SB8
PE MA300OK Valida execução da rotina
PE M300SBF Função utilizada para recalcular o saldo atual dos movimentos

 

Saiba Mais
Refaz Empenhos via Schedule (MATA215)
Execução do Custo Médio via Schedule (MATA330)
Como agendar a execução de Rotinas?

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _