DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_IN_PERSON_ADDRESS

Source


1 package body hrdpp_create_in_person_address as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2012/11/27 04:11:04
4  * Generated for API: hr_in_person_address_api.create_in_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_FLAT_DOOR_BLOCK in varchar2
90 ,P_BUILDING_VILLAGE in varchar2 default null
91 ,P_ROAD_STREET in varchar2 default null
92 ,P_AREA_LOCALITY in varchar2 default null
93 ,P_TOWN_OR_CITY in varchar2
94 ,P_STATE_UT in varchar2 default null
95 ,P_PIN_CODE in varchar2 default null
96 ,P_ADDR_ATTRIBUTE_CATEGORY in varchar2 default null
97 ,P_ADDR_ATTRIBUTE1 in varchar2 default null
98 ,P_ADDR_ATTRIBUTE2 in varchar2 default null
99 ,P_ADDR_ATTRIBUTE3 in varchar2 default null
100 ,P_ADDR_ATTRIBUTE4 in varchar2 default null
101 ,P_ADDR_ATTRIBUTE5 in varchar2 default null
102 ,P_ADDR_ATTRIBUTE6 in varchar2 default null
103 ,P_ADDR_ATTRIBUTE7 in varchar2 default null
104 ,P_ADDR_ATTRIBUTE8 in varchar2 default null
105 ,P_ADDR_ATTRIBUTE9 in varchar2 default null
109 ,P_ADDR_ATTRIBUTE13 in varchar2 default null
106 ,P_ADDR_ATTRIBUTE10 in varchar2 default null
107 ,P_ADDR_ATTRIBUTE11 in varchar2 default null
108 ,P_ADDR_ATTRIBUTE12 in varchar2 default null
110 ,P_ADDR_ATTRIBUTE14 in varchar2 default null
111 ,P_ADDR_ATTRIBUTE15 in varchar2 default null
112 ,P_ADDR_ATTRIBUTE16 in varchar2 default null
113 ,P_ADDR_ATTRIBUTE17 in varchar2 default null
114 ,P_ADDR_ATTRIBUTE18 in varchar2 default null
115 ,P_ADDR_ATTRIBUTE19 in varchar2 default null
116 ,P_ADDR_ATTRIBUTE20 in varchar2 default null
117 ,P_ADDRESS_USER_KEY in varchar2
118 ,P_PERSON_USER_KEY in varchar2 default null
119 ,P_COUNTRY in varchar2 default null) is
120 blid number := p_data_pump_batch_line_id;
121  L_PRADD_OVLAPVAL_OVERRIDE varchar2(5);
122 begin
123 if P_PRADD_OVLAPVAL_OVERRIDE is null then
124  L_PRADD_OVLAPVAL_OVERRIDE := null;
125 elsif P_PRADD_OVLAPVAL_OVERRIDE then
126  L_PRADD_OVLAPVAL_OVERRIDE := 'TRUE';
127 else 
128  L_PRADD_OVLAPVAL_OVERRIDE := 'FALSE';
129 end if;
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 ,pval003
146 ,pval004
147 ,pval005
148 ,pval006
149 ,plongval
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 ,pval038
180 ,pval039)
181 values
182 (p_batch_id
183 ,nvl(blid,hr_pump_batch_lines_s.nextval)
184 ,p_data_pump_business_grp_name
185 ,3217
186 ,'U'
187 ,p_user_sequence
188 ,p_link_value
189 ,dc(P_EFFECTIVE_DATE)
190 ,L_PRADD_OVLAPVAL_OVERRIDE
191 ,P_PRIMARY_FLAG
192 ,dc(P_DATE_FROM)
193 ,dc(P_DATE_TO)
194 ,P_ADDRESS_TYPE
195 ,P_COMMENTS
196 ,P_FLAT_DOOR_BLOCK
197 ,P_BUILDING_VILLAGE
198 ,P_ROAD_STREET
199 ,P_AREA_LOCALITY
200 ,P_TOWN_OR_CITY
201 ,P_STATE_UT
202 ,P_PIN_CODE
203 ,P_ADDR_ATTRIBUTE_CATEGORY
204 ,P_ADDR_ATTRIBUTE1
205 ,P_ADDR_ATTRIBUTE2
206 ,P_ADDR_ATTRIBUTE3
207 ,P_ADDR_ATTRIBUTE4
208 ,P_ADDR_ATTRIBUTE5
209 ,P_ADDR_ATTRIBUTE6
210 ,P_ADDR_ATTRIBUTE7
211 ,P_ADDR_ATTRIBUTE8
212 ,P_ADDR_ATTRIBUTE9
213 ,P_ADDR_ATTRIBUTE10
214 ,P_ADDR_ATTRIBUTE11
215 ,P_ADDR_ATTRIBUTE12
216 ,P_ADDR_ATTRIBUTE13
217 ,P_ADDR_ATTRIBUTE14
218 ,P_ADDR_ATTRIBUTE15
219 ,P_ADDR_ATTRIBUTE16
220 ,P_ADDR_ATTRIBUTE17
221 ,P_ADDR_ATTRIBUTE18
222 ,P_ADDR_ATTRIBUTE19
223 ,P_ADDR_ATTRIBUTE20
224 ,P_ADDRESS_USER_KEY
225 ,P_PERSON_USER_KEY
226 ,P_COUNTRY);
227 end insert_batch_lines;
228 --
229 procedure call
230 (p_business_group_id in number,
231 p_batch_line_id     in number) is
232 cursor cr is
233 select l.rowid myrowid,
234 decode(l.pval001,cn,dn,d(l.pval001)) p1,
235 decode(l.pval002,cn,vn,vn,null,l.pval002) p2,
236 l.pval002 d2,
237 decode(l.pval003,cn,vn,
238  hr_pump_get.gl(l.pval003,'YES_NO',d(l.pval001),vn)) p3,
239 decode(l.pval004,cn,dn,d(l.pval004)) p4,
240 decode(l.pval005,cn,dn,vn,dn,d(l.pval005)) p5,
241 l.pval005 d5,
242 decode(l.pval006,cn,vn,vn,vn,
243  hr_pump_get.gl(l.pval006,'ADDRESS_TYPE',d(l.pval001),vn)) p6,
244 l.pval006 d6,
245 l.plongval plongval,
246 decode(l.pval008,cn,vn,l.pval008) p8,
247 decode(l.pval009,cn,vn,vn,vn,l.pval009) p9,
248 l.pval009 d9,
249 decode(l.pval010,cn,vn,vn,vn,l.pval010) p10,
250 l.pval010 d10,
251 decode(l.pval011,cn,vn,vn,vn,l.pval011) p11,
252 l.pval011 d11,
253 decode(l.pval012,cn,vn,l.pval012) p12,
254 decode(l.pval013,cn,vn,vn,vn,
255  hr_pump_get.gl(l.pval013,'IN_STATES',d(l.pval001),vn)) p13,
256 l.pval013 d13,
257 decode(l.pval014,cn,vn,vn,vn,l.pval014) p14,
258 l.pval014 d14,
259 decode(l.pval015,cn,vn,vn,vn,l.pval015) p15,
260 l.pval015 d15,
261 decode(l.pval016,cn,vn,vn,vn,l.pval016) p16,
262 l.pval016 d16,
263 decode(l.pval017,cn,vn,vn,vn,l.pval017) p17,
264 l.pval017 d17,
265 decode(l.pval018,cn,vn,vn,vn,l.pval018) p18,
266 l.pval018 d18,
267 decode(l.pval019,cn,vn,vn,vn,l.pval019) p19,
268 l.pval019 d19,
269 decode(l.pval020,cn,vn,vn,vn,l.pval020) p20,
270 l.pval020 d20,
271 decode(l.pval021,cn,vn,vn,vn,l.pval021) p21,
272 l.pval021 d21,
273 decode(l.pval022,cn,vn,vn,vn,l.pval022) p22,
274 l.pval022 d22,
275 decode(l.pval023,cn,vn,vn,vn,l.pval023) p23,
276 l.pval023 d23,
277 decode(l.pval024,cn,vn,vn,vn,l.pval024) p24,
278 l.pval024 d24,
279 decode(l.pval025,cn,vn,vn,vn,l.pval025) p25,
280 l.pval025 d25,
281 decode(l.pval026,cn,vn,vn,vn,l.pval026) p26,
282 l.pval026 d26,
283 decode(l.pval027,cn,vn,vn,vn,l.pval027) p27,
284 l.pval027 d27,
285 decode(l.pval028,cn,vn,vn,vn,l.pval028) p28,
286 l.pval028 d28,
287 decode(l.pval029,cn,vn,vn,vn,l.pval029) p29,
288 l.pval029 d29,
289 decode(l.pval030,cn,vn,vn,vn,l.pval030) p30,
290 l.pval030 d30,
291 decode(l.pval031,cn,vn,vn,vn,l.pval031) p31,
295 decode(l.pval033,cn,vn,vn,vn,l.pval033) p33,
292 l.pval031 d31,
293 decode(l.pval032,cn,vn,vn,vn,l.pval032) p32,
294 l.pval032 d32,
296 l.pval033 d33,
297 decode(l.pval034,cn,vn,vn,vn,l.pval034) p34,
298 l.pval034 d34,
299 decode(l.pval035,cn,vn,vn,vn,l.pval035) p35,
300 l.pval035 d35,
301 l.pval036 p36,
302 l.pval037 p37,
303 decode(l.pval038,cn,vn,vn,vn,l.pval038) p38,
304 l.pval038 d38,
305 decode(l.pval039,cn,vn,vn,vn,l.pval039) p39,
306 l.pval039 d39
307 from hr_pump_batch_lines l
308 where l.batch_line_id = p_batch_line_id;
309 --
310 c cr%rowtype;
311 l_validate boolean := false;
312 L_PRADD_OVLAPVAL_OVERRIDE boolean;
313 L_COMMENTS varchar2(32767);
314 L_ADDRESS_ID number;
315 L_PERSON_ID number;
316 L_COUNTRY varchar2(2000);
317 --
318 begin
319 hr_data_pump.entry('call');
320 open cr;
321 fetch cr into c;
322 if cr%notfound then
323 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
324 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
325 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
326 hr_utility.set_message_token('VALUE',p_batch_line_id);
327 hr_utility.raise_error;
328 end if;
329 --
330 if upper(c.p2) = 'TRUE' then
331 L_PRADD_OVLAPVAL_OVERRIDE := true;
332 elsif upper(c.p2) = 'FALSE' then
333 L_PRADD_OVLAPVAL_OVERRIDE := false;
334 elsif c.p2 is not null then
335 hr_utility.set_message(800,'HR_50327_DP_TYPE_ERR');
336 hr_utility.set_message_token('TYPE','BOOLEAN');
337 hr_utility.set_message_token('PARAMETER','P_PRADD_OVLAPVAL_OVERRIDE');
338 hr_utility.set_message_token('VALUE',c.p2);
339 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
340 hr_utility.raise_error;
341 end if;
342 --
343 L_COMMENTS := c.plongval;
344 if L_COMMENTS = cn then
345 L_COMMENTS := null;
346 end if;
347 --
348 if c.p38 is null then
349 L_PERSON_ID:=nn;
350 else
351 L_PERSON_ID := 
352 hr_pump_get.get_person_id
353 (P_PERSON_USER_KEY => c.p38);
354 end if;
355 --
356 if c.p39 is null then
357 L_COUNTRY:=vn;
358 else
359 L_COUNTRY := 
360 hr_pump_get.GET_COUNTRY
361 (P_COUNTRY => c.p39);
362 end if;
363 --
364 hr_data_pump.api_trc_on;
365 hr_in_person_address_api.create_in_person_address
366 (p_validate => l_validate
367 ,P_EFFECTIVE_DATE => c.p1
368 ,P_PRADD_OVLAPVAL_OVERRIDE => L_PRADD_OVLAPVAL_OVERRIDE
369 ,P_PERSON_ID => L_PERSON_ID
370 ,P_PRIMARY_FLAG => c.p3
371 ,P_DATE_FROM => c.p4
372 ,P_DATE_TO => c.p5
373 ,P_ADDRESS_TYPE => c.p6
374 ,P_COUNTRY => L_COUNTRY
375 ,P_COMMENTS => L_COMMENTS
376 ,P_FLAT_DOOR_BLOCK => c.p8
377 ,P_BUILDING_VILLAGE => c.p9
378 ,P_ROAD_STREET => c.p10
379 ,P_AREA_LOCALITY => c.p11
380 ,P_TOWN_OR_CITY => c.p12
381 ,P_STATE_UT => c.p13
382 ,P_PIN_CODE => c.p14
383 ,P_ADDR_ATTRIBUTE_CATEGORY => c.p15
384 ,P_ADDR_ATTRIBUTE1 => c.p16
385 ,P_ADDR_ATTRIBUTE2 => c.p17
386 ,P_ADDR_ATTRIBUTE3 => c.p18
387 ,P_ADDR_ATTRIBUTE4 => c.p19
388 ,P_ADDR_ATTRIBUTE5 => c.p20
389 ,P_ADDR_ATTRIBUTE6 => c.p21
390 ,P_ADDR_ATTRIBUTE7 => c.p22
391 ,P_ADDR_ATTRIBUTE8 => c.p23
392 ,P_ADDR_ATTRIBUTE9 => c.p24
393 ,P_ADDR_ATTRIBUTE10 => c.p25
394 ,P_ADDR_ATTRIBUTE11 => c.p26
395 ,P_ADDR_ATTRIBUTE12 => c.p27
396 ,P_ADDR_ATTRIBUTE13 => c.p28
397 ,P_ADDR_ATTRIBUTE14 => c.p29
398 ,P_ADDR_ATTRIBUTE15 => c.p30
399 ,P_ADDR_ATTRIBUTE16 => c.p31
400 ,P_ADDR_ATTRIBUTE17 => c.p32
401 ,P_ADDR_ATTRIBUTE18 => c.p33
402 ,P_ADDR_ATTRIBUTE19 => c.p34
403 ,P_ADDR_ATTRIBUTE20 => c.p35
404 ,P_ADDRESS_ID => L_ADDRESS_ID
405 ,P_OBJECT_VERSION_NUMBER => c.p37);
406 hr_data_pump.api_trc_off;
407 --
408 iuk(p_batch_line_id,c.p36,L_ADDRESS_ID);
409 --
410 update hr_pump_batch_lines l set
411 l.pval036 = decode(c.p36,null,cn,c.p36),
412 l.pval037 = decode(c.p37,null,cn,c.p37)
413 where l.rowid = c.myrowid;
414 --
415 close cr;
416 --
417 hr_data_pump.exit('call');
418 exception
419  when hr_multi_message.error_message_exist then
420    if cr%isopen then
421     close cr;
422    end if;
423    hr_pump_utils.set_multi_msg_error_flag(true);
424  when others then
425  if cr%isopen then
426   close cr;
427  end if;
428  raise;
429 end call;
430 end hrdpp_create_in_person_address;