Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Retorno numérico implementado

Esta função permite ligar/desligar a visibilidade lógica de um campo (ou coluna) de um determinado alias no AdvPL

Sintaxe

 

Bloco de código
NIL := DBSetActFld( <cCampos> , <lAtivo> )

Parâmetros

NomeTipoDescriçãoObrigatórioReferênciaObservações
cCamposCaractere

Um ou mais nomes de campos, separados por virgula, para serem habilitados ou desabilitados, ou "*" (asterisco) para referenciar todos os campos.

SNApenas os campos especificados terão seu status de ativo/inativo afetados pela chamada da função. Os status dos demais campos permanece inalterado.
lAtivoLógico

.T. indica que os campos informados estão ativos, visíveis.

.F. indica que os campos informados estão inativos, sem visibilidade.

SN 

Retorno

NomeTipoDescriçãoObservações
NILNulo

Esta função sempre retorna NIL

 

NIL 

A partir da Build 7.00.131227A, com data de geração superior a 05/10/2016, o retorno passa a ser um valor numérico, indicando quantos campos tiveram sua visibilidade afetada ao executar a instrução.

Observações

A visibilidade de campos altera a estrutura lógica do alias na memória. Ao desabilitarmos um campo, ele deixa de ser retornado pela função DbStruct(), deixa de ser contabilizado pela função FCount(), deixa de ser localizado pela função FieldPos(), é como se o campo simplesmente deixasse de existir.

Se um programa AdvPL tentar ler diretamente um campo inativo, usando a sintaxe alias->campo, o campo será lido, mas será gerada uma mensagem de advertência no log de console do TOTVS | Application Server.

Caso a aplicação tente realizar um REPLACE de um campo desabilitado(alterar o conteúdo do campo), a aplicação AdvPL será interrompida com a ocorrência de erro "Invalid Field assign : Field <ccampo> not active", onde cCampo indica o nome do campo que tentou ser acessado. 

Esta função está disponível a partir da build 7.00.131227A , com data de geração superior a  

Exemplo 
Toggle Cloak
exclusivetrue

Cloak
visibletrue
cppEclipsetrue

Veja também

DBGetActFld