DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_IN_CONTACT_RELATI

Source


1 package body hrdpp_update_in_contact_relati as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2007/01/03 23:01:53
4  * Generated for API: hr_in_contact_rel_api.update_in_contact_relationship
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_CONTACT_TYPE in varchar2 default null
84 ,P_COMMENTS in long default null
85 ,P_PRIMARY_CONTACT_FLAG in varchar2 default null
86 ,P_THIRD_PARTY_PAY_FLAG in varchar2 default null
87 ,P_BONDHOLDER_FLAG in varchar2 default null
88 ,P_DATE_START in date default null
89 ,I_DATE_START in varchar2 default 'N'
90 ,P_DATE_END in date default null
91 ,I_DATE_END in varchar2 default 'N'
92 ,P_RLTD_PER_RSDS_W_DSGNTR_FLAG in varchar2 default null
93 ,P_PERSONAL_FLAG in varchar2 default null
94 ,P_SEQUENCE_NUMBER in number default null
95 ,I_SEQUENCE_NUMBER in varchar2 default 'N'
96 ,P_DEPENDENT_FLAG in varchar2 default null
97 ,P_BENEFICIARY_FLAG in varchar2 default null
98 ,P_CONT_ATTRIBUTE_CATEGORY in varchar2 default null
99 ,P_CONT_ATTRIBUTE1 in varchar2 default null
100 ,P_CONT_ATTRIBUTE2 in varchar2 default null
101 ,P_CONT_ATTRIBUTE3 in varchar2 default null
102 ,P_CONT_ATTRIBUTE4 in varchar2 default null
103 ,P_CONT_ATTRIBUTE5 in varchar2 default null
104 ,P_CONT_ATTRIBUTE6 in varchar2 default null
105 ,P_CONT_ATTRIBUTE7 in varchar2 default null
106 ,P_CONT_ATTRIBUTE8 in varchar2 default null
107 ,P_CONT_ATTRIBUTE9 in varchar2 default null
108 ,P_CONT_ATTRIBUTE10 in varchar2 default null
109 ,P_CONT_ATTRIBUTE11 in varchar2 default null
110 ,P_CONT_ATTRIBUTE12 in varchar2 default null
111 ,P_CONT_ATTRIBUTE13 in varchar2 default null
112 ,P_CONT_ATTRIBUTE14 in varchar2 default null
113 ,P_CONT_ATTRIBUTE15 in varchar2 default null
114 ,P_CONT_ATTRIBUTE16 in varchar2 default null
115 ,P_CONT_ATTRIBUTE17 in varchar2 default null
116 ,P_CONT_ATTRIBUTE18 in varchar2 default null
117 ,P_CONT_ATTRIBUTE19 in varchar2 default null
118 ,P_CONT_ATTRIBUTE20 in varchar2 default null
119 ,P_GUARDIAN_NAME in varchar2 default null
120 ,P_GUARDIAN_ADDRESS in varchar2 default null
121 ,P_GUARDIAN_TELEPHONE in varchar2 default null
122 ,P_CONTACT_USER_KEY in varchar2
123 ,P_CONTACTEE_USER_KEY in varchar2
124 ,P_START_LIFE_REASON in varchar2 default null
125 ,P_END_LIFE_REASON in varchar2 default null
126 ,P_GUARDIAN_BIRTH_DATE in varchar2 default null
127 ,P_CONTACT_REL_USER_KEY in varchar2) is
128 blid number := p_data_pump_batch_line_id;
129 begin
130 if blid is not null then
131 delete from hr_pump_batch_lines where batch_line_id = blid;
132 delete from hr_pump_batch_exceptions
133 where source_type = 'BATCH_LINE' and source_id = blid;
134 end if;
135 insert into hr_pump_batch_lines
136 (batch_id
137 ,batch_line_id
138 ,business_group_name
139 ,api_module_id
140 ,line_status
141 ,user_sequence
142 ,link_value
143 ,pval001
144 ,pval002
145 ,plongval
146 ,pval004
147 ,pval005
148 ,pval006
149 ,pval007
150 ,pval008
151 ,pval009
152 ,pval010
153 ,pval011
154 ,pval012
155 ,pval013
156 ,pval014
157 ,pval015
158 ,pval016
159 ,pval017
160 ,pval018
161 ,pval019
162 ,pval020
163 ,pval021
164 ,pval022
165 ,pval023
166 ,pval024
167 ,pval025
168 ,pval026
169 ,pval027
170 ,pval028
171 ,pval029
172 ,pval030
173 ,pval031
174 ,pval032
175 ,pval033
176 ,pval034
177 ,pval035
178 ,pval036
179 ,pval037
180 ,pval038
181 ,pval039
182 ,pval040
183 ,pval041
184 ,pval042
185 ,pval043)
186 values
187 (p_batch_id
188 ,nvl(blid,hr_pump_batch_lines_s.nextval)
189 ,p_data_pump_business_grp_name
190 ,3220
191 ,'U'
192 ,p_user_sequence
193 ,p_link_value
194 ,dc(P_EFFECTIVE_DATE)
195 ,P_CONTACT_TYPE
196 ,P_COMMENTS
197 ,P_PRIMARY_CONTACT_FLAG
198 ,P_THIRD_PARTY_PAY_FLAG
199 ,P_BONDHOLDER_FLAG
200 ,dd(P_DATE_START,I_DATE_START)
201 ,dd(P_DATE_END,I_DATE_END)
202 ,P_RLTD_PER_RSDS_W_DSGNTR_FLAG
203 ,P_PERSONAL_FLAG
204 ,nd(P_SEQUENCE_NUMBER,I_SEQUENCE_NUMBER)
205 ,P_DEPENDENT_FLAG
206 ,P_BENEFICIARY_FLAG
207 ,P_CONT_ATTRIBUTE_CATEGORY
208 ,P_CONT_ATTRIBUTE1
209 ,P_CONT_ATTRIBUTE2
210 ,P_CONT_ATTRIBUTE3
211 ,P_CONT_ATTRIBUTE4
212 ,P_CONT_ATTRIBUTE5
213 ,P_CONT_ATTRIBUTE6
214 ,P_CONT_ATTRIBUTE7
215 ,P_CONT_ATTRIBUTE8
216 ,P_CONT_ATTRIBUTE9
217 ,P_CONT_ATTRIBUTE10
218 ,P_CONT_ATTRIBUTE11
219 ,P_CONT_ATTRIBUTE12
220 ,P_CONT_ATTRIBUTE13
221 ,P_CONT_ATTRIBUTE14
222 ,P_CONT_ATTRIBUTE15
223 ,P_CONT_ATTRIBUTE16
224 ,P_CONT_ATTRIBUTE17
225 ,P_CONT_ATTRIBUTE18
226 ,P_CONT_ATTRIBUTE19
227 ,P_CONT_ATTRIBUTE20
228 ,P_GUARDIAN_NAME
229 ,P_GUARDIAN_ADDRESS
230 ,P_GUARDIAN_TELEPHONE
231 ,P_CONTACT_USER_KEY
232 ,P_CONTACTEE_USER_KEY
233 ,P_START_LIFE_REASON
234 ,P_END_LIFE_REASON
235 ,P_GUARDIAN_BIRTH_DATE
236 ,P_CONTACT_REL_USER_KEY);
237 end insert_batch_lines;
238 --
239 procedure call
240 (p_business_group_id in number,
241 p_batch_line_id     in number) is
242 cursor cr is
243 select l.rowid myrowid,
244 decode(l.pval001,cn,dn,d(l.pval001)) p1,
245 decode(l.pval002,cn,vn,vn,vh,
246  hr_pump_get.gl(l.pval002,'CONTACT',d(l.pval001),vn)) p2,
247 l.pval002 d2,
248 l.plongval plongval,
249 decode(l.pval004,cn,vn,vn,'N',
250  hr_pump_get.gl(l.pval004,'YES_NO',d(l.pval001),vn)) p4,
251 l.pval004 d4,
252 decode(l.pval005,cn,vn,vn,'N',
253  hr_pump_get.gl(l.pval005,'YES_NO',d(l.pval001),vn)) p5,
254 l.pval005 d5,
255 decode(l.pval006,cn,vn,vn,'N',
256  hr_pump_get.gl(l.pval006,'YES_NO',d(l.pval001),vn)) p6,
257 l.pval006 d6,
258 decode(l.pval007,cn,dn,vn,dh,d(l.pval007)) p7,
259 l.pval007 d7,
260 decode(l.pval008,cn,dn,vn,dh,d(l.pval008)) p8,
261 l.pval008 d8,
262 decode(l.pval009,cn,vn,vn,'N',
263  hr_pump_get.gl(l.pval009,'YES_NO',d(l.pval001),vn)) p9,
264 l.pval009 d9,
265 decode(l.pval010,cn,vn,vn,'N',
266  hr_pump_get.gl(l.pval010,'YES_NO',d(l.pval001),vn)) p10,
267 l.pval010 d10,
268 decode(l.pval011,cn,nn,vn,nh,n(l.pval011)) p11,
269 l.pval011 d11,
270 decode(l.pval012,cn,vn,vn,'N',
271  hr_pump_get.gl(l.pval012,'YES_NO',d(l.pval001),vn)) p12,
272 l.pval012 d12,
273 decode(l.pval013,cn,vn,vn,'N',
274  hr_pump_get.gl(l.pval013,'YES_NO',d(l.pval001),vn)) p13,
275 l.pval013 d13,
276 decode(l.pval014,cn,vn,vn,vh,l.pval014) p14,
277 l.pval014 d14,
278 decode(l.pval015,cn,vn,vn,vh,l.pval015) p15,
279 l.pval015 d15,
280 decode(l.pval016,cn,vn,vn,vh,l.pval016) p16,
281 l.pval016 d16,
282 decode(l.pval017,cn,vn,vn,vh,l.pval017) p17,
283 l.pval017 d17,
284 decode(l.pval018,cn,vn,vn,vh,l.pval018) p18,
285 l.pval018 d18,
286 decode(l.pval019,cn,vn,vn,vh,l.pval019) p19,
287 l.pval019 d19,
288 decode(l.pval020,cn,vn,vn,vh,l.pval020) p20,
289 l.pval020 d20,
290 decode(l.pval021,cn,vn,vn,vh,l.pval021) p21,
291 l.pval021 d21,
292 decode(l.pval022,cn,vn,vn,vh,l.pval022) p22,
293 l.pval022 d22,
294 decode(l.pval023,cn,vn,vn,vh,l.pval023) p23,
295 l.pval023 d23,
296 decode(l.pval024,cn,vn,vn,vh,l.pval024) p24,
297 l.pval024 d24,
298 decode(l.pval025,cn,vn,vn,vh,l.pval025) p25,
299 l.pval025 d25,
300 decode(l.pval026,cn,vn,vn,vh,l.pval026) p26,
301 l.pval026 d26,
302 decode(l.pval027,cn,vn,vn,vh,l.pval027) p27,
303 l.pval027 d27,
304 decode(l.pval028,cn,vn,vn,vh,l.pval028) p28,
305 l.pval028 d28,
306 decode(l.pval029,cn,vn,vn,vh,l.pval029) p29,
307 l.pval029 d29,
308 decode(l.pval030,cn,vn,vn,vh,l.pval030) p30,
309 l.pval030 d30,
310 decode(l.pval031,cn,vn,vn,vh,l.pval031) p31,
311 l.pval031 d31,
312 decode(l.pval032,cn,vn,vn,vh,l.pval032) p32,
313 l.pval032 d32,
314 decode(l.pval033,cn,vn,vn,vh,l.pval033) p33,
315 l.pval033 d33,
316 decode(l.pval034,cn,vn,vn,vh,l.pval034) p34,
317 l.pval034 d34,
318 decode(l.pval035,cn,vn,vn,vh,l.pval035) p35,
319 l.pval035 d35,
320 decode(l.pval036,cn,vn,vn,vh,l.pval036) p36,
321 l.pval036 d36,
322 decode(l.pval037,cn,vn,vn,vh,l.pval037) p37,
323 l.pval037 d37,
324 decode(l.pval038,cn,vn,l.pval038) p38,
325 decode(l.pval039,cn,vn,l.pval039) p39,
326 decode(l.pval040,cn,vn,vn,vh,l.pval040) p40,
327 l.pval040 d40,
328 decode(l.pval041,cn,vn,vn,vh,l.pval041) p41,
329 l.pval041 d41,
330 decode(l.pval042,cn,vn,vn,vh,l.pval042) p42,
331 l.pval042 d42,
332 decode(l.pval043,cn,vn,l.pval043) p43
333 from hr_pump_batch_lines l
334 where l.batch_line_id = p_batch_line_id;
335 --
336 c cr%rowtype;
337 l_validate boolean := false;
338 L_COMMENTS varchar2(32767);
339 L_CONTACT_RELATIONSHIP_ID number;
340 L_START_LIFE_REASON_ID number;
341 L_END_LIFE_REASON_ID number;
342 L_GUARDIAN_BIRTH_DATE varchar2(2000);
343 L_OBJECT_VERSION_NUMBER number;
344 --
345 begin
346 hr_data_pump.entry('call');
347 open cr;
348 fetch cr into c;
349 if cr%notfound then
350 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
351 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
352 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
353 hr_utility.set_message_token('VALUE',p_batch_line_id);
354 hr_utility.raise_error;
355 end if;
356 --
357 L_COMMENTS := c.plongval;
358 if L_COMMENTS = cn then
359 L_COMMENTS := null;
360 end if;
361 --
362 if c.p38 is null or
363 c.p39 is null then
364 L_CONTACT_RELATIONSHIP_ID:=nn;
365 else
366 L_CONTACT_RELATIONSHIP_ID := 
367 hr_pump_get.get_contact_relationship_id
368 (P_CONTACT_USER_KEY => c.p38
369 ,P_CONTACTEE_USER_KEY => c.p39);
370 end if;
371 --
372 if c.p1 is null or
373 c.d40=cn then
374 L_START_LIFE_REASON_ID:=nn;
375 elsif c.d40 is null then 
376 L_START_LIFE_REASON_ID:=nh;
377 else
378 L_START_LIFE_REASON_ID := 
379 hr_pump_get.get_start_life_reason_id
380 (P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
381 ,P_EFFECTIVE_DATE => c.p1
382 ,P_START_LIFE_REASON => c.p40);
383 end if;
384 --
385 if c.p1 is null or
389 L_END_LIFE_REASON_ID:=nh;
386 c.d41=cn then
387 L_END_LIFE_REASON_ID:=nn;
388 elsif c.d41 is null then 
390 else
391 L_END_LIFE_REASON_ID := 
392 hr_pump_get.get_end_life_reason_id
393 (P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
394 ,P_EFFECTIVE_DATE => c.p1
395 ,P_END_LIFE_REASON => c.p41);
396 end if;
397 --
398 if c.d42=cn then
399 L_GUARDIAN_BIRTH_DATE:=vn;
400 elsif c.d42 is null then 
401 L_GUARDIAN_BIRTH_DATE:=vh;
402 else
403 L_GUARDIAN_BIRTH_DATE := 
404 PER_IN_DATA_PUMP.GET_BIRTH_DATE
405 (P_GUARDIAN_BIRTH_DATE => c.p42);
406 end if;
407 --
408 if c.p43 is null then
409 L_OBJECT_VERSION_NUMBER:=nn;
410 else
411 L_OBJECT_VERSION_NUMBER := 
412 PER_IN_DATA_PUMP.GET_CONTACT_RELATIONSHIP_OVN
413 (P_CONTACT_REL_USER_KEY => c.p43);
414 end if;
415 --
416 hr_data_pump.api_trc_on;
417 hr_in_contact_rel_api.update_in_contact_relationship
418 (p_validate => l_validate
419 ,P_EFFECTIVE_DATE => c.p1
420 ,P_CONTACT_RELATIONSHIP_ID => L_CONTACT_RELATIONSHIP_ID
421 ,P_CONTACT_TYPE => c.p2
422 ,P_COMMENTS => L_COMMENTS
423 ,P_PRIMARY_CONTACT_FLAG => c.p4
424 ,P_THIRD_PARTY_PAY_FLAG => c.p5
425 ,P_BONDHOLDER_FLAG => c.p6
426 ,P_DATE_START => c.p7
427 ,P_START_LIFE_REASON_ID => L_START_LIFE_REASON_ID
428 ,P_DATE_END => c.p8
429 ,P_END_LIFE_REASON_ID => L_END_LIFE_REASON_ID
430 ,P_RLTD_PER_RSDS_W_DSGNTR_FLAG => c.p9
431 ,P_PERSONAL_FLAG => c.p10
432 ,P_SEQUENCE_NUMBER => c.p11
433 ,P_DEPENDENT_FLAG => c.p12
434 ,P_BENEFICIARY_FLAG => c.p13
435 ,P_CONT_ATTRIBUTE_CATEGORY => c.p14
436 ,P_CONT_ATTRIBUTE1 => c.p15
437 ,P_CONT_ATTRIBUTE2 => c.p16
438 ,P_CONT_ATTRIBUTE3 => c.p17
439 ,P_CONT_ATTRIBUTE4 => c.p18
440 ,P_CONT_ATTRIBUTE5 => c.p19
441 ,P_CONT_ATTRIBUTE6 => c.p20
442 ,P_CONT_ATTRIBUTE7 => c.p21
443 ,P_CONT_ATTRIBUTE8 => c.p22
444 ,P_CONT_ATTRIBUTE9 => c.p23
445 ,P_CONT_ATTRIBUTE10 => c.p24
446 ,P_CONT_ATTRIBUTE11 => c.p25
447 ,P_CONT_ATTRIBUTE12 => c.p26
448 ,P_CONT_ATTRIBUTE13 => c.p27
449 ,P_CONT_ATTRIBUTE14 => c.p28
450 ,P_CONT_ATTRIBUTE15 => c.p29
451 ,P_CONT_ATTRIBUTE16 => c.p30
452 ,P_CONT_ATTRIBUTE17 => c.p31
453 ,P_CONT_ATTRIBUTE18 => c.p32
454 ,P_CONT_ATTRIBUTE19 => c.p33
455 ,P_CONT_ATTRIBUTE20 => c.p34
456 ,P_GUARDIAN_NAME => c.p35
457 ,P_GUARDIAN_BIRTH_DATE => L_GUARDIAN_BIRTH_DATE
458 ,P_GUARDIAN_ADDRESS => c.p36
459 ,P_GUARDIAN_TELEPHONE => c.p37
460 ,P_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER);
461 hr_data_pump.api_trc_off;
462 
463 --
464 
465 --
466 close cr;
467 --
468 hr_data_pump.exit('call');
469 exception
470  when hr_multi_message.error_message_exist then
471    if cr%isopen then
472     close cr;
473    end if;
474    hr_pump_utils.set_multi_msg_error_flag(true);
475  when others then
476  if cr%isopen then
477   close cr;
478  end if;
479  raise;
480 end call;
481 end hrdpp_update_in_contact_relati;