TRIGGER EN PLSQL/ORACLE

tema enviado por jamescar en ORACLE
tema iniciado el 24/11/2011
Trigger PLSQL-Oracle Saludos a todos, Por favor ayudenme con el siguiente problema, que ya le he hechado cabeza y no le encuentro solución. Tengo la base de datos de JDE en oracle y dentro de la misma bd me crearon un esquema con dos tablas: cabecera y detalle que las alimentaré con un trigger for insert montado en la tabla prinicpal de transacciones F4111. Ahora el dato es que en la tabla f4111 se guarda informacion de varias compañias y lo que quiero es que cuando se dispare el trigger me pase datos de una sola compañia a mis tablas cabecera y detalle. Actualmente me funciona el trigger pero me pasa datos de a mis tablas cab y detall, de todas las compañias. Detallo el trigger: create or replace trigger TRANSFER BEFORE INSERT ON F4111 REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW DECLARE SUB_TIPO NCHAR(2):= 'IT'; BEGIN if sub_tipo='IT' AND :new.ILKCO='104' then insert into cabecera( num_trans,tipo,origen,fecha) values (:new.ildoc,:new.ildcto,:new.ilkco,:new.iltrdj); insert into detalle(num_trans,cod_prod,cantidad) values (:new.ildoc,:new.ilitm,:new.iltrqt); end if; Mis tablas actualmente se llenan de data con el trigger, pero es mucha data y yo solo deseo de una sola compañia. Las compañias son: 101,102,103,104. En mi caso solo deseo guardar informacion de la 104. Por eso en el IF seteo :new.ilkco=104 para que solo me pase lo de la 104. Favor confirmar si esty haciendo lo correcto ya que no me funciona como deseo puesto que me pasa de todas las compañias. Nota: tengo una recomendacion que usar la tabla DUAL pero no se mucho acerca de esa tabla. Si me podrian detallar algo mas seria de gran ayuda. Agradezco su gentil colaboración