Me da este error cuando quiero traer el dato bit de un dato en el property bag la pantalla pone true al salvar, pero el al quererlo leer con la sentencia gen.get_pb_field_data_bit da este error ORA-01722: número no válido
01722. 00000 - "invalid number"
Cause: y cuando lo corro con gen.get_pb_field_data no me da error y sale el valor true dato dato dato dato dato dato dato dato dato ---- ---- ---- ---- ---- ----- ----- ---- ---- 8278 235 1 12 Dias true 30 0 0 en cambio si pongo manualmente 1 o 0 en el dato del property bag ahí no me da error, pero la pantalla guarda true/false no 1/0. |
Este es el cuerpo de la función en el paquete GEN.
Si te das cuenta obtiene el dato con la función que retorna VARCHAR y lo compara contra 'true', para retornar 1 o 0, que si entiende la variable NUMBER(1) de Oracle. Ya lo probé en la base de desarrollo y no falla. Deberías de revisar la función en el paquete y tus datos en la tabla. |
Si esta diferente porque según los datos de la carga puede ser true, 1 o S o false, 0 o N, y las pantallas los agarran.
|
Ya encontré el problema es como lo estoy usando, nvl(EVODATA.gen.get_pb_field_data_bit (EMP_PROPERTY_BAG_DATA, 'SalarioPorHora'),'false') y debe ser nvl(EVODATA.gen.get_pb_field_data_bit (EMP_PROPERTY_BAG_DATA, 'SalarioPorHora'),0) |