Visión general (mandato DATAFILE ATTRIBUTE)

DATAFILE ATTRIBUTE proporciona la posibilidad de definir sus propios atributos de archivo de datos y asignar valores de atributo al conjunto de datos activo.

  • Los atributos de archivo de datos definidos por el usuario se guardan con el archivo de datos en el diccionario de datos.
  • El mandato DATAFILE ATTRIBUTE entra en vigor inmediatamente, actualizando el diccionario de datos sin necesidad de pasar datos.
  • Puede visualizar una lista de archivos de datos y atributos de variables con DISPLAY ATTRIBUTES. Consulte el tema DISPLAY para obtener más información.

Especificación básica

La especificación básica es:

  • La palabra clave ATTRIBUTE seguida de un signo de igual (=) y uno o más nombres de atributo que siguen las reglas de denominación de variables, con cada nombre de atributo seguido de un valor de atributo entrecomillado, entre paréntesis.

o

  • Palabra clave DELETE seguida de un signo de igual (=) y una lista de nombres de atributos o matrices de atributos definidos.

Reglas de la sintaxis

  • Las palabras clave ATTRIBUTE y DELETE deben ir seguidas de un signo igual (=).
  • Cada palabra clave ATTRIBUTE debe ir seguida de un nombre que siga las reglas de denominación de variables y un único valor de atributo entre comillas, entre paréntesis. Consulte el tema Nombres de variables para obtener más información.
  • DISPLAY DICTIONARY o DISPLAY ATTRIBUTESno muestran los nombres de atributo que empiezan por @. Sólo se pueden visualizar con DISPLAY @ATTRIBUTES.
  • Los nombres de atributo que empiezan con un signo de dólar ($) están reservados para uso interno.
  • Todos los valores de atributo deben estar entrecomillados (comillas simples o dobles), incluso si los valores son números.
  • Los valores de atributo pueden tener una longitud máxima de 32.767 bytes.

Ejemplo

DATAFILE ATTRIBUTE 
  ATTRIBUTE=OriginalVersion ('1')
            CreationDate('10/28/2004')
            RevisionDate('10/29/2004').

Matrices de atributos

Si añade un entero entre corchetes al final de un nombre de atributo, el atributo se interpreta como una matriz de atributos. Por ejemplo:

DATAFILE ATTRIBUTE
  ATTRIBUTE=FileAttribute[99]('not quite 100').

creará 99 atributos--FileAttribute [01] hasta FileAttribute[99 ] --y asignará el valor "not quite 100" al último.

  • Los subíndices de matriz (el valor entre corchetes) deben ser enteros mayores que 0. (La numeración del subíndice de matriz empieza por 1, no por 0.)
  • Si el nombre raíz de una matriz de atributos es el mismo que un nombre de atributo existente, la matriz de atributos sustituye al atributo existente. Si no se asigna ningún valor al primer elemento de la matriz (subíndice [1]), se utiliza el valor de atributo original para dicho valor de elemento.

Con la palabra clave DELETE , se aplican las reglas siguientes a las matrices de atributos:

  • Si especifica DELETE seguido de un nombre raíz de matriz y ningún valor entre corchetes, se suprimirán todos los atributos de la matriz.
  • Si especifica DELETE con un nombre de matriz seguido de un valor entero entre corchetes, el elemento de matriz especificado se suprime y los valores enteros para todos los atributos subsiguientes de la matriz (en orden numérico) se cambian para reflejar el nuevo orden de los elementos de matriz.

Ejemplo

DATAFILE ATTRIBUTE    
  ATTRIBUTE=RevisionDate('10/29/2004').
 DATAFILE ATTRIBUTE
   ATTRIBUTE=RevisionDate[2] ('10/21/2005').
DATAFILE ATTRIBUTE
  DELETE=RevisionDate[1]. 
DATAFILE ATTRIBUTE 
  DELETE=RevisionDate.
  • El primer mandato DATAFILE ATTRIBUTE crea el atributo RevisionDate con un valor de 10/29/2004.
  • El segundo comando DATAFILE ATTRIBUTE crea un atributo de matriz llamado RevisionDate, que sustituye al atributo original del mismo nombre. Se crean dos elementos de matriz: RevisionDate[1 ] conserva el valor original de RevisionDate, y RevisionDate[2 ] tiene el valor 10/21/2005.
  • El tercer comando DATAFILE ATTRIBUTE elimina RevisionDate[1 ], y el elemento de la matriz anteriormente conocido como RevisionDate[2 ] se convierte en el nuevo RevisionDate[1 ] (con un valor de 21/10/2005).
  • El último mandato DATAFILE ATTRIBUTE suprime todos los atributos de la matriz RevisionDate , ya que especifica el nombre raíz de la matriz sin un valor entero entre corchetes.