-- ===============================================================================
-- JOB_NAME: JOB_APAGA_DADOS_PROCESSO_NFE
-- ===============================================================================
BEGIN
   DECLARE
      V_COUNT NUMBER;
   BEGIN
      /* APAGA JOB ANTIGO*/
      FOR C_JOBS IN (SELECT JOB
                       FROM USER_JOBS
                      WHERE WHAT LIKE '%APAGA_DADOS_PROCESSO_NFE%') LOOP
            DBMS_JOB.REMOVE(C_JOBS.JOB);
      END LOOP;   

      V_COUNT := 0;
      BEGIN
         SELECT COUNT(*)
           INTO V_COUNT
           FROM USER_SCHEDULER_JOBS
          WHERE JOB_NAME = 'JOB_APAGA_DADOS_PROCESSO_NFE';
      EXCEPTION
         WHEN NO_DATA_FOUND THEN
            V_COUNT := 0;
      END;

      IF V_COUNT = 0 THEN
         DBMS_SCHEDULER.CREATE_JOB (
           JOB_NAME        => 'JOB_APAGA_DADOS_PROCESSO_NFE',
           JOB_TYPE        => 'PLSQL_BLOCK',
           JOB_ACTION      => 'BEGIN APAGA_DADOS_PROCESSO_NFE; COMMIT; END;',
           START_DATE      => SYSTIMESTAMP,
           REPEAT_INTERVAL => 'TRUNC(SYSDATE + 1)',
           JOB_CLASS       => 'DEFAULT_JOB_CLASS',
           ENABLED         => TRUE,
           AUTO_DROP       => FALSE,
           COMMENTS        => 'Job criado para apagar os dados da tabela LOGGERARDANFE.');
      ELSE
         DBMS_SCHEDULER.DROP_JOB(JOB_NAME => 'JOB_APAGA_DADOS_PROCESSO_NFE');

         DBMS_SCHEDULER.CREATE_JOB (
           JOB_NAME        => 'JOB_APAGA_DADOS_PROCESSO_NFE',
           JOB_TYPE        => 'PLSQL_BLOCK',
           JOB_ACTION      => 'BEGIN APAGA_DADOS_PROCESSO_NFE; COMMIT; END;',
           START_DATE      => SYSTIMESTAMP,
           REPEAT_INTERVAL => 'TRUNC(SYSDATE + 1)',
           JOB_CLASS       => 'DEFAULT_JOB_CLASS',
           ENABLED         => TRUE,
           AUTO_DROP       => FALSE,
           COMMENTS        => 'Job criado para apagar os dados da tabela LOGGERARDANFE.');
      END IF;
   END;
END;
/

-- VERSAO --
BEGIN ATUVEROBJ('JOB_APAGA_DADOS_PROCESSO_NFE','6.45.007'); END;
/
