1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
   | EXCEPTION 
 
       WHEN OTHERS                      THEN 
            BEGIN
                -- Vidage tables d'import (il faut désactiver les foreign keys sinon on obtient une erreur)
                 EXECUTE IMMEDIATE 'ALTER TABLE IMPORT_TITRE_DIFFUSION
                                    disable CONSTRAINT FK_IMPORT_TIT_DIFF_IMPORT_DIFF';
                 EXECUTE IMMEDIATE 'TRUNCATE TABLE IMPORT_TITRE_DIFFUSION';
                 EXECUTE IMMEDIATE 'TRUNCATE TABLE IMPORT_DIFFUSION';
                 EXECUTE IMMEDIATE 'ALTER TABLE IMPORT_TITRE_DIFFUSION
                                    enable CONSTRAINT FK_IMPORT_TIT_DIFF_IMPORT_DIFF';
 
                 CASE Exception
                     WHEN UTL_FILE.INVALID_FILEHANDLE THEN 
                        --BEGIN
                             -- log
                             ps_log ( 'Erreur import Diffusion : UTL_FILE.INVALID_FILEHANDLE', l_s_repFicLogOut, l_s_logFic, 2 );
                        --END;
 
                     WHEN UTL_FILE.INVALID_OPERATION  THEN 
                          --BEGIN
                               -- log
                               ps_log ( 'Erreur import Diffusion : UTL_FILE.INVALID_OPERATION', l_s_repFicLogOut, l_s_logFic, 2 );
                          --END;
 
                     WHEN UTL_FILE.READ_ERROR         THEN 
                          --BEGIN
                               -- log
                               ps_log ( 'Erreur import Diffusion : UTL_FILE.READ_ERROR', l_s_repFicLogOut, l_s_logFic, 2 );
                          --END;
 
                     WHEN UTL_FILE.INVALID_PATH       THEN 
                          --BEGIN
                               -- log
                               ps_log ( 'Erreur import Diffusion : UTL_FILE.INVALID_PATH', l_s_repFicLogOut, l_s_logFic, 2 );
                          --END;
 
                     WHEN UTL_FILE.INVALID_MODE       THEN 
                          --BEGIN
                               -- log
                               ps_log ( 'Erreur import Diffusion : UTL_FILE.INVALID_MODE', l_s_repFicLogOut, l_s_logFic, 2 );
                          --END;
 
                     WHEN NO_DATA_FOUND               THEN 
                          BEGIN
                               -- log
                               ps_log ( 'Erreur import Diffusion : NO_DATA_FOUND', l_s_repFicLogOut, l_s_logFic, 2 );
                               -- fermeture du fichier
                               UTL_FILE.FCLOSE ( l_f_ficPrep );
                               -- destruction des directorys
                               l_n_rtnFct := PK_UTILITAIRES.fn_dropDirectory ( l_s_repFicIn );
                               l_n_rtnFct := PK_UTILITAIRES.fn_dropDirectory ( l_s_repFicLogOut );
                          END;
 
                     ELSE     
                          -- log
                          ps_log ( 'Erreur import Diffusion : Autres', l_s_repFicLogOut, l_s_logFic, 2 );    
 
                 END CASE;        
 
            END; | 
Partager