ADF: Totalizar Columnas en Una Tabla

Newsletter Junio 2014 ADF: Totalizar Columnas en Una Tabla Contenido Página: 1 ADF: Totalizar Columnas en Una Tabla 5 Nuevas Características de Oracl

5 downloads 120 Views 1MB Size

Recommend Stories


Columnas
Array bidimensionales, multidimensionales (matrices) Un array multidimensional o matriz es aquella cuyos elementos se encuentran organizados en una es

Creación de columnas. Creación de múltiples columnas en un documento
Creación de columnas Objetivos:      Creación de columnas. Cambio del número de columnas dentro de un documento. Formateo de las columnas. Exame

Story Transcript

Newsletter Junio 2014

ADF: Totalizar Columnas en Una Tabla Contenido Página: 1 ADF: Totalizar Columnas en Una Tabla 5 Nuevas Características de Oracle Forms 11gR2

Por Ing. Jonathan Morales [email protected] Un requerimiento muy común en aplicaciones que despliegan tablas con datos numéricos es mostrar la sumatoria de los valores de una columna, para representar el “TOTAL”. En el caso de aplicaciones ADF que utilizan Business Components (BC) para representar el modelo de datos, los View Objects que contienen la estructura de la tabla que luego es mostrada en la aplicación como una tabla. En otras ocasiones, debido a que estos datos pueden ser dinámicos (agregar o eliminar registros a la tabla) es importante poder mostrar la suma de alguna columna.

8 ADRCI: Limpieza de

Para lograr lo anterior con ADF y debido a que los datos de la tabla provienen de un View Object, se hace uso de un atributo que llevará la suma de los valores de la columna con ayuda de una expresión Groovy, tal como se muestra a 5a. Ave. 5-55 Zona14,Edificio Euro Plaza Torrecontinuación. II, Nivel 12 Directorios de Diagnóstico

Editores Generales Teléfono: (502)2364-5300Fax: (502)2364-5311 [email protected] Francisco Barrundia

Alejandro Lau Débora Morán

Procedimiento

Pagina 1/10 2. Seleccionar el View Object (1) del cual se obtienen los datos, ir a la opción de atributos y agregar un atributo nuevo (2). Por ser un atributo de sumatoria, el tipo recomendable es BigDecimal.

Autores Contribuyentes Jonathan Morales Marlon Pérez Francisco Barrundia

5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected]

Página 1

2. Siempre en el View Object, seleccionar la categoría de View Accessors (1), luego en el botón "New" (2). En la ventana que se despliega, seleccionar el View Object que se está trabajando y pasarlo a la derecha con el botón ">" (3).

3. Indicar Expression en el valor del atributo nuevo y luego agregar: EmployeesView1.sum("Salary")

4. En la página donde está la tabla con los datos del View Object, seleccionar la columna que se quiere totalizar (1), hacer click derecho y en el menú contextual elegir la opción Facets – column (2) y luego la opción Footer (3).

5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected]

Página 2

5. Una vez agregado el footer a la columna que se desea totalizar, se arrastra el atributo que se creó (TotalSal para este caso) desde Data Controls hacia facet. Esto hará que se despliegue una ventana donde se elige que se creará un Text y luego ADF Output Text.

5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected]

Página 3

6. Debe crearse un binding para el atributo y poderse referenciar desde el footer. Para ello en la pestaña de bindings, se crea un nuevo AttributeBinding, seleccionando como Data Source el que corresponde al View Object y a continuación el atributo de la lista de valores.

7. Agregar la referencia del binding anterior a la propiedad Value del Output Text que se colocó en el footer, donde se mostrará el valor totalizado.

8. Al ejecutar la aplicación, en la página mostrará la tabla y en la columna elegida aparecerá la suma de los valores, tal como se muestra a continuación.

5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected]

Página 4

Nuevas Características de Oracle Forms 11gR2 Por Ing. Marlon Pérez [email protected] Oracle Forms es parte de Oracle Fusion Middleware y es una de las tecnologías de Oracle con mayor madurez en el mercado. Permite diseñar y construir aplicaciones empresariales de una manera rápida y eficiente, ofreciendo acceso a través de la Web. Entre las características ya conocidas se encuentran las siguientes:      

Diseñado para soportar alta transaccionalidad Desarrollo RAD (Drag-and-Drop, paleta de propiedades, asistentes) Desarrollo PL/SQL Integración con Java (PJC y Webservices) Administración sencilla de aplicaciones (publicación, configuraciones, etc.) Applet de java para desplegar la aplicación en el cliente

Ahora bien, con la versión 11gR2 podemos hacer uso de nuevas características, las cuales incluyen: Eventos Externos Se refiere a la posibilidad de comunicarse con Oracle Forms desde un módulo externo de forma asincrónica, por ejemplo utilizando Advanced Queuing, JMS o BPEL. En la forma se programa el evento WHEN-EVENT-RAISED y este se suscribe a una cola de mensajes. Cuando el módulo externo deposita un mensaje en la cola, este evento se dispara y se puede ejecutar alguna acción en la forma, como actualizar un bloque.

5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected]

Página 5

JavaScript En Oracle Forms ahora se puede invocar código JavaScript que resida en la misma página del applet. La operación inversa también es posible. Para esto se utilizan las operaciones Web.Javascript_Eval_Expr o Web.Javascript_Eval_Function, que permiten invocar funciones JavaScript en la página HTML. Una forma en la que podemos utilizar esta característica es compartiendo información entre la página HTML y el applet. Por ejemplo, crear un formulario HTML y cuando el usuario presione un botón, la información es desplegada en la forma. Soporte para Proxy User Permite que los clientes se conecten a la base de datos desde el servidor de aplicaciones con un usuario proxy. Un usuario proxy es un usuario con un solo privilegio (create session), que se puede conectar utilizando los permisos de otro usuario. Este tipo de usuarios solo se pueden conectar desde la aplicación (no desde SQL*Plus u otra herramienta). Para utilizar esta característica es necesario configurar SSO/OID y tener Oracle Forms en modo protegido. Veamos un ejemplo de cómo se conecta un proxy user: connect midtier[scott]/midtierPW@databaseTnsName En este caso el usuario scott se conecta con privilegios del usuario midtier. Enterprise Manager y Grid Control Ahora es posible saber qué operación está ejecutando un usuario conectado a la base de datos desde una forma. También es posible ver el consumo de los recursos (CPU, RAM, tiempo de conexión).

5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected]

Página 6

Eventos en Pluggable Java Components Ahora es posible despachar eventos del servidor de Forms en el código PJC. Mejoramiento del rastreo de Forms Oracle Forms ahora agrega en los archivos de bitácora, los nombres de funciones y procedimientos PL/SQL, tipos y valores de parámetros utilizados desde la sesión. JVM integrada con Oracle Reports Anteriormente, cuando se invocaba a Oracle Reports desde Oracle Forms se instanciaba una nueva JVM. Ahora se utiliza la misma JVM de la sesión de Forms para correr reportes, lo que permite reducir el consumo de recursos (CPU, Memoria). Pre-instanciar procesos de Forms Cada vez que un usuario inicia una sesión de Oracle Forms, ocurre más o menos el siguiente proceso:      

La solicitud llega al servicio de Oracle Forms en el servidor. El servidor inicia un proceso dedicado para el usuario. El servicio dedicado busca en el disco la forma que el usuario quiere visualizar. La forma es leída del disco e instanciada en la memoria del proceso dedicado. La forma se despacha al cliente y es visualizada en el explorador. El proceso dedicado mantiene comunicación con el proceso usuario para atender todas las solicitudes.

Este proceso puede consumir mucho tiempo y hacer que el usuario considere lento el arranque de la forma. Un administrador puede definir una ventana de tiempo en la cual se instancien varios procesos de Oracle Forms de forma anticipada. Cuando el usuario se conecta, la respuesta es más rápida y el inicio de sesión se reduce considerablemente.

5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected]

Página 7

ADRCI: Limpieza de directorios de diagnóstico Por Lic. Francisco Barrundia [email protected] En versiones anteriores a la 11gR2, los archivos de trace que solíamos encontrar en los directorios udump, cdump, dbdump debían depurarse manualmente. En Oracle 11gR2 se puede seguir haciendo esta limpieza manual, aunque es mejor realizarla con la herramienta que nos proporciona ADRCI.   

Los archivos de rastreo, por defecto se encuentran ahora en $ORACLE_BASE/diag/. Sigue existiendo un alert.log que registra los errores de base de datos. Los archivos de alerta ahora tienen formato XML.

Ejemplo: $ORACLE_BASE/diag/rdbms/orcl/orcl/alert/log.xml

Tenemos la herramienta adrci con la que podemos ver y gestionar estos archivos. Ejemplo adrci> show alert -tail

Uno de los problemas que siempre se nos plantea es el mantenimiento de los logs. Es por ello que nos vamos a centrar en la opción PURGE de ADRCI. Con el usuario oracle de nuestra máquina ejecutamos el comando adrci. [ora11g@prueba ~]$ adrci ADRCI: Release 11.2.0.1.0 - Production on Mon Apr 7 10:54:51 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. ADR base = "/oracle11g" adrci>

Para ver las opciones que nos ofrece PURGE, escribimos en la línea de comandos adrci "help purge". adrci> help purge Usage: PURGE [[-i | ] | [-age [-type ALERT|INCIDENT|TRACE|CDUMP|HM|UTSCDMP]]]: Purpose: Purge the diagnostic data in the current ADR home. If no option is specified, the default purging policy will be used. Options: [-i id1 | id1 id2]: Users can input a single incident ID, or a range of incidents to purge. [-age ]: Users can specify the purging policy either to all the diagnostic data or the specified type. The data older than ago will be purged [-type ALERT|INCIDENT|TRACE|CDUMP|HM|UTSCDMP]: Users can specify what type of data to be purged. Examples: purge

5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected]

Página 8

purge -i 123 456 purge -age 60 -type incident

Antes de lanzar el comando PURGE, debemos especificar el home donde residen los archivos de rastreo. Esto lo hacemos con un comando "set home". Cuando escribimos el comando adrci nos muestra el ADR base. [ora11g@sella ~]$ adrci ADRCI: Release 11.2.0.1.0 - Production on Mon Apr 7 11:02:00 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. ADR base = "/oracle11g" adrci> set home diag/rdbms/dba11g/dba11g/ adrci>

Como vemos, establecemos la ruta a partir de la base que ya está definida. Una vez establecido el ADR home, podemos lanzar el comando PURGE. Veamos algunos ejemplos. Para limpiar todos los archivos de rastreo de más de 24 horas de antigüedad (1440 minutos). adrci> purge -age 1440

Nota: incluye los core files: cdmp*. Limpieza de core files mayores a 6 días. adrci> purge -age 8640 -type CDUMP

Puede que para limpiar completamente sea necesario lanzar el siguiente comando. adrci> purge -age 8640 -type UTSCDMP

Para limpiar las alertas (archivos xml) de más de una hora de antigüedad. adrci> purge -age 60 -type ALERT

Tip Técnico del Mes Consulta Oracle SQL sobre la vista que muestra conexiones actuales a la base de datos. Para visualizarla es necesario tener privilegios de administrador. select osuser, username, machine, program from v$session order by osuser; Por Lic. Francisco Barrundia [email protected]

5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 PBX (502) 2364-5300 Fax (502) 2364-5311 [email protected]

Página 9

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.