problemas con un trigger
Publicado por goya (89 intervenciones) el 29/08/2006 14:33:59
Cordial Saludo:
Tengo un problema con un trigger el when_button_pressed tiene el siguiente codigo:
BEGIN
INSERT INTO INVENTARIO(NRO_DOCUMENTO,TIPO_MOVIMIENTO,NRO_UBICACION,NRO_REFERENCIA,NRO_CLIENTE,UNIDAD,ESTIBA,FECHA_PROCESO,
FECHA_ENTRADA,cantidad,saldo,cod_estado,fecha_vence)
VALUES(:DETALLE_MOVIMIENTO.NRO_DOCUMENTO,1,upper(:DETALLE_MOVIMIENTO.NRO_UBICACION),:DETALLE_MOVIMIENTO.NRO_REFERENCIA,:DETALLE_MOVIMIENTO.NRO_CLIENTE,
:DETALLE_MOVIMIENTO.UNIDAD,:DETALLE_MOVIMIENTO.ESTIBA,SYSDATE,SYSDATE,:detalle_movimiento.cantidad,:detalle_movimiento.cantidad,'02',:detalle_movimiento.fecha_vence);
COMMIT;
END;
BEGIN
MESSAGE('DEBE INSERTAR 02');
INSERT INTO DETALLE_MOVIMIENTO( NRO_DOCUMENTO, TIPO_MOVIMIENTO, NRO_UBICACION, NRO_REFERENCIA,
NRO_CLIENTE, UNIDAD, CANTIDAD, LOTE, FECHA_VENCE, ESTIBA, NATURALEZA, COD_ESTADO, NRO_UBICACIONDEST,
SALDO, PROCESADO, FECHA_PROCESO,codigo_ean14 )
VALUES (:DETALLE_MOVIMIENTO.NRO_DOCUMENTO, 1,upper(:DETALLE_MOVIMIENTO.NRO_UBICACION), :DETALLE_MOVIMIENTO.NRO_REFERENCIA,
:DETALLE_MOVIMIENTO.NRO_CLIENTE, :DETALLE_MOVIMIENTO.UNIDAD,:detalle_movimiento.cantidad, :detalle_movimiento.lote,
:detalle_movimiento.fecha_vence, :detalle_movimiento.estiba, 'E', '02',NULL, :detalle_movimiento.cantidad, 'S',
TO_Date( 'sysdate', 'MM/DD/YYYY HH:MI:SS AM'),:detalle_movimiento.codigo_BARRAS);
COMMIT;
display_error;
END;
Este codigo inserta bien en la tabla inventario, pero en la tabla detalle_movimiento lo que hace es me hace el primer insert luego cuando limpio los campos y le doy otra ves clic en el boton, entonces lo que hace en la tabla detalle_movimiento es hacer un update del registro que antes habia insertado, y lo que necesito es que me inserte un nuevo registro.
que puedo hacer para que esto me funcione?
Gracias,
Tengo un problema con un trigger el when_button_pressed tiene el siguiente codigo:
BEGIN
INSERT INTO INVENTARIO(NRO_DOCUMENTO,TIPO_MOVIMIENTO,NRO_UBICACION,NRO_REFERENCIA,NRO_CLIENTE,UNIDAD,ESTIBA,FECHA_PROCESO,
FECHA_ENTRADA,cantidad,saldo,cod_estado,fecha_vence)
VALUES(:DETALLE_MOVIMIENTO.NRO_DOCUMENTO,1,upper(:DETALLE_MOVIMIENTO.NRO_UBICACION),:DETALLE_MOVIMIENTO.NRO_REFERENCIA,:DETALLE_MOVIMIENTO.NRO_CLIENTE,
:DETALLE_MOVIMIENTO.UNIDAD,:DETALLE_MOVIMIENTO.ESTIBA,SYSDATE,SYSDATE,:detalle_movimiento.cantidad,:detalle_movimiento.cantidad,'02',:detalle_movimiento.fecha_vence);
COMMIT;
END;
BEGIN
MESSAGE('DEBE INSERTAR 02');
INSERT INTO DETALLE_MOVIMIENTO( NRO_DOCUMENTO, TIPO_MOVIMIENTO, NRO_UBICACION, NRO_REFERENCIA,
NRO_CLIENTE, UNIDAD, CANTIDAD, LOTE, FECHA_VENCE, ESTIBA, NATURALEZA, COD_ESTADO, NRO_UBICACIONDEST,
SALDO, PROCESADO, FECHA_PROCESO,codigo_ean14 )
VALUES (:DETALLE_MOVIMIENTO.NRO_DOCUMENTO, 1,upper(:DETALLE_MOVIMIENTO.NRO_UBICACION), :DETALLE_MOVIMIENTO.NRO_REFERENCIA,
:DETALLE_MOVIMIENTO.NRO_CLIENTE, :DETALLE_MOVIMIENTO.UNIDAD,:detalle_movimiento.cantidad, :detalle_movimiento.lote,
:detalle_movimiento.fecha_vence, :detalle_movimiento.estiba, 'E', '02',NULL, :detalle_movimiento.cantidad, 'S',
TO_Date( 'sysdate', 'MM/DD/YYYY HH:MI:SS AM'),:detalle_movimiento.codigo_BARRAS);
COMMIT;
display_error;
END;
Este codigo inserta bien en la tabla inventario, pero en la tabla detalle_movimiento lo que hace es me hace el primer insert luego cuando limpio los campos y le doy otra ves clic en el boton, entonces lo que hace en la tabla detalle_movimiento es hacer un update del registro que antes habia insertado, y lo que necesito es que me inserte un nuevo registro.
que puedo hacer para que esto me funcione?
Gracias,
Valora esta pregunta


0