DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_US_PERSON_ADDRESS

Source


1 package body hrdpp_UPDATE_US_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_US_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_ADDRESS_TYPE in varchar2 default null
89 ,P_COMMENTS in clob default null
90 ,P_ADDRESS_LINE1 in varchar2 default null
91 ,P_ADDRESS_LINE2 in varchar2 default null
95 ,P_ZIP_CODE in varchar2 default null
92 ,P_ADDRESS_LINE3 in varchar2 default null
93 ,P_CITY in varchar2 default null
94 ,P_STATE in varchar2 default null
96 ,P_COUNTY in varchar2 default null
97 ,P_TELEPHONE_NUMBER_1 in varchar2 default null
98 ,P_TELEPHONE_NUMBER_2 in varchar2 default null
99 ,P_ADDR_ATTRIBUTE_CATEGORY in varchar2 default null
100 ,P_ADDR_ATTRIBUTE1 in varchar2 default null
101 ,P_ADDR_ATTRIBUTE2 in varchar2 default null
102 ,P_ADDR_ATTRIBUTE3 in varchar2 default null
103 ,P_ADDR_ATTRIBUTE4 in varchar2 default null
104 ,P_ADDR_ATTRIBUTE5 in varchar2 default null
105 ,P_ADDR_ATTRIBUTE6 in varchar2 default null
106 ,P_ADDR_ATTRIBUTE7 in varchar2 default null
107 ,P_ADDR_ATTRIBUTE8 in varchar2 default null
108 ,P_ADDR_ATTRIBUTE9 in varchar2 default null
109 ,P_ADDR_ATTRIBUTE10 in varchar2 default null
110 ,P_ADDR_ATTRIBUTE11 in varchar2 default null
111 ,P_ADDR_ATTRIBUTE12 in varchar2 default null
112 ,P_ADDR_ATTRIBUTE13 in varchar2 default null
113 ,P_ADDR_ATTRIBUTE14 in varchar2 default null
114 ,P_ADDR_ATTRIBUTE15 in varchar2 default null
115 ,P_ADDR_ATTRIBUTE16 in varchar2 default null
116 ,P_ADDR_ATTRIBUTE17 in varchar2 default null
117 ,P_ADDR_ATTRIBUTE18 in varchar2 default null
118 ,P_ADDR_ATTRIBUTE19 in varchar2 default null
119 ,P_ADDR_ATTRIBUTE20 in varchar2 default null
120 ,P_ADD_INFORMATION13 in varchar2 default null
121 ,P_ADD_INFORMATION14 in varchar2 default null
122 ,P_ADD_INFORMATION15 in varchar2 default null
123 ,P_ADD_INFORMATION16 in varchar2 default null
124 ,P_ADD_INFORMATION17 in varchar2 default null
125 ,P_ADD_INFORMATION18 in varchar2 default null
126 ,P_ADD_INFORMATION19 in varchar2 default null
127 ,P_ADD_INFORMATION20 in varchar2 default null
128 ,P_ADDRESS_USER_KEY in varchar2
129 ,P_COUNTRY in varchar2 default null) is
130 blid number := p_data_pump_batch_line_id;
131  L_VALIDATE_COUNTY varchar2(5);
132 begin
133 if P_VALIDATE_COUNTY is null then
134  L_VALIDATE_COUNTY := null;
135 elsif P_VALIDATE_COUNTY then
136  L_VALIDATE_COUNTY := 'TRUE';
137 else 
138  L_VALIDATE_COUNTY := '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 ,pval007
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 values
200 (p_batch_id
201 ,nvl(blid,hr_pump_batch_lines_s.nextval)
202 ,p_data_pump_business_grp_name
203 ,1380
204 ,'U'
205 ,p_user_sequence
206 ,p_link_value
207 ,dc(P_EFFECTIVE_DATE)
208 ,L_VALIDATE_COUNTY
209 ,dd(P_DATE_FROM,I_DATE_FROM)
210 ,dd(P_DATE_TO,I_DATE_TO)
211 ,P_ADDRESS_TYPE
212 ,P_COMMENTS
213 ,P_ADDRESS_LINE1
214 ,P_ADDRESS_LINE2
215 ,P_ADDRESS_LINE3
216 ,P_CITY
217 ,P_STATE
218 ,P_ZIP_CODE
219 ,P_COUNTY
220 ,P_TELEPHONE_NUMBER_1
221 ,P_TELEPHONE_NUMBER_2
222 ,P_ADDR_ATTRIBUTE_CATEGORY
223 ,P_ADDR_ATTRIBUTE1
224 ,P_ADDR_ATTRIBUTE2
225 ,P_ADDR_ATTRIBUTE3
226 ,P_ADDR_ATTRIBUTE4
227 ,P_ADDR_ATTRIBUTE5
228 ,P_ADDR_ATTRIBUTE6
229 ,P_ADDR_ATTRIBUTE7
230 ,P_ADDR_ATTRIBUTE8
231 ,P_ADDR_ATTRIBUTE9
232 ,P_ADDR_ATTRIBUTE10
233 ,P_ADDR_ATTRIBUTE11
234 ,P_ADDR_ATTRIBUTE12
235 ,P_ADDR_ATTRIBUTE13
236 ,P_ADDR_ATTRIBUTE14
237 ,P_ADDR_ATTRIBUTE15
238 ,P_ADDR_ATTRIBUTE16
239 ,P_ADDR_ATTRIBUTE17
240 ,P_ADDR_ATTRIBUTE18
241 ,P_ADDR_ATTRIBUTE19
242 ,P_ADDR_ATTRIBUTE20
243 ,P_ADD_INFORMATION13
244 ,P_ADD_INFORMATION14
245 ,P_ADD_INFORMATION15
246 ,P_ADD_INFORMATION16
247 ,P_ADD_INFORMATION17
248 ,P_ADD_INFORMATION18
249 ,P_ADD_INFORMATION19
250 ,P_ADD_INFORMATION20
251 ,P_ADDRESS_USER_KEY
252 ,P_COUNTRY);
253 end insert_batch_lines;
254 --
255 procedure call
256 (p_business_group_id in number,
257 p_batch_line_id     in number) is
258 cursor cr is
259 select l.rowid myrowid,
260 decode(l.pval001,cn,dn,d(l.pval001)) p1,
261 decode(l.pval002,cn,vn,vn,null,l.pval002) p2,
262 l.pval002 d2,
263 decode(l.pval003,cn,dn,vn,dh,d(l.pval003)) p3,
264 l.pval003 d3,
265 decode(l.pval004,cn,dn,vn,dh,d(l.pval004)) p4,
266 l.pval004 d4,
267 decode(l.pval005,cn,vn,vn,vh,
268  hr_pump_get.gl(l.pval005,'ADDRESS_TYPE',d(l.pval001),vn)) p5,
269 l.pval005 d5,
270 decode(l.pval006,cn,vn,vn,null,l.pval006) p6,
271 l.pval006 d6,
272 decode(l.pval007,cn,vn,vn,vh,l.pval007) p7,
273 l.pval007 d7,
274 decode(l.pval008,cn,vn,vn,vh,l.pval008) p8,
275 l.pval008 d8,
276 decode(l.pval009,cn,vn,vn,vh,l.pval009) p9,
277 l.pval009 d9,
278 decode(l.pval010,cn,vn,vn,vh,l.pval010) p10,
279 l.pval010 d10,
283 decode(l.pval012,cn,vn,vn,vh,l.pval012) p12,
280 decode(l.pval011,cn,vn,vn,vh,
281  hr_pump_get.gl(l.pval011,'US_STATE',d(l.pval001),vn)) p11,
282 l.pval011 d11,
284 l.pval012 d12,
285 decode(l.pval013,cn,vn,vn,vh,l.pval013) p13,
286 l.pval013 d13,
287 decode(l.pval014,cn,vn,vn,vh,l.pval014) p14,
288 l.pval014 d14,
289 decode(l.pval015,cn,vn,vn,vh,l.pval015) p15,
290 l.pval015 d15,
291 decode(l.pval016,cn,vn,vn,vh,l.pval016) p16,
292 l.pval016 d16,
293 decode(l.pval017,cn,vn,vn,vh,l.pval017) p17,
294 l.pval017 d17,
295 decode(l.pval018,cn,vn,vn,vh,l.pval018) p18,
296 l.pval018 d18,
297 decode(l.pval019,cn,vn,vn,vh,l.pval019) p19,
298 l.pval019 d19,
299 decode(l.pval020,cn,vn,vn,vh,l.pval020) p20,
300 l.pval020 d20,
301 decode(l.pval021,cn,vn,vn,vh,l.pval021) p21,
302 l.pval021 d21,
303 decode(l.pval022,cn,vn,vn,vh,l.pval022) p22,
304 l.pval022 d22,
305 decode(l.pval023,cn,vn,vn,vh,l.pval023) p23,
306 l.pval023 d23,
307 decode(l.pval024,cn,vn,vn,vh,l.pval024) p24,
308 l.pval024 d24,
309 decode(l.pval025,cn,vn,vn,vh,l.pval025) p25,
310 l.pval025 d25,
311 decode(l.pval026,cn,vn,vn,vh,l.pval026) p26,
312 l.pval026 d26,
313 decode(l.pval027,cn,vn,vn,vh,l.pval027) p27,
314 l.pval027 d27,
315 decode(l.pval028,cn,vn,vn,vh,l.pval028) p28,
316 l.pval028 d28,
317 decode(l.pval029,cn,vn,vn,vh,l.pval029) p29,
318 l.pval029 d29,
319 decode(l.pval030,cn,vn,vn,vh,l.pval030) p30,
320 l.pval030 d30,
321 decode(l.pval031,cn,vn,vn,vh,l.pval031) p31,
322 l.pval031 d31,
323 decode(l.pval032,cn,vn,vn,vh,l.pval032) p32,
324 l.pval032 d32,
325 decode(l.pval033,cn,vn,vn,vh,l.pval033) p33,
326 l.pval033 d33,
327 decode(l.pval034,cn,vn,vn,vh,l.pval034) p34,
328 l.pval034 d34,
329 decode(l.pval035,cn,vn,vn,vh,l.pval035) p35,
330 l.pval035 d35,
331 decode(l.pval036,cn,vn,vn,vh,l.pval036) p36,
332 l.pval036 d36,
333 decode(l.pval037,cn,vn,vn,vh,l.pval037) p37,
334 l.pval037 d37,
335 decode(l.pval038,cn,vn,vn,vh,l.pval038) p38,
336 l.pval038 d38,
337 decode(l.pval039,cn,vn,vn,vh,l.pval039) p39,
338 l.pval039 d39,
339 decode(l.pval040,cn,vn,vn,vh,l.pval040) p40,
340 l.pval040 d40,
341 decode(l.pval041,cn,vn,vn,vh,l.pval041) p41,
342 l.pval041 d41,
343 decode(l.pval042,cn,vn,vn,vh,l.pval042) p42,
344 l.pval042 d42,
345 decode(l.pval043,cn,vn,vn,vh,l.pval043) p43,
346 l.pval043 d43,
347 decode(l.pval044,cn,vn,vn,vh,l.pval044) p44,
348 l.pval044 d44,
349 decode(l.pval045,cn,vn,l.pval045) p45,
350 decode(l.pval046,cn,vn,vn,vh,l.pval046) p46,
351 l.pval046 d46
352 from hr_pump_batch_lines l
353 where l.batch_line_id = p_batch_line_id;
354 --
355 c cr%rowtype;
356 l_validate boolean := false;
357 L_VALIDATE_COUNTY boolean;
358 L_ADDRESS_ID number;
359 L_OBJECT_VERSION_NUMBER number;
360 L_COUNTRY varchar2(2000);
361 --
362 begin
363 hr_data_pump.entry('call');
364 open cr;
365 fetch cr into c;
366 if cr%notfound then
367 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
368 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
369 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
370 hr_utility.set_message_token('VALUE',p_batch_line_id);
371 hr_utility.raise_error;
372 end if;
373 --
374 if upper(c.p2) = 'TRUE' then
375 L_VALIDATE_COUNTY := true;
376 elsif upper(c.p2) = 'FALSE' then
377 L_VALIDATE_COUNTY := false;
378 elsif c.p2 is not null then
379 hr_utility.set_message(800,'HR_50327_DP_TYPE_ERR');
380 hr_utility.set_message_token('TYPE','BOOLEAN');
381 hr_utility.set_message_token('PARAMETER','P_VALIDATE_COUNTY');
382 hr_utility.set_message_token('VALUE',c.p2);
383 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
384 hr_utility.raise_error;
385 end if;
386 --
387 if c.p45 is null then
388 L_ADDRESS_ID:=nn;
389 else
390 L_ADDRESS_ID := 
391 hr_pump_get.get_address_id
392 (P_ADDRESS_USER_KEY => c.p45);
393 end if;
394 --
395 if c.p45 is null or
396 c.p1 is null then
397 L_OBJECT_VERSION_NUMBER:=nn;
398 else
399 L_OBJECT_VERSION_NUMBER := 
400 hr_pump_get.GET_ADR_OVN
401 (P_ADDRESS_USER_KEY => c.p45
402 ,P_EFFECTIVE_DATE => c.p1);
403 end if;
404 --
405 if c.d46=cn then
406 L_COUNTRY:=vn;
407 elsif c.d46 is null then 
408 L_COUNTRY:=vh;
409 else
410 L_COUNTRY := 
411 hr_pump_get.GET_COUNTRY
412 (P_COUNTRY => c.p46);
413 end if;
414 --
415 hr_data_pump.api_trc_on;
416 HR_PERSON_ADDRESS_API.UPDATE_US_PERSON_ADDRESS
417 (p_validate => l_validate
418 ,P_EFFECTIVE_DATE => c.p1
419 ,P_VALIDATE_COUNTY => L_VALIDATE_COUNTY
420 ,P_ADDRESS_ID => L_ADDRESS_ID
421 ,P_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER
422 ,P_DATE_FROM => c.p3
423 ,P_DATE_TO => c.p4
424 ,P_ADDRESS_TYPE => c.p5
425 ,P_COMMENTS => c.p6
426 ,P_ADDRESS_LINE1 => c.p7
427 ,P_ADDRESS_LINE2 => c.p8
428 ,P_ADDRESS_LINE3 => c.p9
429 ,P_CITY => c.p10
430 ,P_STATE => c.p11
431 ,P_ZIP_CODE => c.p12
432 ,P_COUNTY => c.p13
433 ,P_COUNTRY => L_COUNTRY
434 ,P_TELEPHONE_NUMBER_1 => c.p14
435 ,P_TELEPHONE_NUMBER_2 => c.p15
436 ,P_ADDR_ATTRIBUTE_CATEGORY => c.p16
437 ,P_ADDR_ATTRIBUTE1 => c.p17
438 ,P_ADDR_ATTRIBUTE2 => c.p18
439 ,P_ADDR_ATTRIBUTE3 => c.p19
440 ,P_ADDR_ATTRIBUTE4 => c.p20
441 ,P_ADDR_ATTRIBUTE5 => c.p21
442 ,P_ADDR_ATTRIBUTE6 => c.p22
443 ,P_ADDR_ATTRIBUTE7 => c.p23
444 ,P_ADDR_ATTRIBUTE8 => c.p24
445 ,P_ADDR_ATTRIBUTE9 => c.p25
446 ,P_ADDR_ATTRIBUTE10 => c.p26
447 ,P_ADDR_ATTRIBUTE11 => c.p27
448 ,P_ADDR_ATTRIBUTE12 => c.p28
449 ,P_ADDR_ATTRIBUTE13 => c.p29
450 ,P_ADDR_ATTRIBUTE14 => c.p30
451 ,P_ADDR_ATTRIBUTE15 => c.p31
452 ,P_ADDR_ATTRIBUTE16 => c.p32
453 ,P_ADDR_ATTRIBUTE17 => c.p33
454 ,P_ADDR_ATTRIBUTE18 => c.p34
455 ,P_ADDR_ATTRIBUTE19 => c.p35
456 ,P_ADDR_ATTRIBUTE20 => c.p36
457 ,P_ADD_INFORMATION13 => c.p37
458 ,P_ADD_INFORMATION14 => c.p38
459 ,P_ADD_INFORMATION15 => c.p39
460 ,P_ADD_INFORMATION16 => c.p40
461 ,P_ADD_INFORMATION17 => c.p41
462 ,P_ADD_INFORMATION18 => c.p42
463 ,P_ADD_INFORMATION19 => c.p43
464 ,P_ADD_INFORMATION20 => c.p44);
465 hr_data_pump.api_trc_off;
466 
467 --
468 
469 --
470 close cr;
471 --
472 hr_data_pump.exit('call');
473 exception
474  when hr_multi_message.error_message_exist then
475    if cr%isopen then
476     close cr;
477    end if;
478    hr_pump_utils.set_multi_msg_error_flag(true);
479  when others then
480  if cr%isopen then
481   close cr;
482  end if;
483  raise;
484 end call;
485 end hrdpp_UPDATE_US_PERSON_ADDRESS;