SELECT encabezado
_factura = no_factura
SELECT Inventario
=CURSORSETPROP("Buffering",5) && ponerlo en buffer de tabla
SELECT detalle
SCAN FOR no_factura = _factura
_codigo = codigo
_cantidad = cantidad
SELECT inventario
IF SEEK(_codigo)
REPLACE existencia WITH existencia - _cantidad
ENDIF
ENDSCAN
*** Intentar realizar los cambios a la tabla de inventario
IF TABLEUPDATE(2, .F., 'inventario')
END TRANSACTION && Termina la transaccion
ELSE
= AERROR(aErrorArray)
CR = CHR(13)
cMsg = "Actualizando la tabla hija "+;
"ha ocurrido un error."+CR+CR+ ;
"Error: "+aErrorArray(1)+CR+CR+;
aErrorArray(2)
nType = MB_ICONINFORMATION+MB_OK
cTitle = "Problemas con actualización!"
*** Descarta todos los cambios
ROLLBACK
=MESSAGEBOX(cMsg,nType,cTitle)
ENDIF
USE