DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_DELETE_ELEMENT_ENTRY

Source


1 package body hrdpp_DELETE_ELEMENT_ENTRY as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2007/01/04 02:01:34
4  * Generated for API: PY_ELEMENT_ENTRY_API.DELETE_ELEMENT_ENTRY
5  */
6 --
7 dh constant date := hr_api.g_date;
8 nh constant number := hr_api.g_number;
9 vh constant varchar2(64) := hr_api.g_varchar2;
10 c_sot constant date := to_date('01010001','DDMMYYYY');
11 cn constant varchar2(32) := '<NULL>';
12 dn constant date := null;
13 nn constant number := null;
14 vn constant varchar2(1) := null;
15 --
16 function dc(p in date) return varchar2 is
17 begin
18 if p<c_sot then
19  if p<>trunc(p) then
20   return to_char(p,'SYYYY/MM/DD HH24:MI:SS');
21  end if;
22  return to_char(p,'SYYYY/MM/DD');
23 elsif p<>trunc(p) then
24  return to_char(p,'YYYY/MM/DD HH24:MI:SS');
25 end if;
26 return to_char(p,'YYYY/MM/DD');
27 end dc;
28 function d(p in varchar2) return date is
29 begin
30 if length(p)=10 then
31 return to_date(p,'YYYY/MM/DD');
32 elsif length(p)=19 then
33 return to_date(p,'YYYY/MM/DD HH24:MI:SS');
34 elsif length(p)=11 then
35 return to_date(p,'SYYYY/MM/DD');
36 elsif length(p)=20 then
37 return to_date(p,'SYYYY/MM/DD HH24:MI:SS');
38 end if;
39 -- Try default format as last resort.
40 return to_date(p,'YYYY/MM/DD');
41 end d;
42 function n(p in varchar2) return number is
43 begin
44 return to_number(p);
45 end n;
46 function dd(p in date,i in varchar2)
47 return varchar2 is
48 begin
49 if upper(i) = 'N' then return dc(p);
50 else return cn; end if;
51 end dd;
52 function nd(p in number,i in varchar2)
53 return varchar2 is
54 begin
55 if upper(i) = 'N' then return to_char(p);
56 else return cn; end if;
57 end nd;
58 --
59 procedure iuk
60 (p_batch_line_id  in number,
61 p_user_key_value in varchar2,
62 p_unique_key_id  in number)
63 is
64 begin
65 hr_data_pump.entry('ins_user_key');
66 insert into hr_pump_batch_line_user_keys
67 (user_key_id, batch_line_id,user_key_value,unique_key_id)
68 values
69 (hr_pump_batch_line_user_keys_s.nextval,
70 p_batch_line_id,
71 p_user_key_value,
72 p_unique_key_id);
73 hr_data_pump.exit('ins_user_key');
74 end iuk;
75 --
76 procedure insert_batch_lines
77 (p_batch_id      in number
78 ,p_data_pump_batch_line_id in number default null
79 ,p_data_pump_business_grp_name in varchar2 default null
80 ,p_user_sequence in number default null
81 ,p_link_value    in number default null
82 ,P_DATETRACK_DELETE_MODE in varchar2
83 ,P_EFFECTIVE_DATE in date
84 ,P_ELEMENT_ENTRY_USER_KEY in varchar2) is
85 blid number := p_data_pump_batch_line_id;
86 begin
87 if blid is not null then
88 delete from hr_pump_batch_lines where batch_line_id = blid;
89 delete from hr_pump_batch_exceptions
90 where source_type = 'BATCH_LINE' and source_id = blid;
91 end if;
92 insert into hr_pump_batch_lines
93 (batch_id
94 ,batch_line_id
95 ,business_group_name
96 ,api_module_id
97 ,line_status
98 ,user_sequence
99 ,link_value
100 ,pval001
101 ,pval002
102 ,pval006)
103 values
104 (p_batch_id
105 ,nvl(blid,hr_pump_batch_lines_s.nextval)
106 ,p_data_pump_business_grp_name
107 ,1384
108 ,'U'
109 ,p_user_sequence
110 ,p_link_value
111 ,P_DATETRACK_DELETE_MODE
112 ,dc(P_EFFECTIVE_DATE)
113 ,P_ELEMENT_ENTRY_USER_KEY);
114 end insert_batch_lines;
115 --
116 procedure call
117 (p_business_group_id in number,
118 p_batch_line_id     in number) is
119 cursor cr is
120 select l.rowid myrowid,
121 decode(l.pval001,cn,vn,l.pval001) p1,
122 decode(l.pval002,cn,dn,d(l.pval002)) p2,
123 decode(l.pval003,cn,dn,d(l.pval003)) p3,
124 decode(l.pval004,cn,dn,d(l.pval004)) p4,
125 l.pval005 p5,
126 decode(l.pval006,cn,vn,l.pval006) p6
127 from hr_pump_batch_lines l
128 where l.batch_line_id = p_batch_line_id;
129 --
130 c cr%rowtype;
131 l_validate boolean := false;
132 L_DELETE_WARNING boolean;
133 L_ELEMENT_ENTRY_ID number;
134 L_OBJECT_VERSION_NUMBER number;
135 --
136 begin
137 hr_data_pump.entry('call');
138 open cr;
139 fetch cr into c;
140 if cr%notfound then
141 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
142 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
143 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
144 hr_utility.set_message_token('VALUE',p_batch_line_id);
145 hr_utility.raise_error;
146 end if;
147 --
148 if c.p6 is null then
149 L_ELEMENT_ENTRY_ID:=nn;
150 else
151 L_ELEMENT_ENTRY_ID := 
152 hr_pump_get.get_element_entry_id
153 (P_ELEMENT_ENTRY_USER_KEY => c.p6);
154 end if;
155 --
156 if c.p6 is null or
157 c.p2 is null then
158 L_OBJECT_VERSION_NUMBER:=nn;
159 else
160 L_OBJECT_VERSION_NUMBER := 
161 hr_pump_get.GET_ELEMENT_ENTRY_OVN
162 (P_ELEMENT_ENTRY_USER_KEY => c.p6
163 ,P_EFFECTIVE_DATE => c.p2);
164 end if;
165 --
166 hr_data_pump.api_trc_on;
167 PY_ELEMENT_ENTRY_API.DELETE_ELEMENT_ENTRY
168 (p_validate => l_validate
169 ,P_DATETRACK_DELETE_MODE => c.p1
170 ,P_EFFECTIVE_DATE => c.p2
171 ,P_ELEMENT_ENTRY_ID => L_ELEMENT_ENTRY_ID
172 ,P_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER
173 ,P_EFFECTIVE_START_DATE => c.p3
174 ,P_EFFECTIVE_END_DATE => c.p4
175 ,P_DELETE_WARNING => L_DELETE_WARNING);
176 hr_data_pump.api_trc_off;
177 --
178 if L_DELETE_WARNING then
179 c.p5 := 'TRUE';
180 else
181 c.p5 := 'FALSE';
182 end if;
183 --
184 update hr_pump_batch_lines l set
185 l.pval003 = decode(c.p3,null,cn,dc(c.p3)),
186 l.pval004 = decode(c.p4,null,cn,dc(c.p4)),
187 l.pval005 = decode(c.p5,null,cn,c.p5)
188 where l.rowid = c.myrowid;
189 --
190 close cr;
191 --
192 hr_data_pump.exit('call');
193 exception
194  when hr_multi_message.error_message_exist then
195    if cr%isopen then
196     close cr;
197    end if;
198    hr_pump_utils.set_multi_msg_error_flag(true);
199  when others then
200  if cr%isopen then
201   close cr;
202  end if;
203  raise;
204 end call;
205 end hrdpp_DELETE_ELEMENT_ENTRY;