set

Las secciones que siguen describen el efecto de una sentencia EGL set:

Efecto sobre un registro (o un registro fijo) como un todo

La tabla siguiente describe las sentencias set que afectan a un registro como un todo, aun registro fijo como un todo o a una matriz de cualquiera de los dos.

Formato de sentencia set Efecto
set record empty Vacía cada uno de los campos elementales. Para un registro, se vacía cada registro subordinado, como está cada subordinado de esos subordinados, etc. Para un registro fijo (que puede estar en un registro), los campos elementales están en el nivel más bajo de la estructura fija.
El efecto sobre cada campo elemental depende del tipo primitivo de ese campo:
  • Para un campo de tipo ANY, la sentencia set inicializa el campo de acuerdo con el tipo actual del campo y si el campo es de tipo ANY y no tiene otro tipo, la sentencia set no surte efecto
  • Para obtener detalles sobre campos de otros tipos, consulte la sección Inicialización de datos
set record initial Restablece los valores de campo en los especificados por la propiedad value durante el desarrollo, tal como es posible para un registro o registro fijo declarado en un pageHandler o formulario. Un valor establecido por asignación no se reintegra nunca.

Si la propiedad value no tiene ningún valor o si el registro no está en un pageHandler o formulario, el efecto de set record initial es el mismo que el efecto de set record empty con una excepción: para un campo de tipo ANY, la sentencia set elimina cualquier especificación de tipo distinto a ANY.

set record position Establece la posición en el archivo VSAM asociado a un registro fijo de tipo indexedRecord, tal como se describe posteriormente.

Este formato de sentencia set no está disponible para una matriz.

Puede combinar formatos de sentencia insertando una coma para separar las opciones. Para un recuerdo dado, las opciones entran en vigor por el orden en el que aparecen en la sentencia set. Además, también puede especificar varios registros insertando una coma para separar uno de otro.

El diagrama de sintaxis es el siguiente:


Diagrama de sintaxis de la sentencia set que afecta a la totalidad de un registro
nombre de registro
Nombre de un registro o de un registro fijo de cualquier tipo. Puede especificar una matriz.
nombre de registro indexado
Nombre de un registro fijo de tipo indexedRecord. Puede especificar una matriz solo si no incluye set record position.
empty
Como se ha descrito en la tabla anterior.
initial
Como se ha descrito en la tabla anterior.
position
Establece una posición de archivo basada en el valor de set, que es el valor de clave de un registro indexado. El efecto global depende de la siguiente operación de entrada o salida realizada por el código en el mismo registro indexado:
  • Si la siguiente operación es una sentencia EGL get next, dicha sentencia lee el primer registro de archivo cuyo valor de clave es igual o superior al valor de set. Si no existe tal registro, el resultado de la sentencia get next es endOfFile.
  • Si la operación posterior a una sentencia set record position es una sentencia EGL get previous, dicha sentencia lee el primer registro de archivo cuyo valor de clave es igual o inferior al valor de set. Si no existe tal registro, el resultado de la sentencia get previous es endOfFile.
  • Cualquier otra operación posterior a set record position restablece la posición de archivo, y la sentencia set record position no tiene ningún efecto.
Si el valor de set está rellenado con caracteres FF hexadecimales, se realiza lo siguiente:
  • La sentencia set record position establece una posición de archivo posterior al último registro del archivo
  • Si la próxima operación es una sentencia get previous, se recupera el último registro del archivo

Efecto sobre la totalidad de un formulario

La tabla siguiente describe las sentencias set que afectan a la totalidad de un formulario.

Formato de sentencia set Efecto
set form alarm Sólo para formularios de texto; hace sonar una alarma la próxima vez que una sentencia converse presenta el formulario.
set form empty Vacía el valor de cada campo en el formulario, borrando el contenido. El efecto sobre un campo determinado depende del tipo primitivo:
  • Para un campo de tipo ANY, la sentencia set inicializa el campo de acuerdo con el tipo actual del campo y si el campo es de tipo ANY y no tiene otro tipo, la sentencia set no surte efecto
  • Para obtener detalles sobre campos de otros tipos, consulte la sección Inicialización de datos
set form initial Restablece cada campo del formulario en su estado definido originariamente, según lo indicado en la declaración de formulario. Los cambios efectuados por el programa se cancelan. Para un campo de tipo ANY, la sentencia set elimina cualquier especificación cuyo tipo sea distinto a ANY.
set form initialAttributes Restablece cada campo del formulario en su estado definido originariamente, según lo indicado en la declaración de formulario. El contenido del campo no se ve afectado, ni (en el caso de un campo de tipo ANY) es el tipo afectado.

Puede combinar formatos de sentencia insertando una coma para separar opciones como empty y alarm. Además, también puede especificar varios formularios insertando una coma para separar un formulario del siguiente.

Puede elegir uno o ninguno de los siguientes formatos:
  • set form empty
  • set form initial
Puede elegir uno, ambos o ninguno de los siguientes formatos:
  • set form alarm (disponible sólo para formularios de texto)
  • set form initialAttributes

El diagrama de sintaxis es el siguiente:


Diagrama de sintaxis de la sentencia set que afecta a la totalidad de un formulario
nombre de formulario
Nombre de un formulario de tipo texto o impresión, tal como se describe en el apartado Componente de formulario.
nombre de formulario de texto
Nombre de un formulario de tipo texto, como se describe en el apartado Componente de formulario.

Las opciones son las descritas en la tabla anterior.

Efecto sobre un campo en cualquier contexto

La tabla siguiente describe el formato de la sentencia set que afecta a un campo en cualquier contexto.

Formato de sentencia set Efecto
set field empty Vacía el campo o (para un campo fijo con una subestructura) vacía cada campo elemental, subordinado.
El efecto depende del tipo primitivo de un campo:
  • Para un campo de tipo ANY, la sentencia set inicializa el campo de acuerdo con el tipo actual del campo y si el campo es de tipo ANY y no tiene otro tipo, la sentencia set no surte efecto
  • Para obtener detalles sobre campos de otros tipos, consulte la sección Inicialización de datos
set field null Anula el campo, si ello es válido. Para conocer detalles acerca de cuándo es válida la operación, consulte la sección itemsNullable. Para conocer detalles de proceso nulo en registros SQL, consulte la sección Propiedades del elemento SQL.

El diagrama de sintaxis es el siguiente:


Diagrama de sintaxis de la sentencia set que afecta a un elemento o matriz no de formulario
nombre de campo
Nombre del campo.

Puede seleccionar una u otra opción y cada una se describe en la tabla anterior.

Efecto sobre un campo de un formulario de texto

La tabla siguiente describe las sentencias set que afectan a un campo o a una matriz de campos de un formulario de texto. Una sentencia set determinada puede combinar opciones solamente mediante un conjunto de métodos determinado, como se describe más adelante.

Nota: Muchas de las acciones descritas dependen del dispositivo en el que se visualice el formulario de texto. Se recomienda probar la salida de cada uno de los dispositivos soportados.

Formato de sentencia set Efecto
set field blink Provoca que el texto parpadee repetidamente. Esta opción solo está disponible en programas COBOL.
set field bold Hace que el texto aparezca en negrita.
set field cursor Sitúa el cursor en el campo especificado.

Si el campo identifica una matriz y no tiene valor de apariciones, el cursor se sitúa en el primer elemento de matriz por omisión.

Si el programa ejecuta varias sentencias en el formato set field cursor, la última de ellas estará en vigor cuando se ejecute la sentencia converse.

set field defaultColor Establece la propiedad color específica del campo en defaultColor, lo que significa que otras condiciones determinan el color visualizado. Para obtener detalles, consulte el apartado Propiedades de presentación de campos.
set field dim Hace que el campo aparezca con menos intensidad de la normal. Utilice este efecto para quitar énfasis al contenido de un campo.

Esta opción no está disponible z/OS.

set field empty Inicializa el valor del campo, borrando el contenido. El efecto sobre un campo determinado depende del tipo primitivo, como se describe en el apartado Inicialización de datos.
set field full Establece un campo vacío, en blanco o nulo en una serie de caracteres idénticos antes de que se presente el formulario:
  • El carácter es un asterisco (*) si la propiedad de campo fillCharacter tiene el siguiente valor (que es también el valor por omisión para fillCharacter):
    • 0 para campos de tipo HEX
    • espacio para campos de tipo numérico
    • serie vacía para otros campos
  • Si fillCharacter no se establece como se ha descrito, el carácter será idéntico al valor de fillCharacter.

Los caracteres del formulario sólo se devuelven al programa si el código de datos modificados del campo se establece según lo descrito en el apartado Código y propiedad de datos modificados. Un usuario que cambie el campo debe eliminar todos los caracteres que se encuentren en el campo para evitar que vuelvan al programa.

La utilización de set field full sólo tiene efecto si el grupo de formularios se genera con la opción setFormItemFull del descriptor de construcción.

Un campo de tipo MBCHAR se considera vacío si sólo contiene espacios de un solo byte. En relación a este tipo de campos, set field full asigna una serie de caracteres de un solo byte.

set field initial Vuelve a establecer el campo en el estado definido originariamente, independientemente de los cambios efectuados por el programa
set field initialAttributes Vuelve a establecer el campo en el estado definido originariamente, sin utilizar la propiedad value (que especifica el contenido actual del campo)
set field invisible Hace invisible el texto del campo
set field masked Adecuado para los archivos de contraseña. Si el formulario de texto lo presenta un programa Java, se visualiza un asterisco en lugar de cualquier carácter distinto de un espacio en blanco que teclee el usuario en un campo de entrada. Sin embargo, esta opción no surte efecto si el formulario de texto lo presenta un programa COBOL. Si el formulario de texto lo presenta un programa COBOL, esta opción hace invisible el texto del campo.
set field modified Establece el código de datos modificados según lo descrito en el apartado Código y propiedad de datos modificados.
set field noHighlight Elimina los efectos especiales de parpadeo, inversión y subrayado.
set field normal Vuelve a establecer los campos según lo descrito en relación a los siguientes formatos:
  • Set field normalIntensity
  • Set field unmodified
  • Set field unprotected

Para obtener detalles, consulte la tabla siguiente.

set field normalIntensity Establece el campo como visible, sin negrita.
set field protect Establece el campo de forma que el usuario no pueda sobreescribir el valor en él. Consulte también el formato set field skip.
set field reverse Invierte los colores del texto y del fondo, de forma que (por ejemplo), si la pantalla tiene un fondo oscuro y el texto claro, el fondo pasa a ser claro y el texto pasa a ser oscuro.
set field colorSeleccionado Establece la propiedad color en el valor especificado. Los valores válidos para colorSeleccionado son los siguientes:
  • black
  • blue
  • green
  • pink
  • red
  • torquoise
  • white
  • yellow
set field skip Establece el campo de forma que el usuario no pueda sobreescribir el valor en él. Además, el cursor pasa por alto el campo en cualquiera de estos casos:
  • El usuario trabaja en el campo anterior por orden de tabulación y pulsa el tabulador o rellena ese campo anterior con contenido; o
  • El usuario trabaja en el campo siguiente por orden de tabulación y pulsa Mayúsculas Tabulador.
set field underline Coloca un subrayado en la parte inferior del campo.
set field unprotect Establece el campo de forma que el usuario pueda sobreescribir el valor en él.
Puede combinar formatos de sentencia insertando una coma para separar opciones como cursor y full, de cualquiera de estas formas:
  1. Puede construir una sentencia set del siguiente modo:
    • Elija uno o ninguno de estos formatos de atributo de campo:
      • set field initialAttributes
      • set field normal
    • Elija cualquier número de los siguientes formatos:
      • set field cursor
      • set field empty
      • set field full
  2. En segundo lugar, puede construir una sentencia set a partir de cualquier número de formatos de texto:
    • set field cursor
    • set field full
    • set field initial o set field initialAttributes
  3. Por último, puede construir una sentencia set del siguiente modo:
    • Elija cualquier número de los siguientes formatos:
      • set field cursor
      • set field full
      • set field modified
    • Elija uno o ninguno de los formatos de color:
      • set field defaultColor
      • set field selectedColor
    • Elija uno o ninguno de los formatos de resaltado:
      • set field blink
      • set field reverse
      • set field underline
      • set field noHighlight
    • Elija uno o ninguno de los formatos de intensidad:
      • set field bold
      • set field dim
      • set field invisible
      • set field masked
      • set field normalIntensity
    • Elija uno o ninguno de los formatos de protección:
      • set field protect
      • set field skip
      • set field unprotect

El diagrama de sintaxis es el siguiente:


Diagrama de sintaxis de las sentencias set que afectan a un campo de texto
nombre de campo
Nombre del campo de un formulario de texto. El nombre puede hacer referencia a una matriz de campos.

Las opciones son las descritas en la tabla anterior.

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.