ingemillan
17th December 2007, 20:02
Adjunto Un Documento Donde Hago Una Consulta De Desarrollo

Gracias A La Persona Que Me Pueda Colaborar

bilmaa
18th December 2007, 09:00
Yo utilizaria la función do.all.occ() para borrar los registros de la pur202 que estan referenciados a los registros de la tabla de pantalla.

ingemillan
20th December 2007, 18:20
Hola

Muchas gracias por tu respuesta, pero ya lo intente y me sale error "Registro no encontrado"

No se realmente en que evento utilizarlo

dorleta
21st December 2007, 10:34
Básate en este código que te adjunto. En el before delete todavía los datos del registro no están borrados por lo que dispones de los datos de la orden posición y además se ejecuta una vez por cada registro a borrar. Modifica tu función para que reciba los parámetros necesarios y esta hecho.

Suerte y Feliz Navidad.

main.table.io:
before.delete:
borrar.posiciones()




function borrar.posiciones()
{
SELECT tdpur202.*
FROM tdpur202 FOR update
WHERE tdpur202._index1 = {:s.compra, :tdpur101.pono}
SELECTDO
db.delete(ttdpur202, db.retry)
commit.transaction()
ENDSELECT
}

gget79
4th January 2008, 20:58
Adjunto Un Documento Donde Hago Una Consulta De Desarrollo

Gracias A La Persona Que Me Pueda Colaborar


hola:

Lo que te sugieren en el último posteo es lo correcto la razón conceptual se basa en que por el evento after.update.db.commit el flujo del programa pasa solo una vez, y por el before.delete ó after.delete pasa después de cada acción o iteracción por la tabla principal, aquí puedieras tener un problema de de 'Can't update' y quiere decir que en alguna parte del programa ya esta setado un db.retry.point().