Ver Mensaje Individual
  #1  
Antiguo 30-06-2006
JoanKa JoanKa is offline
Miembro
 
Registrado: ene 2005
Posts: 92
Reputación: 20
JoanKa Va por buen camino
Controlar un Disparador al momento de cancelar o eliminar

Muy buenas a todos quisiera hacer una consulta:

Estoy realizando un mantenimiento de de la forma maestro detalle (facturas, lineas_facturas),

CREATE TABLE FACTURAS (
FACT_CODIGO PK (Clave Primaria)
CLI_CODIGO
FACT_FECHA_ALTA
.....
);

CREATE TABLE LINEAS_FACTURAS (
FACT_CODIGO PK(Clave Primaria)
LIN_NUMERO PK(Clave Primaria)
ARTI_CODIGO
LIN_CANTIDAD
.......
);

Para cada tabla tengo un generador, es decir:

Generador para la Factura
CREATE GENERATOR GEN_FACT_CODIGO;

Generador para la linea de la Factura
CREATE GENERATOR GEN_LIN_FACTURA;

Bueno les cuento lo que me esta pasando: En un mantenimiento doy de alta una factura, como tambien lo puedo modificar, hasta aca me va muy bien me registra todo ok, todo en sus respectivas tablas.

Ahora viene el problema:

Supongamos que la ultima factura ingresadas es 850 y la ultima linea de factura es 13520 y presiono sobre un boton de ingresar nueva factura entonces se activa la factura 851 e ingreso 5 articulos a la factura, es decir las lineas de la factura es de la 13521, 13522, 13523, 13524 y 13525 pero por X motivos CANCELO LA FACTURA Y SALGO DEL MANTENIMIENTO DE FACTURACION Y CUANDO INGRESO NUEVAMENTE ME DOY CUENTA QUE LA FACTURA ES AHORA EL NUMERO 852 Y LAS LINEAS ES AHORA 13526, es decir se han incrementado.

Lo que yo deseo es que al momento de cancelar se quede en ultimo registro tanto en FACTURAS con en LINEAS FACTURAS, es decir 851 y 13521, yo sé que es por el disparador de cada tabla.

La pregunta es la siguiente: como puedo contralar a los disparadores, de tal manera que tenga una correlacion en las Facturas y en la Lineas de las Facturas.

Gracias y saludos
Responder Con Cita