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_DNT_STD.SPB
Source Package Body
Dynamic Trigger - Standard
create or replace package body pkg_nkw_dnt_std
timestamp '2006-07-07:10:10:10'
is
   ------------------------------------------------------------------
   -- 2006 DataPRO Developers - m@urelio
   ------------------------------------------------------------------
   -- Version: 2.0.2
   ------------------------------------------------------------------
   -- Collections, Records, Variables, Constants, Exceptions, Cursors
   ------------------------------------------------------------------
   ------------------------------------------------------------------
   ----------------------- Private Section --------------------------
   ------------------------------------------------------------------
   ------------------------------------------------------------------
   -- DATA_SORT
   ------------------------------------------------------------------
   procedure data_sort
   is
      i        binary_integer := 1;
      j        i%TYPE;
      k        i%TYPE;
      lv_least varchar2(30) := rpad('z',30,'z');
   begin
      << main_loop >>
      while (gt_data.count > 0) loop
	 j := gt_data.first;
	 << least_loop >>
	 while (j is not null) loop
	    lv_least := least(lv_least, gt_data(j).column_name);
	    j := gt_data.next(j);
	 end loop least_loop;
	 k := gt_data.first;
	 << get_loop >>
	 while (k is not null) loop
	    if (lv_least = gt_data(k).column_name) then
	       gt_sort(i).column_id := k;
	       gt_sort(i).column_name := gt_data(k).column_name;
	       gt_sort(i).data_type := gt_data(k).data_type;
	       i := i + 1;
	       gt_data.delete(k);
	       lv_least := rpad('z',30,'z');
	       exit get_loop;
	    end if;
	    k := gt_data.next(k);
	 end loop get_loop;
      end loop main_loop;
      exception
	 when others then raise;
   end data_sort;
   ------------------------------------------------------------------
   ------------------------ Public Section --------------------------
   ------------------------------------------------------------------
   ------------------------------------------------------------------
   -- BUILD_STMT
   ------------------------------------------------------------------
   procedure build_stmt(ft_data in     gt_data%TYPE,
			fv_stmt in out varchar2)
   is
      i        binary_integer;
      lv_type  varchar2(30);
   begin
      gt_data := ft_data;
      gt_sort.delete;
      data_sort;
      if (fv_stmt is not null) then
	 i := gt_sort.last;
	 while (i is not null) loop
	    if (upper(gt_sort(i).data_type) = 'DATE') then
	       lv_type := 'date_value';
	    elsif (upper(gt_sort(i).data_type) = 'NUMBER') then
	       lv_type := 'number_value';
	    elsif (upper(gt_sort(i).data_type) = 'VARCHAR2') then
	       lv_type := 'varchar2_value';
	    end if;
	    fv_stmt := replace(fv_stmt, ':old.' || lower(gt_sort(i).column_name),
					'pkg_nkw_dnt.gt_old_data(' || gt_sort(i).column_id || ').' || lv_type);
	    fv_stmt := replace(fv_stmt, ':new.' || lower(gt_sort(i).column_name),
					'pkg_nkw_dnt.gt_new_data(' || gt_sort(i).column_id || ').' || lv_type);
	    i := gt_sort.prior(i);
	 end loop;
      end if;
      exception
	 when others then
	   raise;
   end build_stmt;
end pkg_nkw_dnt_std;
© 2017 DataPRO Developers