Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Incluir Página
tec:DBStruct
tec:DBStruct

Sintaxe

 

DBSTRUCT()

 

Propósito

 

Cria um array contendo a estrutura de um arquivo de dados.

 

Argumentos

 

Nenhum.

 

Utilização

 

A função retorna a estrutura do arquivo de dados em uso na área de trabalho selecionada.

 

O tamanho do array é igual ao número de campos do arquivo de dados. Cada elemento do array é composto por um subarray com as informações de cada campo do arquivo de dados. Esse subarray possui quatro elementos contendo as seguintes características de cada campo do arquivo de dados:

 

Elemento

Significado

Tipo

Dbstruct.ch

1

Nome

Caracter

DBS_NAME

2

Tipo

Caracter

DBS_TYPE

3

Tamanho

Numérico

DBS_LEN

4

Decimais

Numérico

DBS_DEC

 

Dicas

 

Normalmente, a função DBSTRUCT() opera sobre a área de trabalho selecionada. Contudo, pode ser especificado outro alias. Neste caso, a função operará sobre outra área de trabalho. Por exemplo: <alias>->DBSTRUCT() fornece um array com a estrutura do arquivo de dados aberto na área de trabalho especificada pelo alias.

 

Para facilitar as referências aos vários elementos que definem a estrutura de um arquivo de dados, o arquivo cabeçalho PROTHEUS.CH contém os nomes de cada posição do array estrutura.

 

No Protheus, é possível obter a estrutura dos arquivos de dados através do dicionário de dados, no Arquivo SX3. Portanto, a utilização do DBSTRUCT() é mais indicada para os arquivos de trabalho criados dinamicamente num determinado programa.

 

Exemplos

 

No exemplo abaixo, a função DBSTRUCT() é utilizada para criar o array aEstTRB, que conterá a estrutura do arquivo de trabalho TRBCLI.CDX. Em seguida, a função AEVAL() é utilizada para avaliar um bloco de código que lista os nomes dos campos do arquivo.

 

#include “PROTHEUS.CH”

 

LOCAL aEstTRB := {}

 

aEstTRB := TRB->(DBSTRUCT())

 

AEVAL(aEstTRB, { |aField| MsgAlert(aField[DBS_NAME]) })