No vídeo de hoje, iremos responder a dúvida em como validar se um campo existe via AdvPL usando a função FieldPos.
Hoje, a dúvida foi feita pelo grande Rodrigão, onde, ele tinha um campo que estava criado na base de testes, e ainda não estava em produção, então como ele precisava compilar o fonte, como fazer a validação se o campo existia para tratar esse cenário.
Com isso em mente, é necessário usar a classe FieldPos logo após dar um DbSelectArea na tabela, caso exista a informação, virá a posição do campo na estrutura.
E abaixo o código fonte desenvolvido para exemplificar:
//Bibliotecas #Include 'Totvs.ch' /*/{Protheus.doc} User Function zVid08 Função de exemplo demonstrando o uso da FieldPos @author Atilio @since 28/01/2022 @version 1.0 @type function /*/ User Function zVid08() Local aArea := GetArea() DbSelectArea("SB1") //Verifica se o campo existe If FieldPos("B1_X_CAMPO") > 0 /* Aqui da para fazer a customização caso o campo exista*/ Else Help(, , 'Atenção - Dicionário', , 'O campo [B1_X_CAMPO] não foi encontrado!', 1, 0, , , , , , {'Contate o Administrador do Sistema'}) EndIf RestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.