Oracle - SET_RECORD_PROPERTY

 
Vista:

SET_RECORD_PROPERTY

Publicado por Sergio (48 intervenciones) el 19/03/2003 17:30:24
Mi problema es el siguiente: En una pantalla de forms cargo ciertos campos en el When-New-For-Instance. Para que no le pregunte al usuario si quiere guardar los cambios cuando consulta directamente o bien se quiere salir sin hacer nada he puesto al final del When-New-For-Instance la siguiente línea:

SET_RECORD_PROPERTY(:SYSTEM.TRIGGER_RECORD, 'bloque', STATUS , QUERY_STATUS);

Con esta línea consigo este objetivo, pero al intentar introducir datos me da el error siguiente:

FRM-40501: Error Oracle: no se ha podido reservar el registro para poder actualizar/borrar

Con lo que no puedo escribir nada.

Tanto los bloques como los campos tienen habilitadas la función de insertar y actualizar ya q si quito esa línea me funciona perfectamente.

Gracias a todos.
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:SET_RECORD_PROPERTY

Publicado por Byron (300 intervenciones) el 19/03/2003 18:39:27
Parece que el set_record_property te deshabilita bloquear el registro, si lo que deseas es hacer una consulta en una forma que inicie con varios campos llenos, puedes hacer que los campos no se llenen al inicio si no al momento de hacer el insert o sea los capos que llenas en el when-new-form-inst los pasas a pre-insert, de esta forma te evitas ese mensaje, y si aun asi quieres que el usuario vea por default esos campos puedes poner que no sean de la tabla llenados desde el mismo when-new-form-inst.

Si no lo deseas asi, tendras que programar ya sea el evento key-exeqry o key-entqry para que al momento que vaya a ejecutar una consulta o al momento de entrar en modo enter-query primero limpias la forma sin validarla osea clear_form(no_validate), para descartar los cambios realizados por el when-new-form-inst y continuas con el enter_query (key-entqry) o el execute_query (key-exeqry).
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

RE:SET_RECORD_PROPERTY

Publicado por Sergio (48 intervenciones) el 19/03/2003 18:50:23
La forma que tengo es esa ultima que has indicado, poner el clear_form. Pero no podría ponerlo en el key-exit ya que si se producen cambios por el usuario no podría avisarlo. En el key-entqry si me vale.
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

Porque no usas un bloque de control

Publicado por williams (142 intervenciones) el 20/03/2003 17:51:35
un bloque no enlazado a una tabla de la base de datos Data Base Block = NO; asi te evitas la molestia de tener que manejar inserciones, actualizaciones cuando no son necesarias.
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