DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_GB_PERSON_ADDRESS

Source


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