Si lo que necesitas es un evento para guardar tu formulario CABECERA/DETALLE. este seria el código que necesitas..
cdw_datos.accepttext()
cdw_datos_detalle.accepttext()
if cdw_datos.update (true, false) = 1 then //Guardamos la cabecera
if cdw_datos_detalle.Update(true, false) = 1 then //Si no hubo errores en la cabecera.. guardamos el detalle
cdw_datos.ResetUpdate( ) //limpiamos el buffer de la cabecera
cdw_datos_detalle.ResetUpdate( ) //limpiamos el buffer del detalle
commit using sqlca; //confirmamos la operación
Messagebox("Atención..", "Operación realizada con Éxito!") //Desplegamos un mensaje de aviso de que la operación termino con éxito
TriggerEvent ("ue_nuevo") //vamos al evento ue_nuevo que será un evento donde limpiaras todo el formulario, para registrar una nueva operación
else
ROLLBACK USING SQLCA; //en el caso de que exista algún error en el detalle...
MessageBox("AVISO","Ha ocurrido error durante la grabación en el Detalle!!", exclamation!) //informamos que existe un error en el detalle
end if
else
ROLLBACK USING SQLCA;
MessageBox("AVISO","Ha ocurrido error durante la grabación!!") //informamos que existe un error en la cabecera..
end if