Histórico da Página
Incluir Página | ||||
---|---|---|---|---|
|
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]) })