Llenar un list-item con datos de una tabla en Oracle Forms

Llenar una lista con datos de una tabla en Oracle Forms-En días anteriores tuve que resolver el hecho de llenar una lista desplegable, o lo que podemos conocer como un List Item, con datos que provinieran de una tabla de mi base de datos Oracle 9i. Comúnmente colocamos los los valores que contendrá la lista en la propiedad ‘Elements in List’ de nuestro list item, pero si no quiero que estos valores sean fijos sino que deseo sacarlos de una tabla,.. cómo hago esto por código ? Pues bien, lo primero que debemos hacer es quitar cualquier dato que haya en la propiedad ‘Elements in List’ del List Item que hemos creado, luego debemos crear un record group que nos permita introducir un query (select) para traernos los valores de la tabla que deseamos. Pero mejor veamos el código y lo vamos describiendo paso a paso:

1 PROCEDURE CREACION_LISTA IS
2 RG_NAME VARCHAR2(40):='LISTA';
3 RG_ID RECORDGROUP;
4 IT ITEM;
5 ERR NUMBER;
6 BEGIN
7 RG_ID:=FIND_GROUP(RG_NAME);
8 IT:=FIND_ITEM('E.NOMBREDEPTO');
9 IF Id_Null(RG_ID) THEN
10 RG_ID:=CREATE_GROUP_FROM_QUERY(RG_NAME,'SELECT NOMBREDEPTO,CODDEPTO FROM DEPARTAMENTOS ORDER BY NOMBREDEPTO');
11 END IF;
12 ERR:=POPULATE_GROUP(RG_NAME);
13 IF ERR=0 THEN
14 Clear_List(IT);
15 POPULATE_LIST(IT,RG_NAME);
16 END IF;
17 END;

En la línea 2 declaramos un nombre para nuestro record group.
En la línea 3 declaramos una variable de tipo Record Group para posteriormente crear nuestro record group que nos permitirá obtener los datos de la tabla que necesitamos.
En la linea 4 declaramos una variable de tipo item que nos permitirá trabajar con el item de tipo List que hemos creado en nuestra forma.
En la línea 5 declaramos una variable numérica que nos servirá para alojar la respuesta de una función posteriormente.
Una vez iniciamos el cuerpo de nuestro código, lo primero que debemos hacer, según la línea 7 es un Find_Group que nos permitirá saber si ese record group ya existe, esta función devuelve un ID del record group si este existe.Luego según la línea 8, verificamos si existe en nuestra forma un item, perteneciente a un bloque E, llamado NOMBREDEPTO(es ejemplo, ustedes colocan el nombre de su item), la función Find_Item retorna un ID si encuentra un Item con el nombre que le hemos dado. En la línea 9 se pregunta si el id que devolvio el Find_group es null, si es así quiere decir que ese record group aun no ha sido creado, de esta manera en el paso 10 creamos el record group a través de la función CREATE_GROUP_FROM_QUERY que nos permitirá crearlo a partir de un query. Los parámetros que debe contener esta función son el nombre del record group de tipo varchar2 y el query tambien varchar2; es importante mencionar que en el select el primer dato corresponde al Item desplegado y el segundo al valor que tiene asociado ese item desplegado como los datos que nos pide cuando empleamos el ‘Elements in List’ y ambos deben ser varchar2, si en nuestra tabla no estan así sino númericos podemos emplear la función TO_CHAR. Luego en la línea 12 el Populate_Group ejecuta el query asociado con el record group y retorna un número indicando si fue satisfactorio o no; si es satisfactorio retorna un cero, por ello en el paso 13 si la variable ERR es igual a 0 limpiamos la lista(por seguridad…línea 14), luego hacemos un populate_list, cuyos parámetros son el nombre del item(list item) y el nombre del record group creado, que nos permite remover lo que haya en la lista y cargarle los valores que nos brinda el record group a través de su query(línea 15).
De esta manera podemos tener nuestra lista desplegable con datos de una tabla…

Instalar OpenOffice 3 – Hardy Heron 8.04

Hoy en GenBeta vi que habia salido el nuevo OpenOffice 3 Stable, y bueno lo baje para actualizar el 2.4 que es el que tengo instalado, en mi caso utilizo Ubuntu, baje este el cual trae una carpeta llamada DEBS la cual contiene ya precompilado el OpenOffice.

Para instalarlo, debemos primero descomprimir el archivo descargado,
tar xvzf OOo_3.0.0_LinuxX86-64_install_en-US_deb2.tar.gz

Luego de esto nos vamos a la carpeta DEBS y procedemos a instalar el OpenOffice 3
cd DEBS/
sudo dpkg -i *.deb

Esto no nos agrega los iconos al menu de aplicaciones pero el instala los programas en /opt/openoffice.org3/program/

y listo tenemos nuestro OpenOffice 3 instalado.

Espero que apoyen este tipo de aplicaciones que son buenisimas y le dan pelean a cualquier otra aplicacion del mismo tipo.