Introdução 

 SQL Scripts 

 Packages 

 Packages Body 
 pkg_nkw_exc 
 pkg_nkw_rpl 
 pkg_nkw_std 
 pkg_nkw_app 
 pkg_nkw_spm 
 pkg_nkw_hfs 
 pkg_nkw_sdv 
 pkg_nkw_sys 
 pkg_nkw_obj 
 pkg_nkw_grv 
 pkg_nkw_usr 
 pkg_nkw_cmm 
 pkg_nkw_hlp 
 pkg_nkw_dvp 
 pkg_nkw_dnt_std 
 pkg_nkw_dnt_dvies 
 pkg_nkw_dnt_ccvies 
 pkg_nkw_dnt_logies 
 pkg_nkw_dnt_eppc 
 pkg_nkw_dnt_eapb 
 pkg_nkw_dnt_drmies 
 pkg_nkw_dnt 
 pkg_nkw_drm 
 pkg_nkw_oim 
 pkg_nkw_aud 
 pkg_nkw_dpl 
 pkg_nkw_srw 

 Forms 6i 

 Reports 6i 

Linux

 Downloads 
PKG_NKW_HFS.SPB
Source Package Body
Interface p/ UTL_FILE.
create or replace package body pkg_nkw_hfs
timestamp '2006-07-07:10:10:10'
is
   ------------------------------------------------------------------
   -- 2006 DataPRO Developers - m@urelio
   ------------------------------------------------------------------
   -- Version: 2.0.2
   ------------------------------------------------------------------
   -- Collections, Records, Variables, Constants, Exceptions, Cursors
   ------------------------------------------------------------------
   gv_handle  utl_file.file_type;
   ------------------------------------------------------------------
   ----------------------- Private Section --------------------------
   ------------------------------------------------------------------
   ------------------------------------------------------------------
   -- CLOSE_FILE
   ------------------------------------------------------------------
   procedure close_file
   is
   begin
      if (utl_file.is_open(gv_handle)) then
	 utl_file.fclose(gv_handle);
      end if;
      exception
	 when others then raise;
   end close_file;
   ------------------------------------------------------------------
   ------------------------ Public Section --------------------------
   ------------------------------------------------------------------
   ------------------------------------------------------------------
   -- FAPPEND
   ------------------------------------------------------------------
   procedure fappend(ft_string in gt_string%TYPE,
		     fv_file   in gv_file%TYPE	:= gv_file,
		     fv_path   in gv_path%TYPE	:= gv_path,
		     fv_lines  in gv_lines%TYPE := gv_lines,
		     fv_bytes  in gv_bytes%TYPE := gv_bytes)
   is
      lv_sumbytes  number;
      i 	   binary_integer;
   begin
      begin
	 gv_handle := utl_file.fopen(fv_path, fv_file, 'A');
	 exception
	    when utl_file.invalid_path then close_file;
	       gv_message := 'PKG_NKW_HFS.FAPPEND.Open(Invalid Path)';
	       raise ge_hfs;
	    when utl_file.invalid_mode then close_file;
	       gv_message := 'PKG_NKW_HFS.FAPPEND.Open(Invalid Mode)';
	       raise ge_hfs;
	    when utl_file.invalid_operation then close_file;
	       begin
		  gv_handle := utl_file.fopen(fv_path, fv_file, 'W');
		  exception
		     when others then close_file;
			gv_message := 'PKG_NKW_HFS.FAPPEND.Open(Recursive Write Failure)';
			raise ge_hfs;
	       end;
	    when utl_file.internal_error then close_file;
	       gv_message := 'PKG_NKW_HFS.FAPPEND.Open(Internal Error)';
	       raise ge_hfs;
	    when others then close_file;
	       gv_message := 'PKG_NKW_HFS.FAPPEND.Open(Others)';
	       raise ge_hfs;
      end;
      begin
	 i := ft_string.first;
	 << append_loop >>
	 while (i is not null) loop
	    begin
	       utl_file.put_line(gv_handle, ft_string(i));
	       exception
		  when utl_file.invalid_filehandle then close_file;
		     gv_message := 'PKG_NKW_HFS.FAPPEND.PutLine(Invalid FileHandle)';
		     raise ge_hfs;
		  when utl_file.invalid_operation then close_file;
		     gv_message := 'PKG_NKW_HFS.FAPPEND.PutLine(Invalid Operation)';
		     raise ge_hfs;
		  when utl_file.write_error then close_file;
		     gv_message := 'PKG_NKW_HFS.FAPPEND.PutLine(Write Error)';
		     raise ge_hfs;
		  when utl_file.internal_error then close_file;
		     gv_message := 'PKG_NKW_HFS.FAPPEND.PutLine(Internal Error)';
		     raise ge_hfs;
		  when others then close_file;
		     gv_message := 'PKG_NKW_HFS.FAPPEND.PutLine(Others)';
		     raise ge_hfs;
	    end;
	    lv_sumbytes := nvl(lv_sumbytes,0) + length(ft_string(i));
	    exit append_loop when (lv_sumbytes > fv_bytes);
	    exit append_loop when (i > fv_lines);
	    i := ft_string.next(i);
	 end loop append_loop;
      end;
      begin
	 close_file;
      end;
      exception
	 when others then raise;
   end fappend;
   ------------------------------------------------------------------
   procedure fappend(fv_buffer in gv_buffer%TYPE,
		     fv_file   in gv_file%TYPE	:= gv_file,
		     fv_path   in gv_path%TYPE	:= gv_path)
   is
   begin
      begin
	 gv_handle := utl_file.fopen(fv_path, fv_file, 'A');
	 exception
	    when utl_file.invalid_path then close_file;
	       gv_message := 'PKG_NKW_HFS.FAPPEND.Open(Invalid Path)';
	       raise ge_hfs;
	    when utl_file.invalid_mode then close_file;
	       gv_message := 'PKG_NKW_HFS.FAPPEND.Open(Invalid Mode)';
	       raise ge_hfs;
	    when utl_file.invalid_operation then close_file;
	       begin
		  gv_handle := utl_file.fopen(fv_path, fv_file, 'W');
		  exception
		     when others then close_file;
			gv_message := 'PKG_NKW_HFS.FAPPEND.Open(Recursive Write Failure)';
			raise ge_hfs;
	       end;
	    when utl_file.internal_error then close_file;
	       gv_message := 'PKG_NKW_HFS.FAPPEND.Open(Internal Error)';
	       raise ge_hfs;
	    when others then close_file;
	       gv_message := 'PKG_NKW_HFS.FAPPEND.Open(Others)';
	       raise ge_hfs;
      end;
      begin
	 utl_file.put(gv_handle, fv_buffer);
	 exception
	    when utl_file.invalid_filehandle then close_file;
	       gv_message := 'PKG_NKW_HFS.FAPPEND.PutLine(Invalid FileHandle)';
	       raise ge_hfs;
	    when utl_file.invalid_operation then close_file;
	       gv_message := 'PKG_NKW_HFS.FAPPEND.PutLine(Invalid Operation)';
	       raise ge_hfs;
	    when utl_file.write_error then close_file;
	       gv_message := 'PKG_NKW_HFS.FAPPEND.PutLine(Write Error)';
	       raise ge_hfs;
	    when utl_file.internal_error then close_file;
	       gv_message := 'PKG_NKW_HFS.FAPPEND.PutLine(Internal Error)';
	       raise ge_hfs;
	    when others then close_file;
	       gv_message := 'PKG_NKW_HFS.FAPPEND.PutLine(Others)';
	       raise ge_hfs;
      end;
      begin
	 close_file;
      end;
      exception
	 when others then raise;
   end fappend;
   ------------------------------------------------------------------
   -- FWRITE
   ------------------------------------------------------------------
   procedure fwrite(ft_string in gt_string%TYPE,
		    fv_file   in gv_file%TYPE  := gv_file,
		    fv_path   in gv_path%TYPE  := gv_path,
		    fv_lines  in gv_lines%TYPE := gv_lines,
		    fv_bytes  in gv_bytes%TYPE := gv_bytes)
   is
      lv_sumbytes  number;
      i 	   binary_integer;
   begin
      begin
	 gv_handle := utl_file.fopen(fv_path, fv_file, 'W');
	 exception
	    when utl_file.invalid_path then close_file;
	       gv_message := 'PKG_NKW_HFS.FWRITE.Open(Invalid Path)';
	       raise ge_hfs;
	    when utl_file.invalid_mode then close_file;
	       gv_message := 'PKG_NKW_HFS.FWRITE.Open(Invalid Mode)';
	       raise ge_hfs;
	    when utl_file.invalid_operation then close_file;
	       gv_message := 'PKG_NKW_HFS.FWRITE.Open(Invalid Operation)';
	       raise ge_hfs;
	    when utl_file.internal_error then close_file;
	       gv_message := 'PKG_NKW_HFS.FWRITE.Open(Internal Error)';
	       raise ge_hfs;
	    when others then close_file;
	       gv_message := 'PKG_NKW_HFS.FWRITE.Open(Others)';
	       raise ge_hfs;
      end;
      begin
	 i := ft_string.first;
	 << write_loop >>
	 while (i is not null) loop
	    begin
	       utl_file.put_line(gv_handle, ft_string(i));
	       exception
		  when utl_file.invalid_filehandle then close_file;
		     gv_message := 'PKG_NKW_HFS.FWRITE.PutLine(Invalid FileHandle)';
		     raise ge_hfs;
		  when utl_file.invalid_operation then close_file;
		     gv_message := 'PKG_NKW_HFS.FWRITE.PutLine(Invalid Operation)';
		     raise ge_hfs;
		  when utl_file.write_error then close_file;
		     gv_message := 'PKG_NKW_HFS.FWRITE.PutLine(Write Error)';
		     raise ge_hfs;
		  when utl_file.internal_error then close_file;
		     gv_message := 'PKG_NKW_HFS.FWRITE.PutLine(Internal Error)';
		     raise ge_hfs;
		  when others then close_file;
		     gv_message := 'PKG_NKW_HFS.FWRITE.PutLine(Others)';
		     raise ge_hfs;
	    end;
	    lv_sumbytes := nvl(lv_sumbytes,0) + length(ft_string(i));
	    exit write_loop when (lv_sumbytes > fv_bytes);
	    exit write_loop when (i > fv_lines);
	    i := ft_string.next(i);
	 end loop write_loop;
      end;
      begin
	 close_file;
      end;
      exception
	 when others then raise;
   end fwrite;
   ------------------------------------------------------------------
   procedure fwrite(fv_buffer in gv_buffer%TYPE,
		    fv_file   in gv_file%TYPE  := gv_file,
		    fv_path   in gv_path%TYPE  := gv_path)
   is
   begin
      begin
	 gv_handle := utl_file.fopen(fv_path, fv_file, 'W');
	 exception
	    when utl_file.invalid_path then close_file;
	       gv_message := 'PKG_NKW_HFS.FWRITE.Open(Invalid Path)';
	       raise ge_hfs;
	    when utl_file.invalid_mode then close_file;
	       gv_message := 'PKG_NKW_HFS.FWRITE.Open(Invalid Mode)';
	       raise ge_hfs;
	    when utl_file.invalid_operation then close_file;
	       gv_message := 'PKG_NKW_HFS.FWRITE.Open(Invalid Operation)';
	       raise ge_hfs;
	    when utl_file.internal_error then close_file;
	       gv_message := 'PKG_NKW_HFS.FWRITE.Open(Internal Error)';
	       raise ge_hfs;
	    when others then close_file;
	       gv_message := 'PKG_NKW_HFS.FWRITE.Open(Others)';
	       raise ge_hfs;
      end;
      begin
	 utl_file.put(gv_handle, fv_buffer);
	 exception
	    when utl_file.invalid_filehandle then close_file;
	       gv_message := 'PKG_NKW_HFS.FWRITE.PutLine(Invalid FileHandle)';
	       raise ge_hfs;
	    when utl_file.invalid_operation then close_file;
	       gv_message := 'PKG_NKW_HFS.FWRITE.PutLine(Invalid Operation)';
	       raise ge_hfs;
	    when utl_file.write_error then close_file;
	       gv_message := 'PKG_NKW_HFS.FWRITE.PutLine(Write Error)';
	       raise ge_hfs;
	    when utl_file.internal_error then close_file;
	       gv_message := 'PKG_NKW_HFS.FWRITE.PutLine(Internal Error)';
	       raise ge_hfs;
	    when others then close_file;
	       gv_message := 'PKG_NKW_HFS.FWRITE.PutLine(Others)';
	       raise ge_hfs;
      end;
      begin
	 close_file;
      end;
      exception
	 when others then raise;
   end fwrite;
   ------------------------------------------------------------------
   -- FREAD
   ------------------------------------------------------------------
   procedure fread(fv_file   in  gv_file%TYPE  := gv_file,
		   fv_path   in  gv_path%TYPE  := gv_path,
		   fv_lines  in  gv_lines%TYPE := gv_lines,
		   fv_bytes  in  gv_bytes%TYPE := gv_bytes,
		   ft_string out gt_string%TYPE)
   is
      lv_done	  boolean := (FALSE);
      lv_string   gv_string%TYPE;
      i 	  binary_integer := 1;
      lv_sumbytes number;
   begin
      begin
	 gv_handle := utl_file.fopen(fv_path, fv_file, 'R');
	 exception
	    when utl_file.invalid_path then close_file;
	       gv_message := 'PKG_NKW_HFS.FREAD.Open(Invalid Path)';
	       raise ge_hfs;
	    when utl_file.invalid_mode then close_file;
	       gv_message := 'PKG_NKW_HFS.FREAD.Open(Invalid Mode)';
	       raise ge_hfs;
	    when utl_file.invalid_operation then close_file;
	       gv_message := 'PKG_NKW_HFS.FREAD.Open(Invalid Operation)';
	       raise ge_hfs;
	    when utl_file.internal_error then close_file;
	       gv_message := 'PKG_NKW_HFS.FREAD.Open(Internal Error)';
	       raise ge_hfs;
	    when others then close_file;
	       gv_message := 'PKG_NKW_HFS.FREAD.Open(Others)';
	       raise ge_hfs;
      end;
      << read_loop >>
      loop
	 begin
	    utl_file.get_line(gv_handle, lv_string);
	    exception
	       when no_data_found then close_file;
		  exit read_loop;
	       when value_error then close_file;
		  gv_message := 'PKG_NKW_HFS.FREAD.GetLine(Value Error)';
		  raise ge_hfs;
	       when utl_file.invalid_filehandle then close_file;
		  gv_message := 'PKG_NKW_HFS.FREAD.GetLine(Invalid FileHandle)';
		  raise ge_hfs;
	       when utl_file.invalid_operation then close_file;
		  gv_message := 'PKG_NKW_HFS.FREAD.GetLine(Invalid Operation)';
		  raise ge_hfs;
	       when utl_file.read_error then close_file;
		  gv_message := 'PKG_NKW_HFS.FREAD.GetLine(Read Error)';
		  raise ge_hfs;
	       when utl_file.internal_error then close_file;
		  gv_message := 'PKG_NKW_HFS.FREAD.GetLine(Internal Error)';
		  raise ge_hfs;
	       when others then close_file;
		  gv_message := 'PKG_NKW_HFS.FREAD.GetLine(Others)';
		  raise ge_hfs;
	 end;
	 ft_string(i) := lv_string;
	 i := nvl(i,0) + 1;
	 lv_sumbytes := nvl(lv_sumbytes,0) + length(lv_string);
	 exit read_loop when (lv_sumbytes > fv_bytes);
	 exit read_loop when (i > fv_lines);
      end loop read_loop;
      begin
	 close_file;
      end;
      exception
	 when others then raise;
   end fread;
end pkg_nkw_hfs;
© 2017 DataPRO Developers