santiago14
27-11-2004, 05:30:20
No quisiera molestar tanto pero estoy obligado....
Tengo un trigger:
CREATE TRIGGER MODIFICOPCIO_LISTA_REP FOR REPUESTOS
ACTIVE AFTER UPDATE POSITION 2
AS
declare variable dto_Caja double precision;
begin
/* en este caso la modificación es en el precio de lista */
/* pcio_Costo = pcio_Lista - Dtos_Pieza + IVAc - Dto_Caja */
/* pcio_Vta = pcio_Costo + IVAv + Gcia_Rep */
/*si se modificó el precio de lista del repuesto*/
if (new.pcio_lista <> old.pcio_lista) then
begin
/*dto_Caja es la tasa de descuento */
execute procedure recuperodtocaja(old.cod_prov)
returning_values dto_Caja;
/*actualizamos el pcio de costo*/
execute procedure actualizopcio_costo_rep(new.pcio_lista,old.dto1_rep,
old.dto2_rep,old.cod_rep,:dto_Caja);
/*actualizamos el pcio de venta*/
execute procedure actualizopcio_vta_rep(old.gcia_rep,new.pcio_costo,
old.cod_Rep);
end
end
El tema es el siguiente, en el SP actualizopcio_costo_rep hago justamente eso, y no hay problema, la cuestión es que, el precio de costo recién actualizado sirve para actualizar también el precio de vta, tal actualización se hace en actualizonpcio_vta_rep, SP que necesita entre sus parámetros de entrada el precio de costo recién actualizado, para ello le paso como parámetro new.pcio_costo suponiendo yo que el valor que pasa es el pcio_costo recientemente actualizado en el SP anterior, pero no es así, el pcio_costo que pasa es el viejo, o sea, el que estaba en la tabla de repuestos antes de que se disparara este trigger.
Necesito saber como pasar el pcio_costo recién actualizado al SP de actualización de pcio_vta, por lo visto new.pcio_costo todavía no conoce al nuevo pcio_costo que puse en el SP actualizonpcio_costo_rep.
Bueno, no se si me hice un lio, espero haber sido claro.
Gracias de antemano.
Tengo un trigger:
CREATE TRIGGER MODIFICOPCIO_LISTA_REP FOR REPUESTOS
ACTIVE AFTER UPDATE POSITION 2
AS
declare variable dto_Caja double precision;
begin
/* en este caso la modificación es en el precio de lista */
/* pcio_Costo = pcio_Lista - Dtos_Pieza + IVAc - Dto_Caja */
/* pcio_Vta = pcio_Costo + IVAv + Gcia_Rep */
/*si se modificó el precio de lista del repuesto*/
if (new.pcio_lista <> old.pcio_lista) then
begin
/*dto_Caja es la tasa de descuento */
execute procedure recuperodtocaja(old.cod_prov)
returning_values dto_Caja;
/*actualizamos el pcio de costo*/
execute procedure actualizopcio_costo_rep(new.pcio_lista,old.dto1_rep,
old.dto2_rep,old.cod_rep,:dto_Caja);
/*actualizamos el pcio de venta*/
execute procedure actualizopcio_vta_rep(old.gcia_rep,new.pcio_costo,
old.cod_Rep);
end
end
El tema es el siguiente, en el SP actualizopcio_costo_rep hago justamente eso, y no hay problema, la cuestión es que, el precio de costo recién actualizado sirve para actualizar también el precio de vta, tal actualización se hace en actualizonpcio_vta_rep, SP que necesita entre sus parámetros de entrada el precio de costo recién actualizado, para ello le paso como parámetro new.pcio_costo suponiendo yo que el valor que pasa es el pcio_costo recientemente actualizado en el SP anterior, pero no es así, el pcio_costo que pasa es el viejo, o sea, el que estaba en la tabla de repuestos antes de que se disparara este trigger.
Necesito saber como pasar el pcio_costo recién actualizado al SP de actualización de pcio_vta, por lo visto new.pcio_costo todavía no conoce al nuevo pcio_costo que puse en el SP actualizonpcio_costo_rep.
Bueno, no se si me hice un lio, espero haber sido claro.
Gracias de antemano.