create or replace PROCEDURE INATIVA_RECEITA_AUTO
AS
BEGIN
   UPDATE PRATPADR SET IDATIVO = 'N' WHERE TRUNC(DTINATIVAUTO) = TRUNC(SYSDATE);
   UPDATE PRATFILI SET IDATIVO = 'N' WHERE TRUNC(DTINATIVAUTO) = TRUNC(SYSDATE);
   UPDATE PRATSERV SET IDATIVO = 'N' WHERE TRUNC(DTINATIVAUTO) = TRUNC(SYSDATE);
   UPDATE PRATTPCARD SET IDATIVO = 'N' WHERE TRUNC(DTINATIVAUTO) = TRUNC(SYSDATE);
   UPDATE PRATPADQUALI SET IDATIVO = 'N' WHERE TRUNC(DTINATIVAUTO) = TRUNC(SYSDATE);
   UPDATE PRATREGIAO SET IDATIVO = 'N' WHERE TRUNC(DTINATIVAUTO) = TRUNC(SYSDATE);
   UPDATE PRATO SET IDATIVO = 'N' WHERE TRUNC(DTINATIVAUTO) = TRUNC(SYSDATE);
   COMMIT;
END;
/

DECLARE
  V_JOB NUMBER;
BEGIN
  FOR C_JOBS IN (SELECT JOB
                   FROM ALL_JOBS
                  WHERE WHAT LIKE '%INATIVA_RECEITA_AUTO%') LOOP
    DBMS_JOB.REMOVE(C_JOBS.JOB);
  END LOOP;

  DBMS_JOB.SUBMIT(V_JOB, WHAT => 'BEGIN INATIVA_RECEITA_AUTO; END;', 
  NEXT_DATE => TO_DATE(TO_CHAR(TRUNC(SYSDATE + 1), 'DD/MM/YYYY') || ' 00:00', 'DD/MM/YYYY HH24:MI'),
  INTERVAL => 'TO_DATE(TO_CHAR(TRUNC(SYSDATE + 1), ''DD/MM/YYYY'') || '' 00:00'', ''DD/MM/YYYY HH24:MI'')');
  COMMIT;
END; 
/


-- VERSAO --
BEGIN ATUVEROBJ('INATIVA_RECEITA_AUTO','6.35.019'); END;
/
