Oracle - GET_GROUP_CHAR_CELL ...

 
Vista:

GET_GROUP_CHAR_CELL ...

Publicado por ALEXIS (2 intervenciones) el 19/05/2009 09:47:30
Buenas a todos, tengo una consulta.

Tengo una libreria que me exporta a excel mediante un record group.

El record group se crea en tiempo de ejecución con :system.last_query...

Ahora... para obtener la columna del record group utilizo:

vva_valor := GET_GROUP_CHAR_CELL( VCOL, j );
vva_valor := GET_GROUP_NUMBER_CELL( VCOL, j );
vva_valor := GET_GROUP_DATE_CELL( VCOL, j );

Pero claro el problema está en que yo no sé el tipo de dato que es...

Entonces hago esto para controlar la exception (el error que da es FRM-41084):

Begin
VALORCELDA := GET_GROUP_CHAR_CELL( CELDA, FILAPOS );
Exception
When Others Then
Begin
VALORCELDA := GET_GROUP_NUMBER_CELL( CELDA, FILAPOS );
Exception
When Others Then
Begin
VALORCELDA := GET_GROUP_DATE_CELL( CELDA, FILAPOS );
Exception
When Others Then
L_ALERTA('ALERTA_STOP_1',ERROR_CODE||' - '||ERROR_TEXT);
End;
End;
End;

Pero pasa completamente del EXCEPTION, no pasa por el exception cuando lee una columna de tipo numero o una fecha y va directamente el trigger on-error del formulario...
Como ultima posibilidad lo controlaré en el on-error del formulario pero me gustaria saber otro modo de hacerlo y el motivo de porque no pasa por el exception.... si tiene algo que ver que sea ese tipo de funcion la que provoca el error, que sea un error de form.... ni idea...

Gracias

Si alguien puede ayudarme....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:GET_GROUP_CHAR_CELL ...

Publicado por ojkar (1 intervención) el 08/06/2009 20:27:46
Hola, me encontre con ese mismo problema.
La razon por la que no sea atrapada la excepcion en el when others la desconozco tambien (me suena a un bug de oracle), para saberla te sugiero que levantes un tar en el metalink. Pero para no esperar a la excepcion, puedes tratar de obtener cada uno de los groupcolumn antes de leerlos y verificar con el id_null si son validos, asi le das la vuelta a la excepcion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar