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 62 63 64 65 66 67 68 69
   |  
SET LINESIZE 3000
SET SERVEROUTPUT ON
 
 
var dat_deb           VARCHAR2(20)
var dat_fin           VARCHAR2(20)
 
BEGIN
  DECLARE
 
    w_repertoire      prtami.val_pmt %TYPE:='/home/mle/';     
    w_nom_fic         VARCHAR2(100) := 'tmp_' || LOWER(USER) || '_test.log'; 
    w_fic_cre         UTL_FILE.FILE_TYPE;
    w_texte           VARCHAR2(32000) := 'XYZ';
 
  BEGIN
    :dat_deb  := TO_CHAR(SYSDATE,'dd/mm/yyyy-HH24.MI.SS');
 
    w_fic_cre  := UTL_FILE.FOPEN (w_repertoire,w_nom_fic,'w');
 
 
    UTL_FILE.PUT (w_fic_cre ,'Début : ' || :dat_deb);
 
    UTL_FILE.PUT (w_fic_cre ,'-XXXXXXXXXXXXXXXXXXX-');
 
    UTL_FILE.PUT (w_fic_cre ,'YYYYYYYYYYYYYYYYYYYYYY-');
 
    UTL_FILE.PUT (w_fic_cre ,'ZZZZZZZZZZZZZZZZZZZZZZ-');
 
 
    UTL_FILE.PUT (w_fic_cre ,RPAD(w_texte,3000,'V'));
 
    UTL_FILE.PUT (w_fic_cre ,RPAD(w_texte,3000,'D'));
 
    :dat_fin := TO_CHAR(SYSDATE,'dd/mm/yyyy-HH24.MI.SS');  
 
    UTL_FILE.PUT (w_fic_cre ,'Fin : ' || :dat_fin);
 
    UTL_FILE.FCLOSE(w_fic_cre); 
 
   EXCEPTION
 
   -- exceptions levées par les procédures d'IO de UTL_FILE 
 
    WHEN UTL_FILE.INVALID_PATH THEN
      dbms_output.put_line('erreur path');
 
    WHEN UTL_FILE.INVALID_MODE THEN
      dbms_output.put_line('erreur mode');
 
    WHEN UTL_FILE.INVALID_FILEHANDLE THEN
      dbms_output.put_line('erreur mode');
 
    WHEN UTL_FILE.INVALID_OPERATION THEN
      dbms_output.put_line('erreur op');
 
    WHEN UTL_FILE.READ_ERROR THEN
      dbms_output.put_line('erreur read');
 
    WHEN UTL_FILE.WRITE_ERROR THEN
      dbms_output.put_line('erreur write');
 
    WHEN UTL_FILE.INTERNAL_ERROR THEN
      dbms_output.put_line('erreur internal');
 
  END; 
END;
/ | 
Partager