Habilitar/Deshabilitar un(os) registros de un dtbk

Tengo una forma donde presento un datablock para la cabecera y un datablock enlazado para el detalle, lo que deseo programar es cuando uno de los campos (flag) de mi detalle esté lleno, me deshabilite todo el registro o la línea, es decir el :system.cursor_record ...
¿Qué propiedades debo manejar?
¿Tiene algún ejemplo?
1

1 Respuesta

4.275 pts. DBA Oracle Desarrollo aplicaciones en Developer y Reports
Lo puedes programar en el trigger de bloque when-new-record-instance, puedes usar algo parecido a esto
if :pro_encabezado_reporte_m.estado = 'PND' then
set_item_property('control.b_aplicar',enabled,property_true);
set_block_property('pro_encabezado_reporte_m',update_allowed,property_true);
set_block_property('pro_encabezado_reporte_m',delete_allowed,property_true);
set_block_property('pro_detalle_reporte_m',insert_allowed,property_true);
set_block_property('pro_detalle_reporte_m',update_allowed,property_true);
set_block_property('pro_detalle_reporte_m',delete_allowed,property_true);
set_block_property('pro_reporte_lotes_m',insert_allowed,property_true);
set_block_property('pro_reporte_lotes_m',update_allowed,property_true);
set_block_property('pro_reporte_lotes_m',delete_allowed,property_true);
set_block_property('pro_detalle_reporte_insumo_m',insert_allowed,property_true);
set_block_property('pro_detalle_reporte_insumo_m',update_allowed,property_true);
set_block_property('pro_detalle_reporte_insumo_m',delete_allowed,property_true);
else
set_item_property('control.b_aplicar',enabled,property_false);
set_block_property('pro_encabezado_reporte_m',update_allowed,property_false);
set_block_property('pro_encabezado_reporte_m',delete_allowed,property_false);
set_block_property('pro_detalle_reporte_m',insert_allowed,property_false);
set_block_property('pro_detalle_reporte_m',update_allowed,property_false);
set_block_property('pro_detalle_reporte_m',delete_allowed,property_false);
set_block_property('pro_reporte_lotes_m',insert_allowed,property_false);
set_block_property('pro_reporte_lotes_m',update_allowed,property_false);
set_block_property('pro_reporte_lotes_m',delete_allowed,property_false);
set_block_property('pro_detalle_reporte_insumo_m',insert_allowed,property_false);
set_block_property('pro_detalle_reporte_insumo_m',update_allowed,property_false);
set_block_property('pro_detalle_reporte_insumo_m',delete_allowed,property_false);
end if;
Esto se uso en un encabezado pero igual lo puedes programar para un detalle.
En realidad lo que yo buscaba era el bloques de sólo 1 o varias líneas del detalle x columna, no toda una columna entera. Me funcionó con Set_Item_Instance_Property(...)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas