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]) })