domingo, 26 de marzo de 2017

Trabajando con Text Items

Objetivos:
 Describir los Text Items.
 Modificar la apariencia de un Text Item.
 Controlar de los datos en un Text Item.
 Alterar el comportamiento de navegación entre Text Items.
 Ajustar la relación entre un Text Item y la Base de Datos.
 Agregar funcionalidad a un Text Item.
 Mostrar mensajes útiles.

NOTA: Usamos como ejemplo la Base de Datos: ORCL, la cual viene por defecto en cualquier versión de ORACLE.
______________________________________________________________________________________
Los Text Items.
El tipo de elemento/Item predeterminado en una aplicación Oracle Forms Developer es el Text Item o campo de texto. En publicaciones anteriores hemos visto cómo al crear un nuevo bloque de datos basado en una tabla, se crean Text Items para cada columna seleccionada de dicha tabla. Esta entrega le muestra cómo personalizar estos Items para cambiar su apariencia y comportamiento.

Definición:
Un Text Item es un objeto de interfaz a través del cual puede consultar, insertar, actualizar y eliminar datos. Un Text Item normalmente corresponde a una columna de una tabla de base de datos. Cuando se crea un Item por primera vez, su tipo predeterminado es texto.

El tipo de Item determina las propiedades disponibles en la paleta de propiedades. En esta entrega verá las propiedades de un Text Item.

Utilice la paleta de propiedades para definir, alterar o examinar las características de los Items.

Creando Text Items.
Puede crear un Text Item realizando una de las siguientes acciones:
 Convertir un Item existente al tipo Text Item.
 Usando la herramienta Text Item del Editor de Diseño.
 Usando el icono Crear en el Navegador de objetos.
 Usando los asistentes.

Cómo crear un Text Item en el Editor de Diseño:
1. Abra el Editor de diseño y asegúrese de tener seleccionado el Bloque de Datos donde desea crear el Text Item. En el Editor de diseño, seleccione el bloque de la lista Block (Ver Imagen).
2. En la barra de herramienta, haga clic en el Icono Text Item.
3. Haga clic en algún lugar del Canvas donde quiere que aparezca el Item.
4. Haga doble clic en el Text Item creado para abrir la Paleta de propiedades.
5. Configure las propiedades del Item según sea necesario.
Cómo crear un Text Item desde el Navegador de Objetos:
1. Localice el bloque en el que desea crear el Item.
2. Seleccione el nodo Items.
3. Haga clic en el ícono Crear.
4. Una vez creado el Item, selecciónelo y presione la tecla F4(para abrir sus propiedades.
5. Establezca todas las propiedades según sea necesario, (La Propiedad: Tipo (Type) debe ser igual a Text Item).
Nota: Para que en tiempo de ejecución pueda visualizar un Text Item creado a través del Navegador de Objetos, debe asignar la propiedad Canvas con el nombre del Canvas en cuestión.

Modificando la apariencia de los Text Items.
Las propiedades de un Item se dividen en varios grupos.
Puede afectar a la forma en que se muestra el Text Item alterando los grupos de propiedades como: General, Physical, Records, Font y Color.

 General:
---Tipo de Item: Selecciona de la lista el tipo de Item que desea crear.
 Físico (Physical):
---Visible: determina si el elemento debe ser visible en el Canvas.
---Canvas: Es donde se especifica el Canvas que va a contener al Item. Si no se especifica, se dice que el Item es un elemento de Canvas nulo y no se mostrará en tiempo de ejecución ni en el Editor de Diseño.
---Posición X e Y: Establece las coordenadas X e Y del elemento en relación con el Canvas.
---Anchura y altura (Width and Height:): Establece el ancho y largo del Item en las unidades de coordenadas del Form actual
---Bisel (Bevel): Controla el aspecto del bisel alrededor del elemento; También se puede establecer en Plain (flat) o None.
 Records:
---Current Record Visual Attribute Group: Especifica el nombre del atributo visual a utilizar cuando el Item forma parte del registro actual.
---Distancia entre registros (Distance between records): Especifica el espacio entre instancias del Item en un bloque de múltiples registros.
---Número de Items Mostrados (Number of Items Displayed): Especifica el número de instancias de Items que se muestran cuando dicho Item esta en un bloque de múltiples registros.
 Atributos Visuales: Aquí es donde establece el Atributo Visual que usara el Item de manera individual.
 Color: Las propiedades de esta sección permiten establecer el color de letra(foreground), color de fondo(background), y el patrón de relleno para el elemento que seleccione.
 Fuente (Font): Las propiedades de esta sección determinan el tipo de letra utilizado para el Item, junto con su tamaño, el peso, el estilo y el espaciamiento. Puede hacer doble clic en el grupo Fuente para mostrar un cuadro de diálogo de fuentes que le permite establecer todas estas propiedades a la vez, o puede hacer clic en las propiedades individuales para seleccionar cada uno por separado.

Nota: Cuando el módulo Forms no contiene objetos de atributos visuales, la lista emergente para la propiedad: Visual Attribute Group sólo se muestra la opción: predeterminado (default). Un Item que tiene esta propiedades como predeterminado, hereda los ajustes del Canvas al que pertenece.

Puede controlar la apariencia del Prompt o Etiqueta de un Item de texto mediante las propiedades de los siguientes grupos:
 Prompt: Puede configurar el texto del mensaje y otras propiedades, como:
---Estilo de Visualización (Display Style): Es para especificar en cual registro se mostrara el Prompt o Etiqueta, Opciones: Primer Registro (First Record), Oculo (Hidden), y Todos los Registros (All Records).
---Attachment Edge: Especifica la posición del Prompt con respecto al Item.
---Attachment Offset: Especifica la distancia entre el Item y su Prompt.
 Prompt Color: Permite especificar el color de letra del Prompt.
 Prompt Font: Las propiedades de esta sección determinan el tipo de letra que se utiliza para el Item, junto con su tamaño, peso, estilo y espaciado. Puede hacer doble clic en el grupo Prompt Font para mostrar un diálogo Font que le permite establecer todas estas propiedades de una vez, o puede hacer clic en las propiedades individuales para seleccionar cada una por separado.
______________________________________________________________________________________
Asociar un Texto (Suelto) con un Prompt de un Item.
El Editor de diseño de Forms Builder tiene una herramienta denominada Associate Prompt que le permite crear un Prompt para un Item utilizando cualquier texto suelto que se muestre en el editor. Para crear una asociación de ítem-elemento utilizando la herramienta Associate Prompt, realice los pasos siguientes:
1. Abra el Editor de Diseño.
2. Seleccione el Item y el texto que desee asociar.
3. Haga clic en la herramienta Associate Prompt.
4. Si está reemplazando un Prompt existente, responda Sí al cuadro de diálogo.
______________________________________________________________________________________
Controlando los datos de un Text Item.
Las propiedades del grupo Datos (Data) de un Text Item se utilizan para controlar la forma en que se muestran e introducen los datos.
Algunas de estas propiedades son:
---Tipo de Dato (Data Type): le permite elegir CHAR, DATE, DATETIME y NUMBER; Los demás tipos son para proveer compatibilidad con versiones anteriores.
---Semántica de Longitud de Datos (Data Length Semantics): Puede establecer NULL, BYTE o CHAR para que sean compatibles con varios conjuntos de caracteres. Si la Semántica de longitud de datos es CHAR, la cantidad correcta de almacenamiento se asignará automáticamente según sea necesario para la longitud máxima con un conjunto de caracteres de un solo byte o de varios bytes.
---Longitud Máxima: Especifica la longitud máxima del valor de datos que se puede almacenar en un Item. Si la longitud máxima excede el ancho del Item, Forms automáticamente permite al usuario desplazarse horizontalmente.
---Máscara de Formato (Format Mask): puede especificar cualquier máscara de formato que sea válida para el tipo de datos. Utilice la propiedad Máscara de formato para especificar el formato en el que el usuario ve el valor del Item.
-Utilice la sintaxis estándar de formato SQL para fechas y números; Por ejemplo, DD/MM/YY y $99,999.99 respectivamente.
-Encierre caracteres no-SQL entre paréntesis; Por ejemplo, guión (-) y coma (,).
Nota: Se recomienda evitar la creación de máscaras individuales si las máscaras disponibles son suficientes.
Máscara de Formato FX: La máscara de formato FX en un valor de fecha garantiza que la fecha se ingrese exactamente como se define en la máscara. El elemento D es para decimal y G es un separador de grupo (miles). Ejemplo: Con un formato de fecha DD/MM /AA, las entradas válidas son: 10/12/00, 10 12 00, 10-DEC-00 o 101200. Puede introducir cualquier carácter para representar el (/) en el valor. Los caracteres incrustados se utilizan sólo para fines de visualización y no se almacenan en la Base de Datos.
---Requerido (Required): Especifica si Forms permitirá que dicho Item tenga un valor nulo. Cuando crea un bloque de datos, Forms establece dicha propiedad a los campos que tengan la restricción NOT NULL en la columna de la base de datos, pero puede cambiar el valor posteriormente.
---Valor Menor/Mayor permitido (Lowest/Highest Allowed Value): Especifica el rango de valores aceptados.
---Valor Inicial: Especifica el valor predeterminado asignado a un Item cada vez que se crea un registro; Puede ajustarse para seleccionar de una secuencia. Debe ser compatible con el tipo de datos del Item. Si se especifican los valores Lowest/Highest Allowed, el valor inicial no puede estar fuera del rango.
Creando un Valor Inicial.
Puede utilizar cualquiera de los valores siguientes para emitir un valor inicial cada vez que se crea un nuevo registro:
 Raw value:Eje: 340, RICHMOND
 Variable del sistema:
---Variables que dan la fecha/hora actual del sistema operativo del servidor de aplicaciones:
Variable
Formato
$$DATE$$
DD-MON-YY
$$DATETIME$$
DD-MON-YYYY hh:mi[:ss]
$$TIME$$
hh:mi[:ss]

---Variables que dan la fecha/hora de la base de datos actual:
Variable
Formato
$$DBDATE$$
DD-MON-YY
$$DBDATETIME$$
DD-MON-YYYY hh:mi[:ss]
$$DBTIME$$
hh:mi[:ss]

 Variable global.
Eje: :GLOBAL.CUSTOMER_ID
 Parámetro de Form.
Eje::PARAMETER.SALES_REP_ID
 Item de Form.
Eje: :ORDERS.ORDER_ID
 Secuencia.
El valor inicial puede hacer referencia a una secuencia en la base de datos. Los formularios escriben automáticamente los números de secuencia generados en el Item de texto. Para usar una secuencia, escriba: :secuencia<nombre de secuencia>.nextval.
Eje: :SEQUENCE.ORDERS_SEQ.NEXTVAL

Mas propiedades del Grupo Data:
---Copiar Valor de Item (Copy Value from Item): Especifica el origen del valor que Forms utiliza para llenar el Item. Cuando define una relación maestro-detalle, Forms Builder establece esta propiedad automáticamente en el elemento de clave externa en el bloque de detalle. En estos casos, la propiedad Copy Value from Item nombra el Item de clave principal en el bloque maestro cuyo valor se copia al elemento de clave externa en el bloque de detalles cada vez que se crea o se consulta un registro detalle.
Nota: El Text Item debe desactivar la entrada; De lo contrario, el usuario podría violar la relación de clave externa. Para evitar esto, establezca la propiedad Enabled en No para el elemento de clave foránea o sencillamente no lo muestre en el Canvas.
• Synchronize with Item: Especifica el nombre del Item del cual el elemento actual debe derivar su valor y sincroniza los valores de los dos elementos, de manera que se reflejan efectivamente entre sí. Cuando el usuario final o la aplicación cambia el valor de cualquier elemento, el valor del otro elemento cambia también.
______________________________________________________________________________________
Controlando el Comportamiento de Navegación de los Text Item.
Puede ver la secuencia de navegación predeterminada de los Item en el Navegador de objetos, Esto porque cada Item se muestra en el orden de navegación.
Sin embargo, también puede utilizar las propiedades del grupo de navegación para controlar el comportamiento de navegación de un Text Item.
Propiedad
Función
Keyboard Navigable
Especifica si se podrá navegar al Item en cuestión usando las teclas del teclado (Tab y Shift+Tab). Cuando esta propiedad está establecida en No, Forms omite dicho Item e avanza el siguiente elemento navegable en la secuencia de navegación predeterminada.
Previous Navigation Item
Especifica el Item (Anterior) a visitar cuando use la combinación de teclas Shift+Tab.
Next Navigation Item
Especifica el Item (Siguiente) a visitar cuando use la tecla Tab.
Nota: El Item de navegación siguiente o anterior debe estar en el mismo bloque de datos que el Item actual.
______________________________________________________________________________________
Relación entre el Test Item y la Base de Datos.
Puede modificar/mejorar la manera en que un Text Item interactúa con su columna de Base de Datos correspondiente estableciendo las propiedades del grupo: Base de Datos.
Algunas Propiedades son:
• Data Base Item: Indica si el elemento es una columna de la Base de Datos.
• Query/Insert/Update Allowed: controla si se permiten las operaciones DML.
• Query Length: Especifica la longitud máxima del criterio de consulta en el modo Enter Query.
• Case Insensitive Query: Controla si se debe validar las mayúsculas/minúsculas al procesar un query.

Nota: Cuando crea un Item en un bloque de datos, Forms Builder supone que dicho Item es un elemento de datos, por lo cual, se establece su propiedad Data Base Item en Sí y lo incluye automáticamente en cualquier sentencia SELECT, UPDATE e INSERT emitida a la Base de Datos. Si un Item que está creando es un Item de control, debe establecer explícitamente su propiedad Data Base Item en No.

Agregando Funcionalidad a un Text Item.
Aumente la funcionalidad predeterminada de un elemento de texto definiendo algunas de las características adicionales que puede establecer en el grupo Funcional (Functional) de la paleta de propiedades.

Notas:
• La propiedad Enabled establecida en No, pinta de gris (grays out) el Item, y no permite interacción con el mismo. Si desea que el Item aparezca de forma normal pero que los usuarios no puedan cambiar su valor, haga lo siguiente:
---Establezca Insert Allowed en No.
---Establezca Update Allowed en No.
---Establezca Enabled en Sí.
• Un menú emergente (pop-up menu) es un menú contextual que permite a los usuarios acceder rápidamente a funciones y comandos comunes. Es un objeto de nivel superior en el Navegador de objetos y pertenece a un módulo Form(a diferencia de un menú de Form, que pertenece a un módulo de menú independiente).
• Ocultar Datos (Conceal Data): oculta los caracteres que el operador escribe en el Text Item. Esta configuración se utiliza normalmente para la protección de contraseñas. Seleccione Sí para desactivar el eco de los datos introducidos por el operador; Con esta configuración, el valor introducido aparece como un asterisco para cada carácter introducido.

Nota: Ocultar Conjunto de datos en Sí es válido sólo para elementos de texto de una sola línea.

Configurando las Propiedades Keyboard Navigable y Enabled.
Puede establecer las propiedades Keyboard Navigable y Enabled de los Items y así establecer si los operadores pueden navegar e interactuar con ellos. La propiedad Enabled determina si los usuarios finales pueden utilizar el ratón para manipular el Item. En la siguiente tabla se describe el comportamiento de las combinaciones de estas configuraciones:

Enabled
Keyboard Navigable

Navigation Behavior
Yes
Yes
El elemento se incluye durante la navegación predeterminada y se puede navegar y manipular con el ratón.
Yes
No
El elemento se excluye durante la navegación predeterminada y se puede navegar y manipular con el ratón.
No
No
El elemento se excluye durante la navegación predeterminada y no se puede navegar ni manipular con el ratón.
No
Yes
El elemento se excluye durante la navegación predeterminada. El elemento no se puede navegar ni manipular con el ratón. La propiedad Keyboard Navigable también se establece en No.
• Multi-Line: Determina si el Text Item se muestra en una región de una sola línea o multilínea. Utilice elementos de texto multilínea para mostrar y/o editar Items como direcciones, comentarios o descripciones. Los datos en un elemento de texto de varias líneas deben ser de tipo de datos Char, Alpha o Long, no numérico ni fecha.
Si establece la propiedad Multi-Line en Sí, El Text Item permite almacenar varias líneas de texto, pero no hace que el elemento sea lo suficientemente grande como para mostrar varias líneas. Depende de usted establecer las propiedades de Width, Height, Font Size, y Maximum Length para asegurarse de que el número deseado de líneas y caracteres se muestran.
Nota: Ajustar la justificación a la derecha o al centro para los Text Items desplazables puede ocultar  los valores al usuario.
• Wrap Style: para Text Items de varias líneas, especifica cómo se muestra el texto cuando una línea excede el ancho del Item o ventana de Edición.
______________________________________________________________________________________
Visualizando Mensajes Útiles.
Puede utilizar las propiedades del grupo de Ayuda para proporcionar ayuda contextual a los usuarios:
Propiedad
Función
Hint
Escribe el texto de ayuda específico del Item que se muestra en la línea de mensaje en tiempo de ejecución. El texto de ayuda está disponible cuando el foco de entrada está en el Item.
Display Hint Automatically
Determina si la sugerencia (Hint) se muestra automáticamente. Si se establece en No, la sugerencia aparece sólo cuando el operador oprime [Ayuda] o selecciona el comando Ayuda en el menú predeterminado.
Tooltip
Texto de ayuda que debe aparecer en un pequeño cuadro debajo del elemento cuando el ratón entra en el Item. El elemento no necesita tener el foco de entrada para que aparezca la información Tooltip.
Tooltip Visual Attribute Group
Especifica el atributo visual a utilizar para la información Tooltip.
______________________________________________________________________________________
Fuente: Oracle Forms Developer 10g: Build Internet Applications.

jueves, 9 de marzo de 2017

Trabajando con Bloques de Datos y Frames

Objetivos:
 Identificar los componentes de la paleta de propiedades.
 Administrar las propiedades de los objetos.
 Crear y utilizar atributos visuales.
 Controlar el comportamiento y la apariencia de los bloques de datos.
 Crear bloques no basados en tablas de Base de Datos.
 Eliminar bloques de datos y sus componentes.


NOTA: Usamos como ejemplo la Base de Datos: ORCL, la cual viene por defecto en cualquier versión de ORACLE.
______________________________________________________________________________________
Administrando las Propiedades de Objetos
Hay tres formas de modificar las propiedades de los objetos de Forms Builder:
 Asistentes Reentrant (Reentrant Wizards): Puede modificar los bloques de datos y las propiedades de diseño a través de los asistentes Reentrant.
 Editor de Diseño: si el objeto aparece en un Canvas, puede modificar las propiedades utilizando el Editor de diseño gráfico.
 Paleta de Propiedades: puede definir propiedades individuales para cada objeto en la paleta de propiedades.

Los Asistentes, el Editor de Diseño y la Paleta de Propiedades representan todas las propiedades del objeto. Los cambios realizados en una herramienta se reflejan en las demás.
Puede utilizar la Paleta de Propiedades para controlar el comportamiento y la apariencia de cualquier objeto de Forms Builder con un mayor grado de granularidad. En ella también puede ajustar/modificar los objetos que ha creado inicialmente con los asistentes o con el Editor de Diseño.

Paleta de Propiedades.
Cada objeto en un módulo Form, incluyendo el mismo Form, tiene propiedades que dictan el comportamiento del mismo. Cuando se crea un objeto por primera vez, se asignan automáticamente algunas propiedades de forma predeterminada. Puede cambiar dichas propiedades en la Paleta de Propiedades.

Visualización de la Paleta de Propiedades.
Para mostrar la Paleta de Propiedades de un objeto, puede:
 Seleccione el objeto del Navegador de objetos y, a continuación, seleccione Herramientas (Tools)> Paleta de Propiedades (Property Palette). Esto es equivalente a seleccionar el objeto y presionar la tecla F4 ().
 Hacer doble clic en el icono del objeto en el Navegador de Objetos (No aplica para objetos de código y Canvas).
 Hacer doble clic en un Item desde el Editor de Diseño.
 Dar doble clic en el objeto desde Editor de Diseño, luego seleccione la opción Paleta de Propiedades.
______________________________________________________________________________________
La Paleta de Propiedades: Características.
Elemento
Descripción
Lista de Propiedades
Muestra las propiedades que son válidas para un objeto en particular. Las propiedades se agrupan bajo encabezados o nodos funcionales. Puede expandir o contraer un nodo utilizando los iconos más (+)/menos (-) junto al nombre del nodo.
Campo Búsqueda
Permite localizar rápidamente una propiedad en particular.
Barra de Herramientas
Es una serie de botones que provee acceso rápido a ciertos comandos.
Ayuda (F1)
Provee descripción, información sobre cualquier propiedad. Seleccione la propiedad y presione la tecla [F1].
Usando la Paleta de Propiedades.
Cada objeto de Form tiene varios tipos de propiedades. Dependiendo del tipo de propiedad, estas se manipulan de forma diferente.

La siguiente lista resume los controles que se utilizan en la Paleta de Propiedades:
Control
Descripción
Campo Texto (Text field)
Es mostrado cuando la propiedad se puede establecer introduciendo un valor de texto. Para valores de texto largos aparece un botón icónico, que le permite abrir un editor de texto.
Lista Emergente (Pop-up list)
Ocurre cuando la propiedad permite un conjunto fijo de valores, eje: Sí, No. Para establecer un valor, haga clic en la flecha hacia abajo para abrir la lista y seleccionar un valor.
Ventana LOV
Los LOVs ocurren cuando la propiedad permite una lista potencialmente grande de valores posibles. Para establecer un valor, haga clic en el botón icónico de la propiedad y allí especifique la lista.
Botón Mas (More button)
Usado cuando se necesitan configuraciones más complejas. Haga clic en dicho botón para abrir el cuadro de diálogo adicional.
Iconos de la Paleta de Propiedades.
En la paleta de propiedades, cada propiedad  tiene un icono a su izquierda. A continuación vemos una descripción resumida de estos iconos:
Icon
Description
 Circulo
Especifica que la propiedad aún tiene el valor por defecto.
 Cuadrado
Especifica que la propiedad fue cambiada de su valor por defecto.
 Flecha
Especifica que la propiedad tiene un valor heredado.
 Flecha con Cruz
Especifica que la propiedad fue heredada pero que ha sido anulada.
Nota: Una vez activada la paleta de propiedades, su ventana permanece abierta hasta que la cierre. La ventana muestra automáticamente las propiedades de cada objeto que seleccione del Editor de Diseño o del Navegador de Objetos. Esto se debe a que, de forma predeterminada, la lista de propiedades de la paleta de propiedades se sincroniza cada vez que se selecciona un objeto.

Puede activar o desactivar la sincronización de una paleta específica, haga clic en Pin/Unpin () en la barra de herramientas de la paleta de propiedades.

Los Atributos Visuales (Visual Attributes).
Los Atributos Visuales son propiedades como: color, el fuente, y el patrón usadas en los objetos de Form.
Un Atributo Visual es a su vez un objeto que se puede crear en el Navegador de Objetos con propiedades tales como fuentes, colores y combinaciones de patrones. Dicho objeto tiene una propiedad llamada: Tipo de Atributo Visual (Visual Attribute Type) la cual definimos de acuerdo al tipo de objeto al que se desea aplicar dicho atributo.
Eje: Se establece como Título (Title) si planea aplicarlo a objetos como títulos de marcos; Si desea usarlo en Etiquetas (Prompts) seleccione Prompt; La otra opción es Común (Common) para cualquier objeto en general.

Cada objeto de interfaz en una aplicación form tiene una propiedad denominada Grupo de Atributo Visual (Visual Attribute Group), que determina cómo se derivan los valores de atributos visuales individuales de un objeto. La propiedad Grupo de Atributo Visual se puede establecer en Predeterminado (Default), NULL o el nombre de un objeto de Atributo Visual. Los bloques tienen la propiedad Grupo de Atributo Visual del Registro Actual (Current Record Visual Attribute Group) que define el atributo visual que se utilizará para el registro seleccionado en el bloque.

Atributos Visuales Parciales.
Puede definir un atributo visual estableciendo únicamente las propiedades que desea que sean heredadas por los objetos que las utilizan. Esto significa que puede aplicar un atributo visual que cambia el color de fuente sin tener que establecer el nombre de la fuente.

Usando Atributos Visuales.
Para utilizar un atributo visual, realice los pasos siguientes:
1. Cree el atributo visual:
 Seleccione el nodo Atributos visuales en el Navegador de objetos.
 Haga clic en Crear.
 Seleccione el Atributo y invoque la Paleta de Propiedades (F4), luego establezca las propiedades de fuente, color y patrón que desee.
2. Seleccione algun objeto de Form y establezca la propiedad Visual con el nombre del Visual Atribute creando anteriormente.
 Para Items y Canvas la propiedad es Visual Attribute Group.
 Para bloques, la propiedad es Current Record Visual Attribute Group.
3. Ejecute el Form para ver los cambios.

Las Propiedades de los Bloques de Datos.
Los bloques de datos tienen varias propiedades, estas se dividen los grupos mostrados en la siguiente imagen:

Puede modificar las propiedades del bloque para controlar tanto la apariencia como el comportamiento del mismo.

Grupos de propiedades en los bloques de datos:
General
Navegación
Archivos
Base de datos
Base de Datos Avanzada
Barra de desplazamiento
Atributos visuales
Color
Internacional


______________________________________________________________________________________
Controlando el Comportamiento de los Bloques de Datos.
Configuración de las Propiedades de Navegación.
 Estilo de Navegación (Navigation Style).
Normalmente, cuando se navega más allá del último elemento de un registro, Forms devuelve el cursor al principio del mismo registro. Con la propiedad Estilo de Navegación, puede cambiar este comportamiento para hacer que el cursor se desplace al siguiente registro o a otro bloque de datos. Los valores válidos son: Mismo Registro (predeterminado), Cambiar Registro o Cambiar Bloque de Datos.
Eje: Si desea que el cursor se mueva al siguiente registro cuando llegue al final del registro actual, establezca la propiedad Estilo de Navegación del bloque a Cambiar Registro.
 Anterior/Siguiente Bloque de Navegación (Previous/Next Navigation Data Block).
Normalmente, cuando en tiempo de ejecución se realiza una operación para moverse al bloque de datos anterior/siguiente, Forms mueve el control al bloque de datos adyacente anterior/siguiente en secuencia. Estas propiedades le permiten nombrar el bloque de datos anterior/siguiente.

Configuración de las Propiedades Registro (Record).
 Grupo de atributos visuales del Registro Actual (Current Record Visual Attribute Group): Es el atributo visual que se usará para resaltar el registro actual en el bloque de datos.
 Tamaño de Matriz de Consulta (Query Array Size): Especifica el número máximo de registros que Forms debe extraer de la base de datos al mismo tiempo. Un valor inferior en este valor de propiedad significa un tiempo de respuesta más rápido; Sin embargo, un valor mayor significa menos llamadas a la Base de Datos, lo que da como resultado un tiempo de procesamiento global reducido. Cuando se establece en 0, por defecto toma el número de registros mostrados.
 Número de Registros en Búfer (Number of Records Buffered): Es la cantidad mínima de espacio de búfer retenida para mantener los registros consultados en el Bloque de Datos. El valor mínimo permitido es el valor de la propiedad Número de Registros Mostrados (Number of Records Displayed) más 3. Forms almacena cualquier registro adicional en un archivo de disco temporal. Un valor alto mejora la velocidad de procesamiento, pero utiliza más memoria.
 Número de Registros Mostrados (Number of Records Displayed): Esta propiedad especifica el número máximo de registros a mostrar en el Canvas al mismo tiempo y el número de registros que puede ver a la vez. Si cambia este valor, asegúrese de que haya espacio suficiente en el Canvas para el número de registros especificado.
 Consultar todos los Registros (Query All Records): esta propiedad especifica si todos los registros que coinciden con los criterios de consulta se deben traer cuando se ejecuta una consulta.
 Orientación del Registro (Record Orientation): Esta propiedad determina la orientación de los registros en el bloque de datos, horizontal o vertical. Cuando establece esta propiedad, Forms Builder ajusta la posición de visualización de los items en el bloque de datos de forma apropiada.
 Registro Único (Single Record): Esta propiedad especifica que el Bloque es de tipo Control y debe contener un solo registro. Establezca esta propiedad en Sí (Yes) para un Bloque de Control que contenga un item que represente el resumen de un monto calculado. No puede establecer esta propiedad en para un bloque de datos.

Configuración de las Propiedades de Base de Datos.
En el grupo de Propiedades de Base de Datos, puede establecer numerosas propiedades para controlar la interacción con el servidor de Base de Datos. Algunas de estas propiedades son:
 Bloque de datos de base de datos (Database Data Block): Establezca en Sí si el bloque de datos se basa en un objeto de base de datos y en No si es un bloque de control.
 Aplicar clave primaria (Enforce Primary Key): controla si Forms comprueba la unicidad antes de insertar o actualizar registros en la tabla base, para evitar que se cometan filas duplicadas en la base de datos. Un valor de Sí significa que el formulario comprueba que los registros insertados o actualizados son únicos antes de que se realice un intento de validación de posibles filas duplicadas.
• Query/Insert/Update/Delete Allowed: Controlar si las operaciones asociadas pueden realizarse en los registros del bloque de datos.
 Tipo de fuente de datos de la consulta (Query Data Source Type): Especifica el tipo de origen de datos de la consulta para el bloque de datos. Los valores posibles para esta propiedad son None, Table, Procedure, Triggers transaccionales o consulta con cláusula FROM.
 Nombre de la fuente de datos de la consulta (Query Data Source Name): Especifica el nombre de la fuente de datos de la consulta para el bloque de datos. Esta propiedad sólo se utiliza si si el tipo de fuente de datos de consulta es Table, consulta con cláusula FROM o Procedure.
 Columnas de la fuente de datos de la consulta (Query Data Source Columns): Aquí se especifica el nombre y el tipo de dato de las columnas asociadas con la fuente de datos de la consulta. Esta propiedad sólo se utiliza si el tipo de fuente de datos es Tableconsulta con cláusula FROM o Procedure.
 Argumentos de la fuente de datos de la consulta (Query Data Source Arguments): Aquí se especifican los nombres, tipos de datos y valores de los argumentos a ser pasados al procedimiento que retornara los datos. Esta propiedad sólo es válida cuando la propiedad Query Data Source Type se establece en Procedure.
 Cláusula WHERE: Especifica una condición SQL que se adjunta a la sentencia SELECT del bloque de datos a través de SQL implícito; Se utiliza para definir restricciones generales en las filas que este bloque de datos puede recuperar. Esta cláusula agrega automáticamente un (AND) con cualquier condición suministrada por el operador en el modo Enter Query.
 Cláusula ORDER BY: Define una orden predeterminado para los registros mostrados por la consulta.
• Optimizer Hint: Especifica una cadena Hint que Forms pasa al Optimizador cuando construye SQL implícito en el bloque de datos. El Optimizador puede mejorar el rendimiento de las transacciones de base de datos.
 Modo de bloqueo / modo de tecla (Locking Mode/Key Mode): controla cómo Forms maneja registros y transacciones cuando el bloque de datos está asociado principalmente a orígenes de datos que no son de Oracle. La configuración predeterminada suele ser apropiada para bloques de datos conectados con una base de datos Oracle.
 Solo Actualizar las Columnas modificadas (Update Changed Columns Only): cuando esta en , sólo se escribe en sus columnas de base de datos asociadas con los items actualizados por el operador. Si el operador comúnmente actualiza o inserta registros con sólo una o dos columnas, esto puede ahorrar tráfico de red. De forma predeterminada, la propiedad contiene No, por lo que todas las columnas se incluyen en la instrucción UPDATE predeterminada.
 Aplicar la seguridad de la columna (Enforce Column Security): cuando esta propiedad está establecida en , los items del bloque de datos sólo se pueden actualizar si el usuario actual tiene privilegios para actualizar las columnas de la base de datos correspondientes.
 Tiempo máximo de consulta (Maximum Query Time): Proporciona la opción de anular una consulta cuando el tiempo transcurrido de la misma supera el valor de esta propiedad; Útil cuando la propiedad Query All Records contiene Yes.
 Maximum Records Fetched: Proporciona la opción de anular una consulta cuando el número de registros obtenidos excede el valor de esta propiedad; Útil cuando la propiedad Query All Records contiene Yes.

Propiedades de la Barra de Desplazamiento (Scrollbar).
En el grupo de barra de desplazamiento, puede establecer numerosas propiedades relativas a la apariencia y función de la barra de desplazamiento del bloque de datos. Algunas de estas propiedades son:
• Mostrar Barra de Desplazamiento (Show Scroll Bar): Especifica si Forms Builder debe crear una barra de desplazamiento para el bloque de datos. Para eliminar una barra de desplazamiento existente, establezca esta propiedad en No.
 Canvas de la Barra de Desplazamiento: Especifica el Canvas en el que se mostrará la barra de desplazamiento para el bloque de datos en cuestión.
 Orientación de la Barra de Desplazamiento: Especifica si la barra de desplazamiento debe mostrarse horizontal o verticalmente.
 Posición X/Y de la Barra de Desplazamiento: Especifica las coordenadas x e y (medidas en las unidades del sistema de coordinación del Form) donde se mostrará la barra de desplazamiento en el Canvas. El valor predeterminado para ambas coordenadas es 0.
 Largo/Ancho de la Barra de Desplazamiento (Scroll Bar Width/Height): Especifica el ancho y la largo de la barra de desplazamiento.

______________________________________________________________________________________
Las Propiedades los Frames.
Las modificaciones realizadas en el Asistente de Diseño (Layout Wizard) al crear un bloque de datos se registran como propiedades de un Objeto tipo Frame. Puede cambiar dichas propiedades para modificar la estructura de los items dentro de un bloque de datos.
Algunas Propiedades importantes:
• Layout Data Block: Especifica el nombre del bloque de datos al que está asociado el Frame. Los items dentro de este bloque de datos están organizados dentro del Frame.
Nota: Un bloque de datos se puede asociar con un solo Frame. No puede organizar un item dentro de varios Frames.
 Actualizar diseño (Update Layout): especifica cuando se actualiza el diseño del Frame. Las opciones son:
---Automáticamente: el diseño se actualiza cada vez que mueve o cambia el tamaño del Frame o modifica cualquier propiedad del mismo.
---Manualmente: el diseño se actualiza cada vez que utilice el Asistente para Diseño para modificar el Frame o en el Editor de Diseño cuando hace clic en Actualizar Diseño o cuando selecciona la opción de Diseño (Layout)>Actualizar Diseño (Update Layout).
---Bloqueado: el diseño se bloquea y no se puede actualizar.
 Estilo de Diseño: Especifica el estilo de diseño de los items dentro del Frame. Elija entre los estilos Formulario y Tabular.
 Distancia entre Registros: Especifica la distancia física (medida en las unidades del sistema de coordinación del Form) con la que se separara los registros mostrados en el Frame.
 Posición X/Y: Especifica las coordenadas x e y (medidas en las unidades del sistema de coordinación del Form) de la posición del Frame en el Canvas.
 Ancho/Largo: Especifica el ancho y la largo del Frame (medida en las unidades del sistema de coordinación del Form).
Nota: Puede organizar un Frame, así como los objetos dentro de él manualmente en el Editor de Diseño.
______________________________________________________________________________________
Visualización de varias Paletas de Propiedades.
Es posible que desee ver las propiedades de varios objetos simultáneamente o que desee ver mas propiedades de un objeto en particular sin tener que desplazarse hacia abajo/arriba en la Paleta de Propiedades. Para lograr cualquiera de estas cosas, puede hacer lo siguiente:
Para abrir varias paletas de un mismo objeto:
1. Abra una paleta de propiedades para el objeto.
2. Mantenga presionada la tecla [Shift] y haga doble clic en el icono de objeto del objeto en el Navegador de Objetos.
Más de una paleta de propiedades para varios objetos:
1. Abra la paleta de propiedades del primer objeto.
2. Haga clic en Pin/Unpin() en la barra de herramientas para "congelar" esta paleta.
3. Invoque la paleta de propiedades para otro objeto. Esta paleta de propiedades aparece en una ventana separada.
Si la segunda ventana está encima de la primera, arrástrela para que ambas ventanas estén visibles.

Configurando las Propiedades de varios Objetos.
Puede ver y configurar simultáneamente las propiedades de varios objetos, ya sean del mismo tipo o de tipos diferentes. Puede seleccionar los objetos en el Navegador de Objetos y mostrar una combinación de propiedades en la paleta de propiedades.
La combinación puede ser:
 Intersection (): Un subconjunto en el que sólo se muestran las propiedades comunes de los objetos seleccionados (Este es el operador predeterminado).
 Unión (): un superconjunto en el que se muestran tanto las propiedades comunes como las propiedades únicas de los objetos seleccionados.

Si selecciona varios objetos y visualiza sus propiedades, notara algunas con un valor en asteriscos *****, esto es porque los objetos tienen valores diferentes en esas propiedades. Si cambia una de esas propiedades con los objetos aun seleccionados, este nuevo valor se aplica entonces a cada uno de los objetos seleccionados.

Para establecer propiedades en varios objetos al mismo tiempo, realice los pasos siguientes:
1. Abra la paleta de propiedades para uno de los objetos.
2. Mantenga presionada la tecla [Ctrl] y haga clic en los demás objetos. Al seleccionar varios notara como las propiedades cambian en combinación.
3. Establezca el botón Intersección/Unión (/)de la barra de herramientas en la paleta de propiedades a la operación deseada. Este botón cambia entre las dos opciones.
4. Cambie las propiedades mostradas, según sea necesario. Sus cambios se aplican a todos los objetos seleccionados que contengan estas propiedades.
Nota: Con un Unión, puede ver algunas propiedades que no son relevantes para todos los objetos seleccionados. Los cambios en una propiedad se aplican sólo a los objetos que la contienen.

Copiando Propiedades.
Puede copiar las propiedades y los valores de la paleta de propiedades a un búfer para que se puedan aplicar (pegar) a otros objetos en su sesión de diseño. Para copiar propiedades, realice los pasos siguientes:
1. En la paleta de propiedades establezca las propiedades que se van a copiar. Puede ser de un objeto o una combinación de objetos.
---Para copiar todos los ajustes de propiedades, seleccione Editar (Edit)>Seleccionar todo (Select All).
---Para copiar solo los ajustes de las propiedades seleccionadas, mantenga presionada la tecla [Ctrl] mientras hace clic en cada propiedad individualmente.
2. Haga clic en Copiar propiedades () en la barra de herramientas de la paleta de propiedades.
3. En el Navegador de objetos, seleccione el objeto al que se van a copiar las propiedades.
4. En la paleta de propiedades, haga clic en Pegar propiedades (). El objeto seleccionado recibe todas las propiedades copiadas que son relevantes de acuerdo a su tipo.
Nota: Es posible copiar la configuración de propiedades de un objeto a objetos de diferentes tipos. En este caso, las propiedades que no se aplican al objeto de destino se ignoran.

Clases de Propiedad (Property Classes).Cuando muestra una lista de propiedades (de un objeto o de una combinación de objetos) en la paleta de propiedades, la lista propiedades y valores asociados se pueden guardar para aplicaciones futuras en otros objetos. Esto se conoce como una Clase de Propiedad, que es a su vez un objeto Forms Builder.
Los objetos pueden heredar algunas de sus propiedades de una Clase de Propiedad que tengan vinculada, por lo que sus propiedades cambiarán automáticamente si las propiedades asociadas se cambian en dicha Clase.

Creando un Bloque de Control.
Un Bloque de Control es un bloque que no está asociado con ninguna Base de Datos y sus Items no se relacionan con ninguna columna dentro de una tabla de la base de datos.
Esto significa que Forms no realiza una consulta automática cuando el operador emite un comando Enter Query o Execute Query tampoco emite un Insert, Update o Delete automático para el bloque cuando el operador guarda los cambios en la base de datos.

Cómo crear un bloque de control:
1. En el Navegador de objetos, haga clic en el nodo Bloques de Datos ().
2. Haga clic en el icono Crear() de la barra de herramientas o (con el nodo Bloques de Datos seleccionado) presione Editar (Edit)> Crear (Create).
3. En el cuadro de diálogo Nuevo bloque de datos, seleccione la opción "Crear un nuevo bloque de datos manualmente (Build a new data block manually)".
4. Abra la paleta de propiedades del nuevo bloque de datos y cambie el nombre y establezca la propiedad Database Data Block en NO.
Nota: Como no hay columnas de base de datos en las que basar los items de un bloque de control, debe posteriormente agregar manualmente los items que necesite.

Eliminación de los Bloques de Datos.
Para eliminar un bloque de datos:
1. Seleccione el bloque que desea eliminar del Navegador de objetos.
2. Haga clic en el icono Eliminar() de la barra de herramientas o Pulse la tecla [Delete].
3. Aparece una alerta para confirmar la eliminación. Haga clic en Sí para completar la operación.
Nota: La eliminación de un bloque de datos también elimina sus objetos subordinados (Items y Triggers ). Si el bloque de datos era un bloque maestro o detalle en una relación, la relación también se elimina. Sin embargo, el Frame y su título permanecerán. Elimine el Frame manualmente en el Editor de diseño.
______________________________________________________________________________________
Fuente: Oracle Forms Developer 10g: Build Internet Applications.