Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 3 Próxima »

Sintaxis

 

DBSTRUCT()

 

 

Propósito

 

Crea un array que contiene la estructura de un archivo de datos.

 

 

Argumentos

 

Ninguno.

 

 

Utilización

 

Dicha función devuelve la estructura del archivo de datos en uso en el área de trabajo seleccionada.

 

El tamaño del array es igual al número de campos del archivo de datos. Cada elemento del array está compuesto por un subarray con las informaciones de cada campo del archivo de datos. Este subarray tiene cuatro elementos que contiene las siguientes características de cada campo del archivo de datos:

 

Elemento

Significado

Tipo

Dbstruct.ch

1

Nombre

Carácter

DBS_NAME

2

Tipo

Carácter

DBS_TYPE

3

Tamaño

Numérico

DBS_LEN

4

Decimales

Numérico

DBS_DEC

 

 

Sugerencias

 

Normalmente, la función DBSTRUCT() opera sobre el área de trabajo seleccionada. No obstante, se puede especificar otro alias. En este caso, la función operará sobre otra área de trabajo Por ejemplo: <alias>->DBSTRUCT() suministra un array con la estructura del archivo de datos abierto en el área de trabajo especificada por el alias.

 

Para facilitar las referencias a los diversos elementos que definen la estructura de un archivo de datos, el archivo de encabezado PROTHEUS.CH contiene los nombres de cada posición del array estructura.

 

En el Protheus, es posible obtener la estructura de los archivos de datos por medio del diccionario de datos, en el Arquivo SX3. Por lo tanto, la utilización del DBSTRUCT() es más indicada para los archivos de trabajo creados dinámicamente en un determinado programa.

 

 

Ejemplos

 

En el siguiente ejemplo, la función DBSTRUCT() se utiliza para crear el array aEstTRB, que contendrá la estructura del archivo de trabajo TRBCLI.CDX. En seguida, la función AEVAL() se utiliza para evaluar un bloque de código que lista los nombres de los campos del archivo.

 

#include “PROTHEUS.CH”

 

LOCAL aEstTRB := {}

 

aEstTRB := TRB->(DBSTRUCT())

 

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

  • Sem rótulos