Nesse artigo vamos explicar para que serve os campos S_T_A_M_P_ e I_N_S_D_T_, e como habilitá-los na sua base.
Esses dois campos, são para controle interno nas tabelas do Protheus, abaixo uma breve descrição de cada um deles:
- I_N_S_D_T_: armazena a data e hora de quando um registro é inserido em uma tabela
- S_T_A_M_P_: armazena a data e hora de quando um registro é alterado em uma tabela
Abaixo o passo a passo de como ativar:
- Pare os serviços do Protheus
- Vá na pasta do seu DBAccess
- Abra o arquivo dbaccess.ini e dentro dele, nos ambientes que você tiver, adicione UseRowInsDt=1 e UseRowStamp=1 (para ativar o insdt e Stamp respectivamente). Abaixo um print de exemplo:
- Suba os serviços do Protheus
- Se a tabela que você quer que esses campos sejam criados, já existir, faça um backup dela e drope. Senão, basta abrir alguma tela que irá ser criado a tabela já com os campos
- Agora ao fazer alguma manutenção na tabela, os dados serão gravados, conforme print abaixo
Referências:
- TDN – Boas práticas para utilização dos campos S_T_A_M_P_ e I_N_S_D_T_ do TOTVS
- TDN – Implementação – Campo de controle adicional no DBAccess – I_N_S_D_T_
- TDN – Implementação – Campo de controle adicional no DBAccess – S_T_A_M_P_
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Sabe me dizer se existe alguma forma de criar este campos sem realizar o drop da tabela ? tenho tabela com mais de 3540 milhões registros.
Bom dia Carlos, tudo joia?
Eu nunca precisei sem utilizar o DROP, mas o que você pode fazer então, é o seguinte.
1. Pegue uma tabela que você não tenha ainda, na base de vocês
2. Utilize o mini fórmulas (https://terminaldeinformacao.com/2018/02/13/funcao-para-executar-formulas-protheus-12/) ou algum outro “executador” de programas
3. Abra o DbMonitor e dê um trace na conexão (https://terminaldeinformacao.com/2021/05/27/como-rastrear-conexoes-pelo-dbmonitor-e-dbaccess/)
4. Dê um DbSelectArea nesse alias, e veja se nas queries vai ter algum comando de como ele cria essas colunas
OU
1. (se for SQL Server), Tente dar um sp_help com o nome da tabela que já tem o campo criado
2. Veja o tipo do campo e as configurações
Ai você pega esse comando / configurações, da um ALTER TABLE na sua coluna, adicionando o campo exatamente igual na outra tabela
Obs.: Faça isso primeiro na base de testes
Abraços.