DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_PERSON_ADDRESS

Source


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