DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_IN_PERSON_EXTRA_I

Source


1 package body hrdpp_create_in_person_extra_i as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2007/01/03 23:01:21
4  * Generated for API: hr_in_person_extra_info_api.create_in_person_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_PEI_ATTRIBUTE_CATEGORY in varchar2 default null
83 ,P_PEI_ATTRIBUTE1 in varchar2 default null
84 ,P_PEI_ATTRIBUTE2 in varchar2 default null
85 ,P_PEI_ATTRIBUTE3 in varchar2 default null
86 ,P_PEI_ATTRIBUTE4 in varchar2 default null
87 ,P_PEI_ATTRIBUTE5 in varchar2 default null
88 ,P_PEI_ATTRIBUTE6 in varchar2 default null
89 ,P_PEI_ATTRIBUTE7 in varchar2 default null
90 ,P_PEI_ATTRIBUTE8 in varchar2 default null
91 ,P_PEI_ATTRIBUTE9 in varchar2 default null
92 ,P_PEI_ATTRIBUTE10 in varchar2 default null
93 ,P_PEI_ATTRIBUTE11 in varchar2 default null
94 ,P_PEI_ATTRIBUTE12 in varchar2 default null
95 ,P_PEI_ATTRIBUTE13 in varchar2 default null
96 ,P_PEI_ATTRIBUTE14 in varchar2 default null
97 ,P_PEI_ATTRIBUTE15 in varchar2 default null
98 ,P_PEI_ATTRIBUTE16 in varchar2 default null
99 ,P_PEI_ATTRIBUTE17 in varchar2 default null
100 ,P_PEI_ATTRIBUTE18 in varchar2 default null
101 ,P_PEI_ATTRIBUTE19 in varchar2 default null
102 ,P_PEI_ATTRIBUTE20 in varchar2 default null
103 ,P_RELIGION in varchar2 default null
104 ,P_COMMUNITY in varchar2 default null
105 ,P_CASTE_OR_TRIBE in varchar2 default null
106 ,P_PERSON_EXTRA_INFO_USER_KEY in varchar2
107 ,P_PERSON_USER_KEY in varchar2
108 ,P_HEIGHT in varchar2 default null
109 ,P_WEIGHT in varchar2 default null) 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 ,pval027
151 ,pval028
152 ,pval029)
153 values
154 (p_batch_id
155 ,nvl(blid,hr_pump_batch_lines_s.nextval)
156 ,p_data_pump_business_grp_name
157 ,3209
158 ,'U'
159 ,p_user_sequence
160 ,p_link_value
161 ,P_PEI_ATTRIBUTE_CATEGORY
162 ,P_PEI_ATTRIBUTE1
163 ,P_PEI_ATTRIBUTE2
164 ,P_PEI_ATTRIBUTE3
165 ,P_PEI_ATTRIBUTE4
166 ,P_PEI_ATTRIBUTE5
167 ,P_PEI_ATTRIBUTE6
168 ,P_PEI_ATTRIBUTE7
169 ,P_PEI_ATTRIBUTE8
170 ,P_PEI_ATTRIBUTE9
171 ,P_PEI_ATTRIBUTE10
172 ,P_PEI_ATTRIBUTE11
173 ,P_PEI_ATTRIBUTE12
174 ,P_PEI_ATTRIBUTE13
175 ,P_PEI_ATTRIBUTE14
176 ,P_PEI_ATTRIBUTE15
177 ,P_PEI_ATTRIBUTE16
178 ,P_PEI_ATTRIBUTE17
179 ,P_PEI_ATTRIBUTE18
180 ,P_PEI_ATTRIBUTE19
181 ,P_PEI_ATTRIBUTE20
182 ,P_RELIGION
183 ,P_COMMUNITY
184 ,P_CASTE_OR_TRIBE
185 ,P_PERSON_EXTRA_INFO_USER_KEY
186 ,P_PERSON_USER_KEY
187 ,P_HEIGHT
188 ,P_WEIGHT);
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,vn,vn,vn,l.pval001) p1,
197 l.pval001 d1,
198 decode(l.pval002,cn,vn,vn,vn,l.pval002) p2,
199 l.pval002 d2,
200 decode(l.pval003,cn,vn,vn,vn,l.pval003) p3,
201 l.pval003 d3,
202 decode(l.pval004,cn,vn,vn,vn,l.pval004) p4,
203 l.pval004 d4,
204 decode(l.pval005,cn,vn,vn,vn,l.pval005) p5,
205 l.pval005 d5,
206 decode(l.pval006,cn,vn,vn,vn,l.pval006) p6,
207 l.pval006 d6,
208 decode(l.pval007,cn,vn,vn,vn,l.pval007) p7,
209 l.pval007 d7,
210 decode(l.pval008,cn,vn,vn,vn,l.pval008) p8,
211 l.pval008 d8,
212 decode(l.pval009,cn,vn,vn,vn,l.pval009) p9,
213 l.pval009 d9,
214 decode(l.pval010,cn,vn,vn,vn,l.pval010) p10,
215 l.pval010 d10,
216 decode(l.pval011,cn,vn,vn,vn,l.pval011) p11,
217 l.pval011 d11,
218 decode(l.pval012,cn,vn,vn,vn,l.pval012) p12,
219 l.pval012 d12,
220 decode(l.pval013,cn,vn,vn,vn,l.pval013) p13,
221 l.pval013 d13,
222 decode(l.pval014,cn,vn,vn,vn,l.pval014) p14,
223 l.pval014 d14,
224 decode(l.pval015,cn,vn,vn,vn,l.pval015) p15,
225 l.pval015 d15,
226 decode(l.pval016,cn,vn,vn,vn,l.pval016) p16,
227 l.pval016 d16,
228 decode(l.pval017,cn,vn,vn,vn,l.pval017) p17,
229 l.pval017 d17,
230 decode(l.pval018,cn,vn,vn,vn,l.pval018) p18,
231 l.pval018 d18,
232 decode(l.pval019,cn,vn,vn,vn,l.pval019) p19,
233 l.pval019 d19,
234 decode(l.pval020,cn,vn,vn,vn,l.pval020) p20,
235 l.pval020 d20,
236 decode(l.pval021,cn,vn,vn,vn,l.pval021) p21,
237 l.pval021 d21,
238 decode(l.pval022,cn,vn,vn,vn,
239  hr_pump_get.gl(l.pval022,'IN_RELEGION',dn,vn)) p22,
240 l.pval022 d22,
241 decode(l.pval023,cn,vn,vn,vn,
242  hr_pump_get.gl(l.pval023,'IN_COMMUNITY',dn,vn)) p23,
243 l.pval023 d23,
244 decode(l.pval024,cn,vn,vn,vn,l.pval024) p24,
245 l.pval024 d24,
246 l.pval025 p25,
247 l.pval026 p26,
248 decode(l.pval027,cn,vn,l.pval027) p27,
249 decode(l.pval028,cn,vn,vn,vn,l.pval028) p28,
250 l.pval028 d28,
251 decode(l.pval029,cn,vn,vn,vn,l.pval029) p29,
252 l.pval029 d29
253 from hr_pump_batch_lines l
254 where l.batch_line_id = p_batch_line_id;
255 --
256 c cr%rowtype;
257 l_validate boolean := false;
258 L_PERSON_EXTRA_INFO_ID number;
259 L_PERSON_ID number;
260 L_HEIGHT varchar2(2000);
261 L_WEIGHT varchar2(2000);
262 --
263 begin
264 hr_data_pump.entry('call');
265 open cr;
266 fetch cr into c;
267 if cr%notfound then
268 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
269 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
270 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
271 hr_utility.set_message_token('VALUE',p_batch_line_id);
272 hr_utility.raise_error;
273 end if;
274 --
275 if c.p27 is null then
276 L_PERSON_ID:=nn;
277 else
278 L_PERSON_ID := 
279 hr_pump_get.get_person_id
280 (P_PERSON_USER_KEY => c.p27);
281 end if;
282 --
283 if c.p28 is null then
284 L_HEIGHT:=vn;
285 else
286 L_HEIGHT := 
287 PER_IN_DATA_PUMP.GET_HEIGHT
288 (P_HEIGHT => c.p28);
289 end if;
290 --
291 if c.p29 is null then
292 L_WEIGHT:=vn;
293 else
294 L_WEIGHT := 
295 PER_IN_DATA_PUMP.GET_WEIGHT
296 (P_WEIGHT => c.p29);
297 end if;
298 --
299 hr_data_pump.api_trc_on;
300 hr_in_person_extra_info_api.create_in_person_extra_info
301 (p_validate => l_validate
302 ,P_PERSON_ID => L_PERSON_ID
303 ,P_PEI_ATTRIBUTE_CATEGORY => c.p1
304 ,P_PEI_ATTRIBUTE1 => c.p2
305 ,P_PEI_ATTRIBUTE2 => c.p3
306 ,P_PEI_ATTRIBUTE3 => c.p4
307 ,P_PEI_ATTRIBUTE4 => c.p5
308 ,P_PEI_ATTRIBUTE5 => c.p6
309 ,P_PEI_ATTRIBUTE6 => c.p7
310 ,P_PEI_ATTRIBUTE7 => c.p8
311 ,P_PEI_ATTRIBUTE8 => c.p9
312 ,P_PEI_ATTRIBUTE9 => c.p10
313 ,P_PEI_ATTRIBUTE10 => c.p11
314 ,P_PEI_ATTRIBUTE11 => c.p12
315 ,P_PEI_ATTRIBUTE12 => c.p13
316 ,P_PEI_ATTRIBUTE13 => c.p14
317 ,P_PEI_ATTRIBUTE14 => c.p15
318 ,P_PEI_ATTRIBUTE15 => c.p16
319 ,P_PEI_ATTRIBUTE16 => c.p17
320 ,P_PEI_ATTRIBUTE17 => c.p18
321 ,P_PEI_ATTRIBUTE18 => c.p19
322 ,P_PEI_ATTRIBUTE19 => c.p20
323 ,P_PEI_ATTRIBUTE20 => c.p21
324 ,P_RELIGION => c.p22
325 ,P_COMMUNITY => c.p23
326 ,P_CASTE_OR_TRIBE => c.p24
327 ,P_HEIGHT => L_HEIGHT
328 ,P_WEIGHT => L_WEIGHT
329 ,P_PERSON_EXTRA_INFO_ID => L_PERSON_EXTRA_INFO_ID
330 ,P_OBJECT_VERSION_NUMBER => c.p26);
331 hr_data_pump.api_trc_off;
332 --
333 iuk(p_batch_line_id,c.p25,L_PERSON_EXTRA_INFO_ID);
334 --
335 update hr_pump_batch_lines l set
336 l.pval025 = decode(c.p25,null,cn,c.p25),
337 l.pval026 = decode(c.p26,null,cn,c.p26)
338 where l.rowid = c.myrowid;
339 --
340 close cr;
341 --
342 hr_data_pump.exit('call');
343 exception
344  when hr_multi_message.error_message_exist then
345    if cr%isopen then
346     close cr;
347    end if;
348    hr_pump_utils.set_multi_msg_error_flag(true);
349  when others then
350  if cr%isopen then
351   close cr;
352  end if;
353  raise;
354 end call;
355 end hrdpp_create_in_person_extra_i;