Neste artigo iremos mostrar como criar campos no banco de dados via comando através da função X31UPDTABLE.
Quem nunca passou pelo problema de ter que replicar um campo de uma empresa ou base para outra e não conseguir acesso exclusivo ao sistema para atualizar a base através do Configurador.
Pensando em tal problema, iremos mostrar como podemos driblar esta dificuldade.
A ideia é: incluir o campo direto no SX3, e atualizar o banco via comando através da rotina fórmulas.
O comando é X31UPDTABLE(“ALIAS”)
Lembre-se, que para que funcione este comando, a tabela que utilizar no “ALIAS” não pode estar aberta por nenhuma rotina.
Vamos lá, em nosso exemplo incluiremos um campo na tabela de clientes (SA1).
Abra o arquivo SX3 da empresa que deseja incluir o campo.
Faça o Append do campo que precisa incluir na tabela.
Dica: Atente-se para questão da ordem do campo. Caso a ordem do campo que está incluindo já esteja sendo utilizada por outro campo, altere para uma ordem do final que ainda não exista, e depois que rodar o comando e atualizar o banco, você pode alterar apenas a ordem através do Configurador, para alteração de ordem não é necessário acesso exclusivo.
A rotina Formulas está disponível em praticamente todos os módulos. Normalmente no caminho Atualizações>Cadastros>Formulas
*Exemplo pelo modulo compras.
Agora é só chamar a função no campo Formula e dar enter, assim os campos do banco de dados ficarão atualizados de acordo com que está no dicionário de dados SX3.
Dica: Está funcionalidade ( X31UPDTABLE ) serve para incluir ou excluir campos.
Dahora!!