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: 2012/11/27 04:11:54
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 clob 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 ,pval007
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
218 ,dd(P_DATE_FROM,I_DATE_FROM)
215 ,p_link_value
216 ,dc(P_EFFECTIVE_DATE)
217 ,L_VALIDATE_COUNTY
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 decode(l.pval007,cn,vn,vn,null,l.pval007) p7,
286 l.pval007 d7,
287 decode(l.pval008,cn,vn,vn,vh,l.pval008) p8,
288 l.pval008 d8,
289 decode(l.pval009,cn,vn,vn,vh,l.pval009) p9,
290 l.pval009 d9,
291 decode(l.pval010,cn,vn,vn,vh,l.pval010) p10,
292 l.pval010 d10,
293 decode(l.pval011,cn,vn,vn,vh,l.pval011) p11,
294 l.pval011 d11,
295 decode(l.pval012,cn,vn,vn,vh,l.pval012) p12,
296 l.pval012 d12,
297 decode(l.pval013,cn,vn,vn,vh,l.pval013) p13,
298 l.pval013 d13,
299 decode(l.pval014,cn,vn,vn,vh,l.pval014) p14,
300 l.pval014 d14,
301 decode(l.pval015,cn,vn,vn,vh,l.pval015) p15,
302 l.pval015 d15,
303 decode(l.pval016,cn,vn,vn,vh,l.pval016) p16,
304 l.pval016 d16,
305 decode(l.pval017,cn,vn,vn,vh,l.pval017) p17,
306 l.pval017 d17,
307 decode(l.pval018,cn,vn,vn,vh,l.pval018) p18,
308 l.pval018 d18,
309 decode(l.pval019,cn,vn,vn,vh,l.pval019) p19,
310 l.pval019 d19,
311 decode(l.pval020,cn,vn,vn,vh,l.pval020) p20,
312 l.pval020 d20,
313 decode(l.pval021,cn,vn,vn,vh,l.pval021) p21,
314 l.pval021 d21,
315 decode(l.pval022,cn,vn,vn,vh,l.pval022) p22,
316 l.pval022 d22,
317 decode(l.pval023,cn,vn,vn,vh,l.pval023) p23,
318 l.pval023 d23,
319 decode(l.pval024,cn,vn,vn,vh,l.pval024) p24,
320 l.pval024 d24,
321 decode(l.pval025,cn,vn,vn,vh,l.pval025) p25,
322 l.pval025 d25,
323 decode(l.pval026,cn,vn,vn,vh,l.pval026) p26,
324 l.pval026 d26,
325 decode(l.pval027,cn,vn,vn,vh,l.pval027) p27,
326 l.pval027 d27,
327 decode(l.pval028,cn,vn,vn,vh,l.pval028) p28,
328 l.pval028 d28,
329 decode(l.pval029,cn,vn,vn,vh,l.pval029) p29,
330 l.pval029 d29,
331 decode(l.pval030,cn,vn,vn,vh,l.pval030) p30,
332 l.pval030 d30,
333 decode(l.pval031,cn,vn,vn,vh,l.pval031) p31,
334 l.pval031 d31,
335 decode(l.pval032,cn,vn,vn,vh,l.pval032) p32,
336 l.pval032 d32,
337 decode(l.pval033,cn,vn,vn,vh,l.pval033) p33,
338 l.pval033 d33,
339 decode(l.pval034,cn,vn,vn,vh,l.pval034) p34,
340 l.pval034 d34,
341 decode(l.pval035,cn,vn,vn,vh,l.pval035) p35,
342 l.pval035 d35,
343 decode(l.pval036,cn,vn,vn,vh,l.pval036) p36,
344 l.pval036 d36,
345 decode(l.pval037,cn,vn,vn,vh,l.pval037) p37,
346 l.pval037 d37,
347 decode(l.pval038,cn,vn,vn,vh,l.pval038) p38,
348 l.pval038 d38,
349 decode(l.pval039,cn,vn,vn,vh,l.pval039) p39,
350 l.pval039 d39,
351 decode(l.pval040,cn,vn,vn,vh,l.pval040) p40,
352 l.pval040 d40,
353 decode(l.pval041,cn,vn,vn,vh,l.pval041) p41,
354 l.pval041 d41,
355 decode(l.pval042,cn,vn,vn,vh,l.pval042) p42,
356 l.pval042 d42,
357 decode(l.pval043,cn,vn,vn,vh,l.pval043) p43,
358 l.pval043 d43,
359 decode(l.pval044,cn,vn,vn,vh,l.pval044) p44,
360 l.pval044 d44,
361 decode(l.pval045,cn,vn,vn,vh,l.pval045) p45,
362 l.pval045 d45,
363 decode(l.pval046,cn,vn,vn,vh,l.pval046) p46,
364 l.pval046 d46,
365 decode(l.pval047,cn,vn,vn,vh,l.pval047) p47,
366 l.pval047 d47,
367 decode(l.pval048,cn,nn,vn,nh,n(l.pval048)) p48,
368 l.pval048 d48,
369 decode(l.pval049,cn,vn,l.pval049) p49,
370 decode(l.pval050,cn,vn,vn,vh,l.pval050) p50,
371 l.pval050 d50
372 from hr_pump_batch_lines l
373 where l.batch_line_id = p_batch_line_id;
374 --
375 c cr%rowtype;
376 l_validate boolean := false;
377 L_VALIDATE_COUNTY boolean;
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 if c.p49 is null then
408 L_ADDRESS_ID:=nn;
409 else
410 L_ADDRESS_ID := 
411 hr_pump_get.get_address_id
412 (P_ADDRESS_USER_KEY => c.p49);
413 end if;
414 --
415 if c.p49 is null or
416 c.p1 is null then
417 L_OBJECT_VERSION_NUMBER:=nn;
418 else
419 L_OBJECT_VERSION_NUMBER := 
420 hr_pump_get.GET_ADR_OVN
421 (P_ADDRESS_USER_KEY => c.p49
422 ,P_EFFECTIVE_DATE => c.p1);
423 end if;
424 --
425 if c.d50=cn then
426 L_COUNTRY:=vn;
427 elsif c.d50 is null then 
428 L_COUNTRY:=vh;
429 else
430 L_COUNTRY := 
431 hr_pump_get.GET_COUNTRY
432 (P_COUNTRY => c.p50);
433 end if;
434 --
438 ,P_EFFECTIVE_DATE => c.p1
435 hr_data_pump.api_trc_on;
436 HR_PERSON_ADDRESS_API.UPDATE_PERSON_ADDRESS
437 (p_validate => l_validate
439 ,P_VALIDATE_COUNTY => L_VALIDATE_COUNTY
440 ,P_ADDRESS_ID => L_ADDRESS_ID
441 ,P_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER
442 ,P_DATE_FROM => c.p3
443 ,P_DATE_TO => c.p4
444 ,P_PRIMARY_FLAG => c.p5
445 ,P_ADDRESS_TYPE => c.p6
446 ,P_COMMENTS => c.p7
447 ,P_ADDRESS_LINE1 => c.p8
448 ,P_ADDRESS_LINE2 => c.p9
449 ,P_ADDRESS_LINE3 => c.p10
450 ,P_TOWN_OR_CITY => c.p11
451 ,P_REGION_1 => c.p12
452 ,P_REGION_2 => c.p13
453 ,P_REGION_3 => c.p14
454 ,P_POSTAL_CODE => c.p15
455 ,P_COUNTRY => L_COUNTRY
456 ,P_TELEPHONE_NUMBER_1 => c.p16
457 ,P_TELEPHONE_NUMBER_2 => c.p17
458 ,P_TELEPHONE_NUMBER_3 => c.p18
459 ,P_ADDR_ATTRIBUTE_CATEGORY => c.p19
460 ,P_ADDR_ATTRIBUTE1 => c.p20
461 ,P_ADDR_ATTRIBUTE2 => c.p21
462 ,P_ADDR_ATTRIBUTE3 => c.p22
463 ,P_ADDR_ATTRIBUTE4 => c.p23
464 ,P_ADDR_ATTRIBUTE5 => c.p24
465 ,P_ADDR_ATTRIBUTE6 => c.p25
466 ,P_ADDR_ATTRIBUTE7 => c.p26
467 ,P_ADDR_ATTRIBUTE8 => c.p27
468 ,P_ADDR_ATTRIBUTE9 => c.p28
469 ,P_ADDR_ATTRIBUTE10 => c.p29
470 ,P_ADDR_ATTRIBUTE11 => c.p30
471 ,P_ADDR_ATTRIBUTE12 => c.p31
472 ,P_ADDR_ATTRIBUTE13 => c.p32
473 ,P_ADDR_ATTRIBUTE14 => c.p33
474 ,P_ADDR_ATTRIBUTE15 => c.p34
475 ,P_ADDR_ATTRIBUTE16 => c.p35
476 ,P_ADDR_ATTRIBUTE17 => c.p36
477 ,P_ADDR_ATTRIBUTE18 => c.p37
478 ,P_ADDR_ATTRIBUTE19 => c.p38
479 ,P_ADDR_ATTRIBUTE20 => c.p39
480 ,P_ADD_INFORMATION13 => c.p40
481 ,P_ADD_INFORMATION14 => c.p41
482 ,P_ADD_INFORMATION15 => c.p42
483 ,P_ADD_INFORMATION16 => c.p43
484 ,P_ADD_INFORMATION17 => c.p44
485 ,P_ADD_INFORMATION18 => c.p45
486 ,P_ADD_INFORMATION19 => c.p46
487 ,P_ADD_INFORMATION20 => c.p47
488 ,P_PARTY_ID => c.p48);
489 hr_data_pump.api_trc_off;
490 
491 --
492 
493 --
494 close cr;
495 --
496 hr_data_pump.exit('call');
497 exception
498  when hr_multi_message.error_message_exist then
499    if cr%isopen then
500     close cr;
501    end if;
502    hr_pump_utils.set_multi_msg_error_flag(true);
503  when others then
504  if cr%isopen then
505   close cr;
506  end if;
507  raise;
508 end call;
509 end hrdpp_UPDATE_PERSON_ADDRESS;