DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_PERSON_ADDRESS

Source


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