create or replace PROCEDURE LIMPEZA_DADOS_JOB
IS

V_CDSEQUENCIAL VARCHAR2(20);
JOBNO NUMBER;
V_HRINICIAL_JOB VARCHAR2(4);

BEGIN
   
   FOR C_DADOS_LIMPEZA IN (SELECT 'S' IDCHECK, SISTLIMPEZA.IDLIMPEZA, TRUNC(TRABLIMPEZA.DTLIMPDADOSATE) DTLIMPDADOSATE,
                               TRABLIMPEZA.IDSTATUSLIMPEZA, SISTLIMPEZA.NMSISTEMALIMP,
                               TRABLIMPEZA.IDTHREADLIMPEZA, TRABLIMPEZA.CDOPERADOR,
                               TRABLIMPEZA.HRINILIMPEZA, TRABLIMPEZA.HRFINLIMPEZA,
                               TO_DATE(TO_CHAR(SYSDATE,'DDMMYYYY') || HRINILIMPEZA||'00','DDMMYYYYHH24MISS') DTHRINILIMPEZA ,  RPAD(' ' , 40 , ' ') NMOPERADOR,
                               TRABLIMPEZA.IDLIMPEZACONCERRO
                         FROM  TRABLIMPEZA, SISTLIMPEZA
                        WHERE SISTLIMPEZA.IDLIMPEZA = TRABLIMPEZA.IDLIMPEZA(+)
                          AND TRABLIMPEZA.IDSTATUSLIMPEZA in ('E','P','A')) LOOP
                          
   --CANCELA THREAD PARA NAO SER EXECUTA PELO BKS
   UPDATE BKGTHREAD SET IDSTATTHREAD = 5 , DSTHREAD = DSTHREAD||' - (EXEC. VIA JOB)' WHERE IDTHREAD = C_DADOS_LIMPEZA.IDTHREADLIMPEZA; 
   COMMIT;
    
   CASE WHEN C_DADOS_LIMPEZA.IDLIMPEZA = 'CUS/PLA' 
          
          THEN LIMPA_TABELAS_PLA(V_CDSEQUENCIAL, C_DADOS_LIMPEZA.DTLIMPDADOSATE, C_DADOS_LIMPEZA.NMSISTEMALIMP, C_DADOS_LIMPEZA.NMOPERADOR, C_DADOS_LIMPEZA.IDLIMPEZA);
        
        WHEN C_DADOS_LIMPEZA.IDLIMPEZA = 'EST'
          
          THEN LIMPEZA_DADOEST(V_CDSEQUENCIAL, C_DADOS_LIMPEZA.DTLIMPDADOSATE, C_DADOS_LIMPEZA.NMSISTEMALIMP, C_DADOS_LIMPEZA.NMOPERADOR, C_DADOS_LIMPEZA.IDLIMPEZA);
        
        WHEN C_DADOS_LIMPEZA.IDLIMPEZA =  'CMP/SUP'
        
          THEN LIMPEZA_CMPSUP(V_CDSEQUENCIAL, C_DADOS_LIMPEZA.DTLIMPDADOSATE, C_DADOS_LIMPEZA.NMSISTEMALIMP, C_DADOS_LIMPEZA.NMOPERADOR, C_DADOS_LIMPEZA.IDLIMPEZA);
        
        WHEN C_DADOS_LIMPEZA.IDLIMPEZA = 'DFE/DFS'
        
          THEN LIMPEZA_NOTAFISCAL(V_CDSEQUENCIAL, C_DADOS_LIMPEZA.DTLIMPDADOSATE, C_DADOS_LIMPEZA.NMSISTEMALIMP, C_DADOS_LIMPEZA.NMOPERADOR, C_DADOS_LIMPEZA.IDLIMPEZA);
        
        /*WHEN C_DADOS_LIMPEZA.IDLIMPEZA = 'CTB'
          
          THEN LIMPEZA_LANCCONT(V_CDSEQUENCIAL, C_DADOS_LIMPEZA.DTLIMPDADOSATE, C_DADOS_LIMPEZA.NMSISTEMALIMP, C_DADOS_LIMPEZA.NMOPERADOR, C_DADOS_LIMPEZA.IDLIMPEZA);*/
          
        WHEN C_DADOS_LIMPEZA.IDLIMPEZA = 'GER'
          
          THEN LIMPEZA_DADOGER(V_CDSEQUENCIAL, C_DADOS_LIMPEZA.DTLIMPDADOSATE, C_DADOS_LIMPEZA.NMSISTEMALIMP, C_DADOS_LIMPEZA.NMOPERADOR, C_DADOS_LIMPEZA.IDLIMPEZA);
          
        WHEN C_DADOS_LIMPEZA.IDLIMPEZA = 'OPL'
          
          THEN LIMPEZA_DADOS_OPL(V_CDSEQUENCIAL, C_DADOS_LIMPEZA.DTLIMPDADOSATE, C_DADOS_LIMPEZA.NMSISTEMALIMP, C_DADOS_LIMPEZA.NMOPERADOR, C_DADOS_LIMPEZA.IDLIMPEZA);
          
        WHEN C_DADOS_LIMPEZA.IDLIMPEZA = 'PED/EXP'
          
          THEN LIMPEZA_DADOS_PED_EXP(V_CDSEQUENCIAL, C_DADOS_LIMPEZA.DTLIMPDADOSATE, C_DADOS_LIMPEZA.NMSISTEMALIMP, C_DADOS_LIMPEZA.NMOPERADOR, C_DADOS_LIMPEZA.IDLIMPEZA);

        WHEN C_DADOS_LIMPEZA.IDLIMPEZA = 'CDP'
          
          THEN LIMPEZA_DADOS_CDP(V_CDSEQUENCIAL, C_DADOS_LIMPEZA.DTLIMPDADOSATE, C_DADOS_LIMPEZA.NMSISTEMALIMP, C_DADOS_LIMPEZA.NMOPERADOR, C_DADOS_LIMPEZA.IDLIMPEZA);
        
        ELSE --VND
          
          LIMPEZA_VENDAS(V_CDSEQUENCIAL, C_DADOS_LIMPEZA.DTLIMPDADOSATE, C_DADOS_LIMPEZA.NMSISTEMALIMP, C_DADOS_LIMPEZA.NMOPERADOR, C_DADOS_LIMPEZA.IDLIMPEZA);
   END CASE;
   
   END LOOP;

END;
/
-- VERSAO --
BEGIN ATUVEROBJ('LIMPEZA_DADOS_JOB','6.39.006'); END;
/
