DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_GB_PERSON_ADDRESS

Source


1 package body hrdpp_UPDATE_GB_PERSON_ADDRESS as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2007/01/04 02:01:22
4  * Generated for API: HR_PERSON_ADDRESS_API.UPDATE_GB_PERSON_ADDRESS
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_EFFECTIVE_DATE in date
83 ,P_DATE_FROM in date default null
84 ,I_DATE_FROM in varchar2 default 'N'
85 ,P_DATE_TO in date default null
86 ,I_DATE_TO in varchar2 default 'N'
87 ,P_ADDRESS_TYPE in varchar2 default null
88 ,P_COMMENTS in long default null
89 ,P_ADDRESS_LINE1 in varchar2 default null
90 ,P_ADDRESS_LINE2 in varchar2 default null
91 ,P_ADDRESS_LINE3 in varchar2 default null
92 ,P_TOWN in varchar2 default null
93 ,P_COUNTY in varchar2 default null
94 ,P_POSTCODE in varchar2 default null
95 ,P_TELEPHONE_NUMBER in varchar2 default null
96 ,P_TELEPHONE_NUMBER_2 in varchar2 default null
97 ,P_ADDR_ATTRIBUTE_CATEGORY in varchar2 default null
98 ,P_ADDR_ATTRIBUTE1 in varchar2 default null
99 ,P_ADDR_ATTRIBUTE2 in varchar2 default null
100 ,P_ADDR_ATTRIBUTE3 in varchar2 default null
101 ,P_ADDR_ATTRIBUTE4 in varchar2 default null
102 ,P_ADDR_ATTRIBUTE5 in varchar2 default null
103 ,P_ADDR_ATTRIBUTE6 in varchar2 default null
104 ,P_ADDR_ATTRIBUTE7 in varchar2 default null
105 ,P_ADDR_ATTRIBUTE8 in varchar2 default null
106 ,P_ADDR_ATTRIBUTE9 in varchar2 default null
107 ,P_ADDR_ATTRIBUTE10 in varchar2 default null
108 ,P_ADDR_ATTRIBUTE11 in varchar2 default null
109 ,P_ADDR_ATTRIBUTE12 in varchar2 default null
110 ,P_ADDR_ATTRIBUTE13 in varchar2 default null
111 ,P_ADDR_ATTRIBUTE14 in varchar2 default null
112 ,P_ADDR_ATTRIBUTE15 in varchar2 default null
113 ,P_ADDR_ATTRIBUTE16 in varchar2 default null
114 ,P_ADDR_ATTRIBUTE17 in varchar2 default null
115 ,P_ADDR_ATTRIBUTE18 in varchar2 default null
116 ,P_ADDR_ATTRIBUTE19 in varchar2 default null
117 ,P_ADDR_ATTRIBUTE20 in varchar2 default null
118 ,P_ADD_INFORMATION13 in varchar2 default null
119 ,P_ADD_INFORMATION14 in varchar2 default null
120 ,P_ADD_INFORMATION15 in varchar2 default null
121 ,P_ADD_INFORMATION16 in varchar2 default null
122 ,P_ADD_INFORMATION17 in varchar2 default null
123 ,P_ADD_INFORMATION18 in varchar2 default null
124 ,P_ADD_INFORMATION19 in varchar2 default null
125 ,P_ADD_INFORMATION20 in varchar2 default null
126 ,P_ADDRESS_USER_KEY in varchar2
127 ,P_COUNTRY in varchar2 default null) is
128 blid number := p_data_pump_batch_line_id;
129 begin
130 if blid is not null then
131 delete from hr_pump_batch_lines where batch_line_id = blid;
132 delete from hr_pump_batch_exceptions
133 where source_type = 'BATCH_LINE' and source_id = blid;
134 end if;
135 insert into hr_pump_batch_lines
136 (batch_id
137 ,batch_line_id
138 ,business_group_name
139 ,api_module_id
140 ,line_status
141 ,user_sequence
142 ,link_value
143 ,pval001
144 ,pval002
145 ,pval003
146 ,pval004
147 ,plongval
148 ,pval006
149 ,pval007
150 ,pval008
151 ,pval009
152 ,pval010
153 ,pval011
154 ,pval012
155 ,pval013
156 ,pval014
157 ,pval015
158 ,pval016
159 ,pval017
160 ,pval018
161 ,pval019
162 ,pval020
163 ,pval021
164 ,pval022
165 ,pval023
166 ,pval024
167 ,pval025
168 ,pval026
169 ,pval027
170 ,pval028
171 ,pval029
172 ,pval030
173 ,pval031
174 ,pval032
175 ,pval033
176 ,pval034
177 ,pval035
178 ,pval036
179 ,pval037
180 ,pval038
181 ,pval039
182 ,pval040
183 ,pval041
184 ,pval042
185 ,pval043
186 ,pval044)
187 values
188 (p_batch_id
189 ,nvl(blid,hr_pump_batch_lines_s.nextval)
190 ,p_data_pump_business_grp_name
191 ,1381
192 ,'U'
193 ,p_user_sequence
194 ,p_link_value
195 ,dc(P_EFFECTIVE_DATE)
196 ,dd(P_DATE_FROM,I_DATE_FROM)
197 ,dd(P_DATE_TO,I_DATE_TO)
198 ,P_ADDRESS_TYPE
199 ,P_COMMENTS
200 ,P_ADDRESS_LINE1
201 ,P_ADDRESS_LINE2
202 ,P_ADDRESS_LINE3
203 ,P_TOWN
204 ,P_COUNTY
205 ,P_POSTCODE
206 ,P_TELEPHONE_NUMBER
207 ,P_TELEPHONE_NUMBER_2
208 ,P_ADDR_ATTRIBUTE_CATEGORY
209 ,P_ADDR_ATTRIBUTE1
210 ,P_ADDR_ATTRIBUTE2
211 ,P_ADDR_ATTRIBUTE3
212 ,P_ADDR_ATTRIBUTE4
213 ,P_ADDR_ATTRIBUTE5
214 ,P_ADDR_ATTRIBUTE6
215 ,P_ADDR_ATTRIBUTE7
216 ,P_ADDR_ATTRIBUTE8
217 ,P_ADDR_ATTRIBUTE9
218 ,P_ADDR_ATTRIBUTE10
219 ,P_ADDR_ATTRIBUTE11
220 ,P_ADDR_ATTRIBUTE12
221 ,P_ADDR_ATTRIBUTE13
222 ,P_ADDR_ATTRIBUTE14
223 ,P_ADDR_ATTRIBUTE15
224 ,P_ADDR_ATTRIBUTE16
225 ,P_ADDR_ATTRIBUTE17
226 ,P_ADDR_ATTRIBUTE18
227 ,P_ADDR_ATTRIBUTE19
228 ,P_ADDR_ATTRIBUTE20
229 ,P_ADD_INFORMATION13
230 ,P_ADD_INFORMATION14
231 ,P_ADD_INFORMATION15
232 ,P_ADD_INFORMATION16
233 ,P_ADD_INFORMATION17
234 ,P_ADD_INFORMATION18
235 ,P_ADD_INFORMATION19
236 ,P_ADD_INFORMATION20
237 ,P_ADDRESS_USER_KEY
238 ,P_COUNTRY);
239 end insert_batch_lines;
240 --
241 procedure call
242 (p_business_group_id in number,
243 p_batch_line_id     in number) is
244 cursor cr is
245 select l.rowid myrowid,
246 decode(l.pval001,cn,dn,d(l.pval001)) p1,
247 decode(l.pval002,cn,dn,vn,dh,d(l.pval002)) p2,
248 l.pval002 d2,
249 decode(l.pval003,cn,dn,vn,dh,d(l.pval003)) p3,
250 l.pval003 d3,
251 decode(l.pval004,cn,vn,vn,vh,
252  hr_pump_get.gl(l.pval004,'ADDRESS_TYPE',d(l.pval001),vn)) p4,
253 l.pval004 d4,
254 l.plongval plongval,
255 decode(l.pval006,cn,vn,vn,vh,l.pval006) p6,
256 l.pval006 d6,
257 decode(l.pval007,cn,vn,vn,vh,l.pval007) p7,
258 l.pval007 d7,
259 decode(l.pval008,cn,vn,vn,vh,l.pval008) p8,
260 l.pval008 d8,
261 decode(l.pval009,cn,vn,vn,vh,l.pval009) p9,
262 l.pval009 d9,
263 decode(l.pval010,cn,vn,vn,vh,
264  hr_pump_get.gl(l.pval010,'GB_COUNTY',d(l.pval001),vn)) p10,
265 l.pval010 d10,
266 decode(l.pval011,cn,vn,vn,vh,l.pval011) p11,
267 l.pval011 d11,
268 decode(l.pval012,cn,vn,vn,vh,l.pval012) p12,
269 l.pval012 d12,
270 decode(l.pval013,cn,vn,vn,vh,l.pval013) p13,
271 l.pval013 d13,
272 decode(l.pval014,cn,vn,vn,vh,l.pval014) p14,
273 l.pval014 d14,
274 decode(l.pval015,cn,vn,vn,vh,l.pval015) p15,
275 l.pval015 d15,
276 decode(l.pval016,cn,vn,vn,vh,l.pval016) p16,
277 l.pval016 d16,
278 decode(l.pval017,cn,vn,vn,vh,l.pval017) p17,
279 l.pval017 d17,
280 decode(l.pval018,cn,vn,vn,vh,l.pval018) p18,
281 l.pval018 d18,
282 decode(l.pval019,cn,vn,vn,vh,l.pval019) p19,
283 l.pval019 d19,
284 decode(l.pval020,cn,vn,vn,vh,l.pval020) p20,
285 l.pval020 d20,
286 decode(l.pval021,cn,vn,vn,vh,l.pval021) p21,
287 l.pval021 d21,
288 decode(l.pval022,cn,vn,vn,vh,l.pval022) p22,
289 l.pval022 d22,
290 decode(l.pval023,cn,vn,vn,vh,l.pval023) p23,
291 l.pval023 d23,
292 decode(l.pval024,cn,vn,vn,vh,l.pval024) p24,
293 l.pval024 d24,
294 decode(l.pval025,cn,vn,vn,vh,l.pval025) p25,
295 l.pval025 d25,
296 decode(l.pval026,cn,vn,vn,vh,l.pval026) p26,
297 l.pval026 d26,
298 decode(l.pval027,cn,vn,vn,vh,l.pval027) p27,
299 l.pval027 d27,
300 decode(l.pval028,cn,vn,vn,vh,l.pval028) p28,
301 l.pval028 d28,
302 decode(l.pval029,cn,vn,vn,vh,l.pval029) p29,
303 l.pval029 d29,
304 decode(l.pval030,cn,vn,vn,vh,l.pval030) p30,
305 l.pval030 d30,
306 decode(l.pval031,cn,vn,vn,vh,l.pval031) p31,
307 l.pval031 d31,
308 decode(l.pval032,cn,vn,vn,vh,l.pval032) p32,
309 l.pval032 d32,
310 decode(l.pval033,cn,vn,vn,vh,l.pval033) p33,
311 l.pval033 d33,
312 decode(l.pval034,cn,vn,vn,vh,l.pval034) p34,
313 l.pval034 d34,
314 decode(l.pval035,cn,vn,vn,vh,l.pval035) p35,
315 l.pval035 d35,
316 decode(l.pval036,cn,vn,vn,vh,l.pval036) p36,
317 l.pval036 d36,
318 decode(l.pval037,cn,vn,vn,vh,l.pval037) p37,
319 l.pval037 d37,
320 decode(l.pval038,cn,vn,vn,vh,l.pval038) p38,
321 l.pval038 d38,
322 decode(l.pval039,cn,vn,vn,vh,l.pval039) p39,
323 l.pval039 d39,
324 decode(l.pval040,cn,vn,vn,vh,l.pval040) p40,
325 l.pval040 d40,
326 decode(l.pval041,cn,vn,vn,vh,l.pval041) p41,
327 l.pval041 d41,
328 decode(l.pval042,cn,vn,vn,vh,l.pval042) p42,
329 l.pval042 d42,
330 decode(l.pval043,cn,vn,l.pval043) p43,
331 decode(l.pval044,cn,vn,vn,vh,l.pval044) p44,
332 l.pval044 d44
333 from hr_pump_batch_lines l
334 where l.batch_line_id = p_batch_line_id;
335 --
336 c cr%rowtype;
337 l_validate boolean := false;
338 L_COMMENTS varchar2(32767);
339 L_ADDRESS_ID number;
340 L_OBJECT_VERSION_NUMBER number;
341 L_COUNTRY varchar2(2000);
342 --
343 begin
344 hr_data_pump.entry('call');
345 open cr;
346 fetch cr into c;
347 if cr%notfound then
348 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
349 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
350 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
351 hr_utility.set_message_token('VALUE',p_batch_line_id);
352 hr_utility.raise_error;
353 end if;
354 --
355 L_COMMENTS := c.plongval;
356 if L_COMMENTS = cn then
357 L_COMMENTS := null;
358 end if;
359 --
360 if c.p43 is null then
361 L_ADDRESS_ID:=nn;
362 else
363 L_ADDRESS_ID := 
364 hr_pump_get.get_address_id
365 (P_ADDRESS_USER_KEY => c.p43);
366 end if;
367 --
368 if c.p43 is null or
369 c.p1 is null then
370 L_OBJECT_VERSION_NUMBER:=nn;
371 else
372 L_OBJECT_VERSION_NUMBER := 
373 hr_pump_get.GET_ADR_OVN
374 (P_ADDRESS_USER_KEY => c.p43
375 ,P_EFFECTIVE_DATE => c.p1);
376 end if;
377 --
378 if c.d44=cn then
379 L_COUNTRY:=vn;
380 elsif c.d44 is null then 
381 L_COUNTRY:=vh;
382 else
383 L_COUNTRY := 
384 hr_pump_get.GET_COUNTRY
385 (P_COUNTRY => c.p44);
386 end if;
387 --
388 hr_data_pump.api_trc_on;
389 HR_PERSON_ADDRESS_API.UPDATE_GB_PERSON_ADDRESS
390 (p_validate => l_validate
391 ,P_EFFECTIVE_DATE => c.p1
392 ,P_ADDRESS_ID => L_ADDRESS_ID
393 ,P_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER
394 ,P_DATE_FROM => c.p2
395 ,P_DATE_TO => c.p3
396 ,P_ADDRESS_TYPE => c.p4
397 ,P_COMMENTS => L_COMMENTS
398 ,P_ADDRESS_LINE1 => c.p6
399 ,P_ADDRESS_LINE2 => c.p7
400 ,P_ADDRESS_LINE3 => c.p8
401 ,P_TOWN => c.p9
402 ,P_COUNTY => c.p10
403 ,P_POSTCODE => c.p11
404 ,P_COUNTRY => L_COUNTRY
405 ,P_TELEPHONE_NUMBER => c.p12
406 ,P_TELEPHONE_NUMBER_2 => c.p13
407 ,P_ADDR_ATTRIBUTE_CATEGORY => c.p14
408 ,P_ADDR_ATTRIBUTE1 => c.p15
409 ,P_ADDR_ATTRIBUTE2 => c.p16
410 ,P_ADDR_ATTRIBUTE3 => c.p17
411 ,P_ADDR_ATTRIBUTE4 => c.p18
412 ,P_ADDR_ATTRIBUTE5 => c.p19
413 ,P_ADDR_ATTRIBUTE6 => c.p20
414 ,P_ADDR_ATTRIBUTE7 => c.p21
415 ,P_ADDR_ATTRIBUTE8 => c.p22
416 ,P_ADDR_ATTRIBUTE9 => c.p23
417 ,P_ADDR_ATTRIBUTE10 => c.p24
418 ,P_ADDR_ATTRIBUTE11 => c.p25
419 ,P_ADDR_ATTRIBUTE12 => c.p26
420 ,P_ADDR_ATTRIBUTE13 => c.p27
421 ,P_ADDR_ATTRIBUTE14 => c.p28
422 ,P_ADDR_ATTRIBUTE15 => c.p29
423 ,P_ADDR_ATTRIBUTE16 => c.p30
424 ,P_ADDR_ATTRIBUTE17 => c.p31
425 ,P_ADDR_ATTRIBUTE18 => c.p32
426 ,P_ADDR_ATTRIBUTE19 => c.p33
427 ,P_ADDR_ATTRIBUTE20 => c.p34
428 ,P_ADD_INFORMATION13 => c.p35
429 ,P_ADD_INFORMATION14 => c.p36
430 ,P_ADD_INFORMATION15 => c.p37
431 ,P_ADD_INFORMATION16 => c.p38
432 ,P_ADD_INFORMATION17 => c.p39
433 ,P_ADD_INFORMATION18 => c.p40
434 ,P_ADD_INFORMATION19 => c.p41
435 ,P_ADD_INFORMATION20 => c.p42);
436 hr_data_pump.api_trc_off;
437 
438 --
439 
440 --
441 close cr;
442 --
443 hr_data_pump.exit('call');
444 exception
445  when hr_multi_message.error_message_exist then
446    if cr%isopen then
447     close cr;
448    end if;
449    hr_pump_utils.set_multi_msg_error_flag(true);
450  when others then
451  if cr%isopen then
452   close cr;
453  end if;
454  raise;
455 end call;
456 end hrdpp_UPDATE_GB_PERSON_ADDRESS;