DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_IN_PERSON_EXTRA_I

Source


1 package body hrdpp_update_in_person_extra_i as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2012/11/27 04:11:07
4  * Generated for API: hr_in_person_extra_info_api.update_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_HEIGHT in varchar2 default null
108 ,P_WEIGHT in varchar2 default null) is
109 blid number := p_data_pump_batch_line_id;
110 begin
111 if blid is not null then
112 delete from hr_pump_batch_lines where batch_line_id = blid;
113 delete from hr_pump_batch_exceptions
114 where source_type = 'BATCH_LINE' and source_id = blid;
115 end if;
116 insert into hr_pump_batch_lines
117 (batch_id
118 ,batch_line_id
119 ,business_group_name
120 ,api_module_id
121 ,line_status
122 ,user_sequence
123 ,link_value
124 ,pval001
125 ,pval002
126 ,pval003
127 ,pval004
128 ,pval005
129 ,pval006
130 ,pval007
131 ,pval008
132 ,pval009
133 ,pval010
134 ,pval011
135 ,pval012
136 ,pval013
137 ,pval014
138 ,pval015
139 ,pval016
140 ,pval017
141 ,pval018
142 ,pval019
143 ,pval020
144 ,pval021
145 ,pval022
146 ,pval023
147 ,pval024
148 ,pval025
149 ,pval026
150 ,pval027)
151 values
152 (p_batch_id
153 ,nvl(blid,hr_pump_batch_lines_s.nextval)
154 ,p_data_pump_business_grp_name
155 ,3210
156 ,'U'
157 ,p_user_sequence
158 ,p_link_value
159 ,P_PEI_ATTRIBUTE_CATEGORY
160 ,P_PEI_ATTRIBUTE1
161 ,P_PEI_ATTRIBUTE2
162 ,P_PEI_ATTRIBUTE3
163 ,P_PEI_ATTRIBUTE4
164 ,P_PEI_ATTRIBUTE5
165 ,P_PEI_ATTRIBUTE6
166 ,P_PEI_ATTRIBUTE7
167 ,P_PEI_ATTRIBUTE8
168 ,P_PEI_ATTRIBUTE9
169 ,P_PEI_ATTRIBUTE10
170 ,P_PEI_ATTRIBUTE11
171 ,P_PEI_ATTRIBUTE12
172 ,P_PEI_ATTRIBUTE13
173 ,P_PEI_ATTRIBUTE14
174 ,P_PEI_ATTRIBUTE15
175 ,P_PEI_ATTRIBUTE16
176 ,P_PEI_ATTRIBUTE17
177 ,P_PEI_ATTRIBUTE18
178 ,P_PEI_ATTRIBUTE19
179 ,P_PEI_ATTRIBUTE20
180 ,P_RELIGION
181 ,P_COMMUNITY
182 ,P_CASTE_OR_TRIBE
183 ,P_PERSON_EXTRA_INFO_USER_KEY
184 ,P_HEIGHT
185 ,P_WEIGHT);
186 end insert_batch_lines;
187 --
188 procedure call
189 (p_business_group_id in number,
190 p_batch_line_id     in number) is
191 cursor cr is
192 select l.rowid myrowid,
193 decode(l.pval001,cn,vn,vn,vh,l.pval001) p1,
194 l.pval001 d1,
195 decode(l.pval002,cn,vn,vn,vh,l.pval002) p2,
196 l.pval002 d2,
197 decode(l.pval003,cn,vn,vn,vh,l.pval003) p3,
198 l.pval003 d3,
199 decode(l.pval004,cn,vn,vn,vh,l.pval004) p4,
200 l.pval004 d4,
201 decode(l.pval005,cn,vn,vn,vh,l.pval005) p5,
202 l.pval005 d5,
203 decode(l.pval006,cn,vn,vn,vh,l.pval006) p6,
204 l.pval006 d6,
205 decode(l.pval007,cn,vn,vn,vh,l.pval007) p7,
206 l.pval007 d7,
207 decode(l.pval008,cn,vn,vn,vh,l.pval008) p8,
208 l.pval008 d8,
209 decode(l.pval009,cn,vn,vn,vh,l.pval009) p9,
210 l.pval009 d9,
211 decode(l.pval010,cn,vn,vn,vh,l.pval010) p10,
212 l.pval010 d10,
213 decode(l.pval011,cn,vn,vn,vh,l.pval011) p11,
214 l.pval011 d11,
215 decode(l.pval012,cn,vn,vn,vh,l.pval012) p12,
216 l.pval012 d12,
217 decode(l.pval013,cn,vn,vn,vh,l.pval013) p13,
218 l.pval013 d13,
219 decode(l.pval014,cn,vn,vn,vh,l.pval014) p14,
220 l.pval014 d14,
221 decode(l.pval015,cn,vn,vn,vh,l.pval015) p15,
222 l.pval015 d15,
223 decode(l.pval016,cn,vn,vn,vh,l.pval016) p16,
224 l.pval016 d16,
225 decode(l.pval017,cn,vn,vn,vh,l.pval017) p17,
226 l.pval017 d17,
227 decode(l.pval018,cn,vn,vn,vh,l.pval018) p18,
228 l.pval018 d18,
229 decode(l.pval019,cn,vn,vn,vh,l.pval019) p19,
230 l.pval019 d19,
231 decode(l.pval020,cn,vn,vn,vh,l.pval020) p20,
232 l.pval020 d20,
233 decode(l.pval021,cn,vn,vn,vh,l.pval021) p21,
234 l.pval021 d21,
235 decode(l.pval022,cn,vn,vn,vh,
236  hr_pump_get.gl(l.pval022,'IN_RELEGION',dn,vn)) p22,
237 l.pval022 d22,
238 decode(l.pval023,cn,vn,vn,vh,
239  hr_pump_get.gl(l.pval023,'IN_COMMUNITY',dn,vn)) p23,
240 l.pval023 d23,
241 decode(l.pval024,cn,vn,vn,vh,l.pval024) p24,
242 l.pval024 d24,
243 decode(l.pval025,cn,vn,l.pval025) p25,
244 decode(l.pval026,cn,vn,vn,vh,l.pval026) p26,
245 l.pval026 d26,
246 decode(l.pval027,cn,vn,vn,vh,l.pval027) p27,
247 l.pval027 d27
248 from hr_pump_batch_lines l
249 where l.batch_line_id = p_batch_line_id;
250 --
251 c cr%rowtype;
252 l_validate boolean := false;
253 L_PERSON_EXTRA_INFO_ID number;
254 L_OBJECT_VERSION_NUMBER number;
255 L_HEIGHT varchar2(2000);
256 L_WEIGHT varchar2(2000);
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.p25 is null then
271 L_PERSON_EXTRA_INFO_ID:=nn;
272 else
273 L_PERSON_EXTRA_INFO_ID := 
274 PER_IN_DATA_PUMP.get_person_extra_info_id
275 (P_PERSON_EXTRA_INFO_USER_KEY => c.p25);
276 end if;
277 --
278 if c.p25 is null then
279 L_OBJECT_VERSION_NUMBER:=nn;
280 else
281 L_OBJECT_VERSION_NUMBER := 
282 PER_IN_DATA_PUMP.GET_PERSON_EXTRA_INFO_OVN
283 (P_PERSON_EXTRA_INFO_USER_KEY => c.p25);
284 end if;
285 --
286 if c.d26=cn then
287 L_HEIGHT:=vn;
288 elsif c.d26 is null then 
289 L_HEIGHT:=vh;
290 else
291 L_HEIGHT := 
292 PER_IN_DATA_PUMP.GET_HEIGHT
293 (P_HEIGHT => c.p26);
294 end if;
295 --
296 if c.d27=cn then
297 L_WEIGHT:=vn;
298 elsif c.d27 is null then 
299 L_WEIGHT:=vh;
300 else
301 L_WEIGHT := 
302 PER_IN_DATA_PUMP.GET_WEIGHT
303 (P_WEIGHT => c.p27);
304 end if;
305 --
306 hr_data_pump.api_trc_on;
307 hr_in_person_extra_info_api.update_in_person_extra_info
308 (p_validate => l_validate
309 ,P_PERSON_EXTRA_INFO_ID => L_PERSON_EXTRA_INFO_ID
310 ,P_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER
311 ,P_PEI_ATTRIBUTE_CATEGORY => c.p1
312 ,P_PEI_ATTRIBUTE1 => c.p2
313 ,P_PEI_ATTRIBUTE2 => c.p3
314 ,P_PEI_ATTRIBUTE3 => c.p4
315 ,P_PEI_ATTRIBUTE4 => c.p5
316 ,P_PEI_ATTRIBUTE5 => c.p6
317 ,P_PEI_ATTRIBUTE6 => c.p7
318 ,P_PEI_ATTRIBUTE7 => c.p8
319 ,P_PEI_ATTRIBUTE8 => c.p9
320 ,P_PEI_ATTRIBUTE9 => c.p10
321 ,P_PEI_ATTRIBUTE10 => c.p11
322 ,P_PEI_ATTRIBUTE11 => c.p12
323 ,P_PEI_ATTRIBUTE12 => c.p13
324 ,P_PEI_ATTRIBUTE13 => c.p14
325 ,P_PEI_ATTRIBUTE14 => c.p15
326 ,P_PEI_ATTRIBUTE15 => c.p16
327 ,P_PEI_ATTRIBUTE16 => c.p17
328 ,P_PEI_ATTRIBUTE17 => c.p18
329 ,P_PEI_ATTRIBUTE18 => c.p19
330 ,P_PEI_ATTRIBUTE19 => c.p20
331 ,P_PEI_ATTRIBUTE20 => c.p21
332 ,P_RELIGION => c.p22
333 ,P_COMMUNITY => c.p23
334 ,P_CASTE_OR_TRIBE => c.p24
335 ,P_HEIGHT => L_HEIGHT
336 ,P_WEIGHT => L_WEIGHT);
337 hr_data_pump.api_trc_off;
338 
339 --
340 
341 --
342 close cr;
343 --
344 hr_data_pump.exit('call');
345 exception
346  when hr_multi_message.error_message_exist then
347    if cr%isopen then
348     close cr;
349    end if;
350    hr_pump_utils.set_multi_msg_error_flag(true);
351  when others then
352  if cr%isopen then
353   close cr;
354  end if;
355  raise;
356 end call;
357 end hrdpp_update_in_person_extra_i;