jueves, 21 de marzo de 2013

TRIGGERS WHEN_MOUSE_ ORACLE FORMS

Un disparador define una acción que la base de datos debe llevar a cabo cuando se produce algún suceso relacionado con la misma. Los disparadores (triggers) pueden utilizarse para completar la integridad referencial, también para imponer reglas de negocio complejas o para auditar cambios en los datos. El código contenido en un disparador, denominado cuerpo del disparador, está formado por bloques PL/SQL. La ejecución de disparadores es transparente al usuario.


WHEN_MOUSE_CLICK

Actúa después de que el usuario haga click siempre que ocurra uno de los siguientes eventos:
• Si está a nivel de FORM, actúa cuando se hace click dentro de cualquier CANVAS o ITEM del formulario.
• Si está a nivel de BLOCK, actúa cuando se hace click dentro de cualquier ITEM de dicho bloque.
• Si está a nivel de ITEM, actúa cuando se hace click dentro de dicho ITEM.

Cualquier trigger que esté asociado con alguno de estos eventos actuará antes de que se dispare el WHEN_MOUSE_CLICK.
_______________________________________________________________________________


WHEN_MOUSE_DOUBLECLICK

Actúa después de el usuario haga doble click siempre que ocurra uno de los siguientes
eventos:
• Si está a nivel de FORM, actúa cuando se hace doble click dentro de cualquier CANVAS o ITEM del formulario.
• Si está a nivel de BLOCK, actúa cuando se hace doble click dentro de cualquier ITEM de dicho bloque.
• Si está a nivel de ITEM, actúa cuando se hace doble click dentro de dicho ITEM.

Cualquier trigger que esté asociado con alguno de estos eventos actuará antes de que se dispare el WHEN_MOUSE_DOUBLECLICK.

_______________________________________________________________________________

WHEN_MOUSE_DOWN

Actúa después de que el usuario presiona el botón del ratón y lo mantiene presionado siempre que ocurra uno de los siguientes eventos:
• Si está a nivel de FORM, actúa cuando se hace click y arrastra dentro de cualquier CANVAS o ITEM del formulario.
• Si está a nivel de BLOCK, actúa cuando se hace click y arrastra dentro de cualquier ITEM de dicho bloque.
• Si está a nivel de ITEM, actúa cuando se hace doble click y arrastra dentro de dicho ITEM.

_______________________________________________________________________________

WHEN_MOUSE_ENTER

Actúa cuando el ratón se introduce dentro de un ITEM o CANVAS siempre que ocurra uno de los siguientes eventos:
• Si está a nivel de FORM, actúa cuando el ratón se introduce en cualquier CANVAS o ITEM del formulario.
• Si está a nivel de BLOCK, actúa cuando el ratón se introduce en cualquier ITEM de dicho bloque.
• Si está a nivel de ITEM, actúa cuando el ratón se introduce en dicho ITEM.

_______________________________________________________________________________

WHEN_MOUSE_MOVE

Actúa cuando el ratón sale de un ITEM o CANVAS siempre que ocurra uno de los siguientes eventos:
• Si está a nivel de FORM, actúa cuando el ratón abandona cualquier CANVAS o ITEM del formulario.
• Si está a nivel de BLOCK, actúa cuando el ratón abandona cualquier ITEM de dicho bloque.
• Si está a nivel de ITEM, actúa cuando el ratón abandona dicho ITEM.

_______________________________________________________________________________

WHEN_MOUSE_LEAVE

Actúa cuando el ratón se mueve dentro de un ITEM o CANVAS siempre que ocurra uno de los siguientes eventos:
• Si está a nivel de FORM, actúa cuando el ratón se mueve dentro de cualquier CANVAS o ITEM del formulario.
• Si está a nivel de BLOCK, actúa cuando el ratón se mueve dentro de cualquier ITEM de dicho bloque.
• Si está a nivel de ITEM, actúa cuando el ratón se mueve dentro de dicho ITEM.

_______________________________________________________________________________

WHEN_MOUSE_UP

Actúa cuando el botón es presionado y soltado siempre que ocurra uno de los siguientes eventos:
• Si está a nivel de FORM, actúa cuando el evento se produce dentro de cualquier CANVAS o ITEM del formulario.
• Si está a nivel de BLOCK, actúa cuando el evento se produce dentro de cualquier ITEM de dicho bloque.
• Si está a nivel de ITEM, actúa cuando el evento se produce dentro de dicho
ITEM.

http://eduardo.homelinux.net/pdfs/Tema13_apendice_triggers_forms.pdf



jueves, 14 de marzo de 2013

¿Qué es el Generador de informes? (Oracle Reports 6i)


Oracle Reports es un conjunto de programas que permite a su organización centralizar el procesamiento de informes para mejorar la gestión de los mismos.

El generador de informes es uno de los programas componentes incluido con Oracle Reports 6i.

Generador de informes incluye:
·          
      Un generador de consultas con la representación visual de la especificación de sentencias SQL para obtener datos de informe  asistentes que le guiará a través del proceso de diseño de informes  y plantillas predeterminadas de informes y presentaciones que se pueden personalizar para  satisfacer las necesidades de la organización.

·         La capacidad de generar código para personalizar la forma de informes y como se ejecuta.
·         Una vista previa de Live que te permite editar diseños de informe en modo WYSIWYG.
·         Un generador de gráficos integrado que le ayuda a representar gráficamente los datos del informe.

·         Herramientas de edición Web que generan dinámicamente páginas web basadas en sus datos corporativos.
·         Otros formatos de informe estándar de salida como HTML, PDF, PCL, PostScript, y ASCII
Oracle Reports puede acceder a los datos desde cualquier base de datos que pueda tener en su organización, incluyendo: Oracle, Microsoft SQL Server, Sybase, Informix, DB2, y cualquier dato compatible con ODBC fuente.

Herramientas para trabajar con los informes en el Generador de informes:

El Generador de informes proporciona las herramientas para ayudarle a crear y administrar informes.
Estas herramientas se describen en las secciones siguientes:
·         "Uso de asistentes para automatizar el diseño de informes".
·         "Uso del editor de informes para ver y editar los informes".
·         "Uso del navegador de objetos para localizar los elementos del informe".

Uso de los asistentes para automatizar el diseño de informes

El Generador de informes tiene un Asistente para informes, Asistente para datos y Asistente Web para automatizar la creación de informes. Muy a menudo se puede crear un informe a partir de una de las asistentes, y luego refinar el informe que crea el asistente.

Por ejemplo, puede comenzar con el Asistente para informes para crear un informe inicial, que el Asistente para informes se muestra automáticamente en la vista previa de Live. Desde allí, Puede realizar modificaciones en el informe en la vista previa de Live view, Modelo de Diseño, Vista de datos del modelo y la vista formulario de parámetros. El "Uso del Informe Editor para ver y editar los informes "para obtener información acerca de las vistas de informe.

jueves, 7 de marzo de 2013

Oracle Forms 10g SOA


Oracle Forms es un componente de Oracle Fusion Middleware, es de larga información de Oracle la en tecnología para diseñar y construir aplicaciones empresariales de forma rápida y eficiente. Oracle mantiene su compromiso con el desarrollo de esta tecnología, y la liberación permanente como un componente de la plataforma Oracle. Este compromiso continuo a la tecnología de formularios le permite aprovechar su inversión existente al permitir el mejoramiento y la integración de aplicaciones Oracle Forms existentes para aprovechar las tecnologías web y las arquitecturas orientadas a servicios (SOA).

La herramienta Forms incluida dentro ORACLE DEVELOPER SUITE (DS) nos permite atacar nuestra base de datos de producción para facilitar a los usuarios un acceso transparente a los datos almacenados en la misma.

Forms Developer 10g es una evolución de las anteriores herramientas de desarrollo que Oracle Corporation que ya tenía en el mercado (Oracle Developer 2000 y posteriormente Oracle Developer 6i). En todas las versiones se sigue una misma metodología de programación, por lo que no es difícil para el programador pasar de una versión a la siguiente con unos mínimos costes de tiempo. Sin embargo la mayor diferencia la notaran los usuarios finales que utilicen desarrollos ya que en las últimas versiones el entorno de trabajo se realiza a través de un navegador Web exclusivamente y no sobre ventanas.

SOA  provocó un animado debate cuando irrumpió en la escena en 2005. Sus abogados dijeron que SOA remplazaría la tradicional arquitectura de TI. Los tradicionalistas respondieron que SOA no era realmente nuevo, sólo un grupo de viejas (pero buenas) ideas sobre la encapsulación y el acoplamiento flexible.
Hay algo de verdad en ambas posiciones, pero ambos son fundamentalmente inexactos. Aunque SOA incluye primeras ideas arquitectónicas, es un estilo distinto que marca un importante paso adelante. Y, para obtener los máximos beneficios de SOA, una empresa necesita arquitectónicos tradicionales disciplinas y métodos.

SOA se ha establecido como un estilo arquitectónico maduro. Su implementación en las empresas está creciendo y continuará ganando más amplia adopción. El advenimiento de la computación en nube está reforzando el valor de SOA, como SOA facilita el uso efectivo de la Nube.

Por esa misma razón es que el manejo de forms en Oracle 10g contribuye al manejo adecuado  y eficaz de la información en la red, lo cual como se ve en cualquier sistema automatizado de la actualidad debería de plantearse.

Grupodivisoft.com


martes, 5 de marzo de 2013

MERGE en ORACLE


Se utiliza para seleccionar filas de una o más fuentes de actualización o inserción en una tabla o vista. Puede especificar condiciones para determinar valores para actualizar o insertar en la tabla o vista.

Esta declaración es una manera conveniente de combinar múltiples operaciones. Esto le permite evitar múltiples INSERT, ACTUALIZAR y ELIMINAR DML.
MERGE es una afirmación determinista. No se puede actualizar la misma fila de la tabla de destino varias veces en el mismo MERGE comunicado.

La sintáxis de MERGE está pensada para que la fuente de datos que se va a insertar sea una tabla o una consulta, de esta manera:

MERGE INTO [tabla_destino]
USING ([tabla o vista o consulta])
ON ([condición de existencia de registro])
WHEN MATCHED THEN [sentencia de actualización]
WHEN NOT MATCHED THEN [sentencia de inserción];

A veces en que los datos a incorporar no provienen de ninguna tabla, sino que se trata de un único registro enviado por una aplicación (por ejemplo a través de parámetros). Una forma de poder aprovechar la sentencia MERGE en estos casos, es construir una consulta sobre la tabla DUAL que convenientemente contiene una única fila.

Partiendo de una tabla tabla_destino, donde queremos hacer la actualización de datos:
CREATE TABLE tabla_destino (a int, b varchar2(10));
Si:
              Nuestro registro a insertar es {param_a, param_b}
              La condición de que el registro exista es la columna a
              Lo que queremos actualizar en caso que el registro exista es la columna b.

Entonces usamos MERGE así:

MERGE INTO tabla_destino td
USING (SELECT param_a a FROM dual) d
ON (td.a = d.a)
WHEN MATCHED THEN UPDATE SET td.b = param_b
WHEN NOT MATCHED THEN INSERT (td.a, td.b) VALUES (param_a, param_b);

En la línea 2 (USING) seleccionamos el registro que participa en la condición que el registro exista.

En la línea 3 especificamos cual es la condición que se considera que el registro ya existe
Las líneas 4 y 5 actualizan o insertan el registro.

Una forma simplificada y equivalente es la siguiente:

MERGE INTO tabla_destino td
USING dual d
ON (td.a = param_a)
WHEN MATCHED THEN UPDATE SET td.b = param_b
WHEN NOT MATCHED THEN INSERT (td.a, td.b) VALUES (param_a, param_b);

Se recomienda el uso de MERGE ya que es una única sentencia SQL y naturalmente está optimizada por el motor. Hay excepciones como es el caso de cargas masivas de datos con millones de registros donde la performance de MERGE se degrada. Allí existen otras alternativas más eficientes.

grupodivisoft.com