viernes, 2 de septiembre de 2011

Como extraer los datos de LOV (Lista de valores) por medio de Grupo de Registros (Oracle Forms)

Hola:

Cuando desarrollamos aplicaciones en Oracle Forms siempre nos topamos con hacer cosas que ya estan hechas y no es tan dificil como aparenta.

Un dia muy feliz en mi trabajo me pidieron la opción que dentro de una LOV list, le pusiera la opción de todos, y lo que no queria hacer un bloque de datos con un check box con las opción de todos, puesto que me tardaria muchos dias porque eran muchas listas de valores, asi que encontre como sulucionar esto, quizas alguien encontro una maneras mas simple, pero me gustaria compartir como lo hize.

La funcion PL SQL que ocupe es la siguiente:

FUNCTION L_OBT_ELEMENTS_RGP_SP(v_IdItem VARCHAR2,v_campo VARCHAR2) RETURN VARCHAR2 IS
v_LovName VARCHAR2(150);
v_GroupName VARCHAR2(150);
the_rowcount PLS_INTEGER;
rg_Id RecordGroup;
status PLS_INTEGER;
rec_Count PLS_INTEGER;
v_valIn VARCHAR2(500);
v_valor VARCHAR2(100);
col1 GroupColumn;
v_lon PLS_INTEGER;

BEGIN
NULL;

v_LovName := Get_Item_Property(v_IdItem, LOV_NAME );
v_GroupName := Get_LOV_Property(v_LovName,GROUP_NAME);
rg_Id:= Find_Group(v_GroupName);
status:=Populate_Group(rg_Id);
rec_Count := Get_Group_Row_Count( rg_id );
col1 := Find_Column(v_GroupName||'.'||v_campo);

FOR j IN 1..rec_Count LOOP
v_valor:= GET_GROUP_CHAR_CELL(col1, j );
v_valIn:=v_valIn||v_valor||',';
END LOOP;

v_lon:=LENGTH(v_valIn);
v_valIn:=SUBSTR(v_valIn,1,v_lon-1) ;


return v_valIn;
END;

No hay comentarios.: