DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_IN_CONTACT_EXTRA_

Source


1 package body hrdpp_create_in_contact_extra_ as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2007/01/03 23:01:12
4  * Generated for API: hr_in_contact_extra_info_api.create_in_contact_extra_info
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_INFORMATION_TYPE in varchar2
84 ,P_NOMINATION_TYPE in varchar2
85 ,P_PERCENT_SHARE in varchar2
86 ,P_NOMINATION_CHANGE_REASON in varchar2 default null
87 ,P_CEI_ATTRIBUTE_CATEGORY in varchar2 default null
88 ,P_CEI_ATTRIBUTE1 in varchar2 default null
89 ,P_CEI_ATTRIBUTE2 in varchar2 default null
90 ,P_CEI_ATTRIBUTE3 in varchar2 default null
91 ,P_CEI_ATTRIBUTE4 in varchar2 default null
92 ,P_CEI_ATTRIBUTE5 in varchar2 default null
93 ,P_CEI_ATTRIBUTE6 in varchar2 default null
94 ,P_CEI_ATTRIBUTE7 in varchar2 default null
95 ,P_CEI_ATTRIBUTE8 in varchar2 default null
96 ,P_CEI_ATTRIBUTE9 in varchar2 default null
97 ,P_CEI_ATTRIBUTE10 in varchar2 default null
98 ,P_CEI_ATTRIBUTE11 in varchar2 default null
99 ,P_CEI_ATTRIBUTE12 in varchar2 default null
100 ,P_CEI_ATTRIBUTE13 in varchar2 default null
101 ,P_CEI_ATTRIBUTE14 in varchar2 default null
102 ,P_CEI_ATTRIBUTE15 in varchar2 default null
103 ,P_CEI_ATTRIBUTE16 in varchar2 default null
104 ,P_CEI_ATTRIBUTE17 in varchar2 default null
105 ,P_CEI_ATTRIBUTE18 in varchar2 default null
106 ,P_CEI_ATTRIBUTE19 in varchar2 default null
107 ,P_CEI_ATTRIBUTE20 in varchar2 default null
108 ,P_CONTACT_USER_KEY in varchar2
109 ,P_CONTACTEE_USER_KEY in varchar2) is
110 blid number := p_data_pump_batch_line_id;
111 begin
112 if blid is not null then
113 delete from hr_pump_batch_lines where batch_line_id = blid;
114 delete from hr_pump_batch_exceptions
115 where source_type = 'BATCH_LINE' and source_id = blid;
116 end if;
117 insert into hr_pump_batch_lines
118 (batch_id
119 ,batch_line_id
120 ,business_group_name
121 ,api_module_id
122 ,line_status
123 ,user_sequence
124 ,link_value
125 ,pval001
126 ,pval002
127 ,pval003
128 ,pval004
129 ,pval005
130 ,pval006
131 ,pval007
132 ,pval008
133 ,pval009
134 ,pval010
135 ,pval011
136 ,pval012
137 ,pval013
138 ,pval014
139 ,pval015
140 ,pval016
141 ,pval017
142 ,pval018
143 ,pval019
144 ,pval020
145 ,pval021
146 ,pval022
147 ,pval023
148 ,pval024
149 ,pval025
150 ,pval026
151 ,pval031
152 ,pval032)
153 values
154 (p_batch_id
155 ,nvl(blid,hr_pump_batch_lines_s.nextval)
156 ,p_data_pump_business_grp_name
157 ,3221
158 ,'U'
159 ,p_user_sequence
160 ,p_link_value
161 ,dc(P_EFFECTIVE_DATE)
162 ,P_INFORMATION_TYPE
163 ,P_NOMINATION_TYPE
164 ,P_PERCENT_SHARE
165 ,P_NOMINATION_CHANGE_REASON
166 ,P_CEI_ATTRIBUTE_CATEGORY
167 ,P_CEI_ATTRIBUTE1
168 ,P_CEI_ATTRIBUTE2
169 ,P_CEI_ATTRIBUTE3
170 ,P_CEI_ATTRIBUTE4
171 ,P_CEI_ATTRIBUTE5
172 ,P_CEI_ATTRIBUTE6
173 ,P_CEI_ATTRIBUTE7
174 ,P_CEI_ATTRIBUTE8
175 ,P_CEI_ATTRIBUTE9
176 ,P_CEI_ATTRIBUTE10
177 ,P_CEI_ATTRIBUTE11
178 ,P_CEI_ATTRIBUTE12
179 ,P_CEI_ATTRIBUTE13
180 ,P_CEI_ATTRIBUTE14
181 ,P_CEI_ATTRIBUTE15
182 ,P_CEI_ATTRIBUTE16
183 ,P_CEI_ATTRIBUTE17
184 ,P_CEI_ATTRIBUTE18
185 ,P_CEI_ATTRIBUTE19
186 ,P_CEI_ATTRIBUTE20
187 ,P_CONTACT_USER_KEY
188 ,P_CONTACTEE_USER_KEY);
189 end insert_batch_lines;
190 --
191 procedure call
192 (p_business_group_id in number,
193 p_batch_line_id     in number) is
194 cursor cr is
195 select l.rowid myrowid,
196 decode(l.pval001,cn,dn,d(l.pval001)) p1,
197 decode(l.pval002,cn,vn,l.pval002) p2,
198 decode(l.pval003,cn,vn,
199  hr_pump_get.gl(l.pval003,'IN_NOMINATION_TYPES',d(l.pval001),vn)) p3,
200 decode(l.pval004,cn,vn,l.pval004) p4,
201 decode(l.pval005,cn,vn,vn,vn,l.pval005) p5,
202 l.pval005 d5,
203 decode(l.pval006,cn,vn,vn,vn,l.pval006) p6,
204 l.pval006 d6,
205 decode(l.pval007,cn,vn,vn,vn,l.pval007) p7,
206 l.pval007 d7,
207 decode(l.pval008,cn,vn,vn,vn,l.pval008) p8,
208 l.pval008 d8,
209 decode(l.pval009,cn,vn,vn,vn,l.pval009) p9,
210 l.pval009 d9,
211 decode(l.pval010,cn,vn,vn,vn,l.pval010) p10,
212 l.pval010 d10,
213 decode(l.pval011,cn,vn,vn,vn,l.pval011) p11,
214 l.pval011 d11,
215 decode(l.pval012,cn,vn,vn,vn,l.pval012) p12,
216 l.pval012 d12,
217 decode(l.pval013,cn,vn,vn,vn,l.pval013) p13,
218 l.pval013 d13,
219 decode(l.pval014,cn,vn,vn,vn,l.pval014) p14,
220 l.pval014 d14,
221 decode(l.pval015,cn,vn,vn,vn,l.pval015) p15,
222 l.pval015 d15,
223 decode(l.pval016,cn,vn,vn,vn,l.pval016) p16,
224 l.pval016 d16,
225 decode(l.pval017,cn,vn,vn,vn,l.pval017) p17,
226 l.pval017 d17,
227 decode(l.pval018,cn,vn,vn,vn,l.pval018) p18,
228 l.pval018 d18,
229 decode(l.pval019,cn,vn,vn,vn,l.pval019) p19,
230 l.pval019 d19,
231 decode(l.pval020,cn,vn,vn,vn,l.pval020) p20,
232 l.pval020 d20,
233 decode(l.pval021,cn,vn,vn,vn,l.pval021) p21,
234 l.pval021 d21,
235 decode(l.pval022,cn,vn,vn,vn,l.pval022) p22,
236 l.pval022 d22,
237 decode(l.pval023,cn,vn,vn,vn,l.pval023) p23,
238 l.pval023 d23,
239 decode(l.pval024,cn,vn,vn,vn,l.pval024) p24,
240 l.pval024 d24,
241 decode(l.pval025,cn,vn,vn,vn,l.pval025) p25,
242 l.pval025 d25,
243 decode(l.pval026,cn,vn,vn,vn,l.pval026) p26,
244 l.pval026 d26,
245 l.pval027 p27,
246 l.pval028 p28,
247 decode(l.pval029,cn,dn,d(l.pval029)) p29,
248 decode(l.pval030,cn,dn,d(l.pval030)) p30,
249 decode(l.pval031,cn,vn,l.pval031) p31,
250 decode(l.pval032,cn,vn,l.pval032) p32
251 from hr_pump_batch_lines l
252 where l.batch_line_id = p_batch_line_id;
253 --
254 c cr%rowtype;
255 l_validate boolean := false;
256 L_CONTACT_RELATIONSHIP_ID number;
257 --
258 begin
259 hr_data_pump.entry('call');
260 open cr;
261 fetch cr into c;
262 if cr%notfound then
263 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
264 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
265 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
266 hr_utility.set_message_token('VALUE',p_batch_line_id);
267 hr_utility.raise_error;
268 end if;
269 --
270 if c.p31 is null or
271 c.p32 is null then
272 L_CONTACT_RELATIONSHIP_ID:=nn;
273 else
274 L_CONTACT_RELATIONSHIP_ID := 
275 hr_pump_get.get_contact_relationship_id
276 (P_CONTACT_USER_KEY => c.p31
277 ,P_CONTACTEE_USER_KEY => c.p32);
278 end if;
279 --
280 hr_data_pump.api_trc_on;
281 hr_in_contact_extra_info_api.create_in_contact_extra_info
282 (p_validate => l_validate
283 ,P_EFFECTIVE_DATE => c.p1
284 ,P_CONTACT_RELATIONSHIP_ID => L_CONTACT_RELATIONSHIP_ID
285 ,P_INFORMATION_TYPE => c.p2
286 ,P_NOMINATION_TYPE => c.p3
287 ,P_PERCENT_SHARE => c.p4
288 ,P_NOMINATION_CHANGE_REASON => c.p5
289 ,P_CEI_ATTRIBUTE_CATEGORY => c.p6
290 ,P_CEI_ATTRIBUTE1 => c.p7
291 ,P_CEI_ATTRIBUTE2 => c.p8
292 ,P_CEI_ATTRIBUTE3 => c.p9
293 ,P_CEI_ATTRIBUTE4 => c.p10
294 ,P_CEI_ATTRIBUTE5 => c.p11
295 ,P_CEI_ATTRIBUTE6 => c.p12
296 ,P_CEI_ATTRIBUTE7 => c.p13
297 ,P_CEI_ATTRIBUTE8 => c.p14
298 ,P_CEI_ATTRIBUTE9 => c.p15
299 ,P_CEI_ATTRIBUTE10 => c.p16
300 ,P_CEI_ATTRIBUTE11 => c.p17
301 ,P_CEI_ATTRIBUTE12 => c.p18
302 ,P_CEI_ATTRIBUTE13 => c.p19
303 ,P_CEI_ATTRIBUTE14 => c.p20
304 ,P_CEI_ATTRIBUTE15 => c.p21
305 ,P_CEI_ATTRIBUTE16 => c.p22
306 ,P_CEI_ATTRIBUTE17 => c.p23
307 ,P_CEI_ATTRIBUTE18 => c.p24
308 ,P_CEI_ATTRIBUTE19 => c.p25
309 ,P_CEI_ATTRIBUTE20 => c.p26
310 ,P_CONTACT_EXTRA_INFO_ID => c.p27
311 ,P_OBJECT_VERSION_NUMBER => c.p28
312 ,P_EFFECTIVE_START_DATE => c.p29
313 ,P_EFFECTIVE_END_DATE => c.p30);
314 hr_data_pump.api_trc_off;
315 
316 --
317 update hr_pump_batch_lines l set
318 l.pval027 = decode(c.p27,null,cn,c.p27),
319 l.pval028 = decode(c.p28,null,cn,c.p28),
320 l.pval029 = decode(c.p29,null,cn,dc(c.p29)),
321 l.pval030 = decode(c.p30,null,cn,dc(c.p30))
322 where l.rowid = c.myrowid;
323 --
324 close cr;
325 --
326 hr_data_pump.exit('call');
327 exception
328  when hr_multi_message.error_message_exist then
329    if cr%isopen then
330     close cr;
331    end if;
332    hr_pump_utils.set_multi_msg_error_flag(true);
333  when others then
334  if cr%isopen then
335   close cr;
336  end if;
337  raise;
338 end call;
339 end hrdpp_create_in_contact_extra_;