Para que serve o TOP_FIELD?

Olá pessoal…

Você conhece a tabela TOP_FIELD do Protheus? Sabe para qual funcionalidade ela serve?

Supondo que meu banco de dados A, campos do tipo Data guardam a informação como DD-MM-YYYY, e meu banco de dados B, campos data ficam como YYYY-MM-DD HH-MM-SS, para que essas questões não ficassem presas aos bancos, no Protheus, campos do tipo Data, Lógico, Memo, etc… são criados com tipos mais comuns, como por exemplo, o tipo Data no no banco do Protheus é Caracter (“YYYYMMDD”).

Mas como o banco vai saber que esse campo é na verdade do tipo Data? Aí que entra a tabela TOP_FIELD, nessa tabela, contém todos os campos que serão necessários uma “conversão” de tipo, ao serem manipulados pelo Protheus. Portanto, todos os campos do tipo Data estão nessa tabela, e assim que você dá um DbSelectArea, o próprio DbAccess tem instruções para ir nessa TOP_FIELD e procurar se existe algum campo nessa tabela para conversão.

Então caso você precise procurar algum dia os campos que necessitarão de conversão, ou procurar campos do tipo Data, basta dar um select nessa TOP_FIELD. Abaixo um exemplo, em que eu procuro todos os campos do tipo Data, com o final das tabelas sendo 010.

Exemplo de Select na TOP_FIELD

Exemplo de Select na TOP_FIELD

Bom pessoal, por hoje é só.
Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação