CREATE OR REPLACE TRIGGER CALLREPLICAPRODFILI
  AFTER INSERT ON PRODUTO
  FOR EACH ROW
DECLARE
   PRAGMA AUTONOMOUS_TRANSACTION;
   JOB_N INT;
   V_IDINTERFACE NUMBER;
   V_NOME VARCHAR2(5000);
   V_COMANDO VARCHAR2(5000);
BEGIN
   V_NOME := 'CALLREPLICAPRODFILI'||:NEW.CDPRODUTO;

   FOR A IN (SELECT JOB
               FROM USER_JOBS
              WHERE WHAT LIKE 'CALLREPLICAPRODFILI%')
   LOOP
      DBMS_SCHEDULER.DROP_JOB(A.JOB);
   END LOOP;

   BEGIN
      DBMS_SCHEDULER.DROP_JOB(V_NOME);
   EXCEPTION
      WHEN OTHERS THEN
         NULL;
   END;

   V_COMANDO := 'BEGIN REPLICA_PRODUTO_PRODFILI('||CHR(39)||:NEW.CDPRODUTO||CHR(39)|| ',' ||CHR(39)||:NEW.CDARVPROD||CHR(39)||'); END;';

   BEGIN
      DBMS_SCHEDULER.CREATE_JOB (
      JOB_NAME => V_NOME,
      JOB_TYPE => 'PLSQL_BLOCK',
      JOB_ACTION => V_COMANDO,
      START_DATE => SYSDATE + INTERVAL '5' SECOND,
      ENABLED => TRUE);
   END;
END CALLREPLICAPRODFILI;
/