DBSTRUCT( )
Crea una matriz, que contiene la estructura de una base de datos
Sintaxis
DBSTRUCT() –> aEstruct
Devuelve
DBSTRUCT() devuelve la estructura del fichero de base de datos actual en una matriz, cuya longitud es igual al número de campos del fichero de base de datos. Cada elemento de la matriz es una submatriz, que contiene la información de un campo. Las submatrices tienen el formato siguiente:
Matriz de Retorno DBSTRUCT()
————————————————————————
Posición Metasímbolo Dbstruct.ch
————————————————————————
1 cNombre DBS_NAME
2 cTipo DBS_TYPE
3 nLongitud DBS_LEN
4 nDecimales DBS_DEC
————————————————————————
Si no hay fichero de base de datos en uso en el área de trabajo actual,DBSTRUCT() devuelve una matriz vacía ({}).
Descripción
DBSTRUCT() es una función de base de datos que actúa de forma similar a COPY STRUCTURE EXTENDED creando una matriz de información de estructura en lugar de un fichero de base de datos de información de estructura. Existe otra función, DBCREATE(), que puede crear un fichero de base de datos a partir de la matriz de estructura.
Por defecto, DBSTRUCT() actúa en el área de trabajo seleccionada actualmente. Funciona en un área de trabajo no seleccionada si la especifica como parte de una expresión de alias, tal como se muestra a continuación.
Observe, que un fichero de cabecera, Dbstruct.ch, situado en \DPXBASE5\INCLUDE contiene una serie de constantes declaradas para cada atributo de campo.
Ejemplos
¦ Este ejemplo abre dos ficheros de base de datos, después, se crea una matriz que contiene la estructura de base de datos, utilizando DBSTRUCT() en una expresión alias. Los nombres de campo se listan utilizando AEVAL():
#include “Dbstruct.ch”
//
LOCAL aEstruct
USE Cliente NEW
USE Facturas NEW
//
aEstruct := Cliente->(DBSTRUCT())
AEVAL( aEstruct, {aCampo QOUT(aCampo[DBS_NAME])} )
Ficheros: La biblioteca asociada es DPXBASE.CH, el fichero de cabecera es Dbstruct.ch.