Sintaxis
FIELD(<expresión numérica>)
Propósito
Devuelve el nombre de un campo del archivo de datos corriente.
Argumentos
<expresión numérica>
Define un número entero que corresponde a la posición del campo deseado dentro de la estructura del archivo de datos.
Utilización
Si el número de la expresión es mayor que el número de campos del archivo, se suministrará una cadena de caracteres nula. Mientras tanto, la función COUNT() se puede utilizar para determinar la cantidad de campos que el archivo tiene, evitando así sobrepasarla.
Ejemplos
Supongamos que la estructura de un archivo de trabajo temporal esté compuesto por los campos TRB_FILIAL, TRB_CODIGO, TRB_NOME, TRB_ENDERE, TRB_CIDADE, TRB_ESTADO y TRB_CEP. En el siguientes ejemplo, obtendremos los nombres de los campos de este archivo:
MsgAlert(FIELD(1)) // Retorna “TRB_FILIAL”
MsgAlert(FIELD(2)) // Retorna “TRB_CODIGO”
MsgAlert(FIELD(3)) // Retorna “TRB_NOME”
MsgAlert(FIELD(4)) // Retorna “TRB_ENDERE”
MsgAlert(FIELD(5)) // Retorna “TRB_CIDADE”
MsgAlert(FIELD(6)) // Retorna “TRB_ESTADO”
MsgAlert(FIELD(7)) // Retorna “TRB_CEP”
Para que este código sea genérico, podemos utilizar la siguiente estructura:
LOCAL nTam := TRB->(FCOUNT())
LOCAL nPos := 0
// Mostrará el nombre de todos los campos del archivo de trabajo cuyo alias es TRB.
FOR nPos := 1 TO nTam
MsgAlert("Nombre del campo: “ + PADR(FIELD(nPos), 10))
NEXT nPos