Sentencia OpenUI

La sentencia OpenUI se utiliza para procesar todos los eventos que se producen como resultado de las acciones de usuario. OpenUI abre y visualiza en la consola el destino o los destinos de las sentencias.

La sintaxis de la sentencia OpenUI es la siguiente:


Sentencia OpenUI
OpenAttributes
OpenAttributes define propiedades de la sentencia OpenUI. Puede definir varias propiedades y debe separarlas mediante una coma. Las propiedades se definen como
propiedad = valor
tal como se muestra en este ejemplo:
isConstruct = yes

La tabla 1 define las propiedades iniciales de OpenUI.

Tabla 1. Propiedades de OpenUI
Propiedades Tipo / Valor predeterminado Tipo de datos Descripción
allowAppend boolean; yes ArrayDictionary Si el valor es yes, permite al usuario insertar datos al final de la matriz moviendo el cursor a la primera fila después de la matriz.
allowDelete boolean; yes ArrayDictionary Si el valor es yes, permite al usuario suprimir datos de arrayDictionary utilizando la tecla KEY_DELETE.
allowInsert boolean; yes ArrayDictionary Si el valor es yes, permite al usuario insertar datos en arrayDictionary utilizando la tecla KEY_INSERT.
bindingByName boolean; no

Form

Dictionary

ConsoleField

Especifica cómo emparejar los elementos del campo de formulario con los elementos listados en la cláusula de enlace.
  • Si el valor es yes, los valores se enlazan por nombre.
  • Si el valor es no, los valores se enlazan por posición.
color colorKind; defaultColor   El valor del color que se desea aplicar.
currentArrayCount integer ArrayDictionary El número de entradas en arrayDictionary es fijo y no puede cambiarse. Este valor indica a la siguiente sentencia OpenUI cuántas filas están en la matriz de datos que se visualiza en la matriz de pantalla (arrayDictionary).
displayOnly boolean; yes

Form

Dictionary

ArrayDictionary

ConsoleField

Si el valor es yes, todos los datos se visualizan solamente para ver; el usuario final no puede modificar la información.
helpMsgKey string; null   Tecla que busca en el texto de ayuda de un archivo de recursos. Si los atributos help y helpMsgKey están presentes, help tiene preferencia.
help string; null   Texto que se muestra al usuario cuando se pulsa la tecla KEY_HELP. Si los atributos help y helpMsgKey están presentes, help tiene preferencia.
highlight highLightKind[]; defaultHighlight   El valor del resaltado que se desea aplicar.
intensity intensityKind; defaultIntensity   El valor de intensidad que se desea aplicar.
isConstruct boolean; no

Form

Dictionary

ConsoleField

Si el valor es yes, las reglas de validación de tiempo de ejecución seguirán la sintaxis necesaria para ConstructQuery().
maxArrayCount integer ArrayDictionary El número de entradas en arrayDictionary es fijo y no puede cambiarse. Este valor indica a la siguiente sentencia OpenUI cuántos registros puede contener la matriz de datos para la sentencia OpenUI siguiente. Una vez alcanzado el límite máximo, el usuario no puede insertar más filas.
setInitial boolean; no

Form

Dictionary

ArrayDictionary

ConsoleField

Si el valor es yes, los valores del campo definidos inicialmente se visualizarán hasta que el usuario final modifique el valor del campo.
OpenableElements
Los elementos siguientes pueden abrirse con OpenUI:
  • WindowInstance
  • FormElements (ConsoleForm object, ConsoleFields)
  • MenuInstance
  • PromptInstance
Nota: Además de los elementos listados anteriormente, OpenUI también puede aceptar uno o más campos, separados por comas.

OpenUI solo puede aceptar un tipo Window, ConsoleForm, Menu o Prompt a la vez.

BindClause
Esta cláusula indica si los elementos (como por ejemplo FormElements) tienen datos enlazados (como por ejemplo firstName, lastName y address). Si los datos se enlazan a un elemento, cuando se abra activeForm, se accederá y se dará formato a los datos según sus propiedades de datos. El enlace de datos puede predefinirse utilizando el atributo bind para consoleField o establecerse dinámicamente utilizando la cláusula BindClause. La cláusula BindClause tiene preferencia sobre cualquier valor de datos predefinidos. Además, la cláusula bind solo es válida al abrir elementos de formulario o un objeto de solicitud y no es necesaria ni se utiliza cuando isConstruct=yes. Cuando se utiliza bind con elementos de formulario, el número de campos de formulario y variables de programa debe coincidir.
OnEventBlock
Tiene la opción de definir uno o más manejadores de eventos para los elementos, como por ejemplo after_insert, before_delete o on_key.

El ejemplo siguiente abre el formulario activo actual para leer y asigna las variables locales a cada uno de los ConsoleFields. El evento after_field para el campo de consola 'city' cumplimenta los valores de estado y código postal.
		openUI {bindingByName=yes}
			activeForm
			bind firstName, lastName, address, city, state, zipCode
			OnEvent(AFTER_FIELD:"city")
				if (city == "Lenexa")
					state = "KS";
					zipCode = 66062;
				end
		end
Tabla 2. Eventos que se producen por tipo de datos en una sentencia OpenUI
Tipo de datos EventKind
Todos los OpenUI excepto Window

AFTER_OPENUI

BEFORE_OPENUI

ON_KEY

ArrayDictionary

(cuando displayOnly = no)

AFTER_DELETE

AFTER_INSERT

AFTER_ROW

BEFORE_DELETE

BEFORE_INSERT

BEFORE_ROW

ConsoleField

AFTER_FIELD

BEFORE_FIELD

Menu

MENU_ACTION

Window Ninguno

Cerrar la sentencia OpenUI

Lo siguiente es cierto para finalizar la sentencia OpenUI:
Además, deben seguirse las reglas siguientes para la sentencia OpenUI:

Conceptos relacionados
Interfaz de usuario de consola

Consulta relacionada
Biblioteca de consola
Tipos de registro ConsoleUI
Opciones de pantalla ConsoleUI para UNIX
Enumeraciones para ConsoleUI
Paquete egl.ui.console
Programa de UI de texto en formato fuente EGL

Tareas relacionadas
Crear una interfaz de usuario de consola

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