DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_BALANCE_AMOUNT

Source


1 package body hrdpp_CREATE_BALANCE_AMOUNT as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2007/01/03 23:01:49
4  * Generated for API: PER_BF_BALANCE_AMOUNTS_API.CREATE_BALANCE_AMOUNT
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_YTD_AMOUNT in number default null
84 ,P_FYTD_AMOUNT in number default null
85 ,P_PTD_AMOUNT in number default null
86 ,P_MTD_AMOUNT in number default null
87 ,P_QTD_AMOUNT in number default null
88 ,P_RUN_AMOUNT in number default null
89 ,P_CURRENCY_CODE in varchar2 default null
90 ,P_BBA_ATTRIBUTE_CATEGORY in varchar2 default null
91 ,P_BBA_ATTRIBUTE1 in varchar2 default null
92 ,P_BBA_ATTRIBUTE2 in varchar2 default null
93 ,P_BBA_ATTRIBUTE3 in varchar2 default null
94 ,P_BBA_ATTRIBUTE4 in varchar2 default null
95 ,P_BBA_ATTRIBUTE5 in varchar2 default null
96 ,P_BBA_ATTRIBUTE6 in varchar2 default null
97 ,P_BBA_ATTRIBUTE7 in varchar2 default null
98 ,P_BBA_ATTRIBUTE8 in varchar2 default null
99 ,P_BBA_ATTRIBUTE9 in varchar2 default null
100 ,P_BBA_ATTRIBUTE10 in varchar2 default null
101 ,P_BBA_ATTRIBUTE11 in varchar2 default null
102 ,P_BBA_ATTRIBUTE12 in varchar2 default null
103 ,P_BBA_ATTRIBUTE13 in varchar2 default null
104 ,P_BBA_ATTRIBUTE14 in varchar2 default null
105 ,P_BBA_ATTRIBUTE15 in varchar2 default null
106 ,P_BBA_ATTRIBUTE16 in varchar2 default null
107 ,P_BBA_ATTRIBUTE17 in varchar2 default null
108 ,P_BBA_ATTRIBUTE18 in varchar2 default null
109 ,P_BBA_ATTRIBUTE19 in varchar2 default null
110 ,P_BBA_ATTRIBUTE20 in varchar2 default null
111 ,P_BBA_ATTRIBUTE21 in varchar2 default null
112 ,P_BBA_ATTRIBUTE22 in varchar2 default null
113 ,P_BBA_ATTRIBUTE23 in varchar2 default null
114 ,P_BBA_ATTRIBUTE24 in varchar2 default null
115 ,P_BBA_ATTRIBUTE25 in varchar2 default null
116 ,P_BBA_ATTRIBUTE26 in varchar2 default null
117 ,P_BBA_ATTRIBUTE27 in varchar2 default null
118 ,P_BBA_ATTRIBUTE28 in varchar2 default null
119 ,P_BBA_ATTRIBUTE29 in varchar2 default null
120 ,P_BBA_ATTRIBUTE30 in varchar2 default null
121 ,P_BALANCE_TYPE_NAME in varchar2
122 ,P_EMPLOYEE_NUMBER in varchar2
123 ,P_PAYROLL_RUN_USER_KEY in varchar2) is
124 blid number := p_data_pump_batch_line_id;
125 begin
126 if blid is not null then
127 delete from hr_pump_batch_lines where batch_line_id = blid;
128 delete from hr_pump_batch_exceptions
129 where source_type = 'BATCH_LINE' and source_id = blid;
130 end if;
131 insert into hr_pump_batch_lines
132 (batch_id
133 ,batch_line_id
134 ,business_group_name
135 ,api_module_id
136 ,line_status
137 ,user_sequence
138 ,link_value
139 ,pval001
140 ,pval002
141 ,pval003
142 ,pval004
143 ,pval005
144 ,pval006
145 ,pval007
146 ,pval008
147 ,pval009
148 ,pval010
149 ,pval011
150 ,pval012
151 ,pval013
152 ,pval014
153 ,pval015
154 ,pval016
155 ,pval017
156 ,pval018
157 ,pval019
158 ,pval020
159 ,pval021
160 ,pval022
161 ,pval023
162 ,pval024
163 ,pval025
164 ,pval026
165 ,pval027
166 ,pval028
167 ,pval029
168 ,pval030
169 ,pval031
170 ,pval032
171 ,pval033
172 ,pval034
173 ,pval035
174 ,pval036
175 ,pval037
176 ,pval038
177 ,pval039
178 ,pval044
179 ,pval045
180 ,pval046)
181 values
182 (p_batch_id
183 ,nvl(blid,hr_pump_batch_lines_s.nextval)
184 ,p_data_pump_business_grp_name
185 ,1619
186 ,'U'
187 ,p_user_sequence
188 ,p_link_value
189 ,dc(P_EFFECTIVE_DATE)
190 ,P_YTD_AMOUNT
191 ,P_FYTD_AMOUNT
192 ,P_PTD_AMOUNT
193 ,P_MTD_AMOUNT
194 ,P_QTD_AMOUNT
195 ,P_RUN_AMOUNT
196 ,P_CURRENCY_CODE
197 ,P_BBA_ATTRIBUTE_CATEGORY
198 ,P_BBA_ATTRIBUTE1
199 ,P_BBA_ATTRIBUTE2
200 ,P_BBA_ATTRIBUTE3
201 ,P_BBA_ATTRIBUTE4
202 ,P_BBA_ATTRIBUTE5
203 ,P_BBA_ATTRIBUTE6
204 ,P_BBA_ATTRIBUTE7
205 ,P_BBA_ATTRIBUTE8
206 ,P_BBA_ATTRIBUTE9
207 ,P_BBA_ATTRIBUTE10
208 ,P_BBA_ATTRIBUTE11
209 ,P_BBA_ATTRIBUTE12
210 ,P_BBA_ATTRIBUTE13
211 ,P_BBA_ATTRIBUTE14
212 ,P_BBA_ATTRIBUTE15
213 ,P_BBA_ATTRIBUTE16
214 ,P_BBA_ATTRIBUTE17
215 ,P_BBA_ATTRIBUTE18
216 ,P_BBA_ATTRIBUTE19
217 ,P_BBA_ATTRIBUTE20
218 ,P_BBA_ATTRIBUTE21
219 ,P_BBA_ATTRIBUTE22
220 ,P_BBA_ATTRIBUTE23
221 ,P_BBA_ATTRIBUTE24
222 ,P_BBA_ATTRIBUTE25
223 ,P_BBA_ATTRIBUTE26
224 ,P_BBA_ATTRIBUTE27
225 ,P_BBA_ATTRIBUTE28
226 ,P_BBA_ATTRIBUTE29
227 ,P_BBA_ATTRIBUTE30
228 ,P_BALANCE_TYPE_NAME
229 ,P_EMPLOYEE_NUMBER
230 ,P_PAYROLL_RUN_USER_KEY);
231 end insert_batch_lines;
232 --
233 procedure call
234 (p_business_group_id in number,
235 p_batch_line_id     in number) is
236 cursor cr is
237 select l.rowid myrowid,
238 decode(l.pval001,cn,dn,d(l.pval001)) p1,
239 decode(l.pval002,cn,nn,vn,nn,n(l.pval002)) p2,
240 l.pval002 d2,
241 decode(l.pval003,cn,nn,vn,nn,n(l.pval003)) p3,
242 l.pval003 d3,
243 decode(l.pval004,cn,nn,vn,nn,n(l.pval004)) p4,
244 l.pval004 d4,
245 decode(l.pval005,cn,nn,vn,nn,n(l.pval005)) p5,
246 l.pval005 d5,
247 decode(l.pval006,cn,nn,vn,nn,n(l.pval006)) p6,
248 l.pval006 d6,
249 decode(l.pval007,cn,nn,vn,nn,n(l.pval007)) p7,
250 l.pval007 d7,
251 decode(l.pval008,cn,vn,vn,vn,l.pval008) p8,
252 l.pval008 d8,
253 decode(l.pval009,cn,vn,vn,vn,l.pval009) p9,
254 l.pval009 d9,
255 decode(l.pval010,cn,vn,vn,vn,l.pval010) p10,
256 l.pval010 d10,
257 decode(l.pval011,cn,vn,vn,vn,l.pval011) p11,
258 l.pval011 d11,
259 decode(l.pval012,cn,vn,vn,vn,l.pval012) p12,
260 l.pval012 d12,
261 decode(l.pval013,cn,vn,vn,vn,l.pval013) p13,
262 l.pval013 d13,
263 decode(l.pval014,cn,vn,vn,vn,l.pval014) p14,
264 l.pval014 d14,
265 decode(l.pval015,cn,vn,vn,vn,l.pval015) p15,
266 l.pval015 d15,
267 decode(l.pval016,cn,vn,vn,vn,l.pval016) p16,
268 l.pval016 d16,
269 decode(l.pval017,cn,vn,vn,vn,l.pval017) p17,
270 l.pval017 d17,
271 decode(l.pval018,cn,vn,vn,vn,l.pval018) p18,
272 l.pval018 d18,
273 decode(l.pval019,cn,vn,vn,vn,l.pval019) p19,
274 l.pval019 d19,
275 decode(l.pval020,cn,vn,vn,vn,l.pval020) p20,
276 l.pval020 d20,
277 decode(l.pval021,cn,vn,vn,vn,l.pval021) p21,
278 l.pval021 d21,
279 decode(l.pval022,cn,vn,vn,vn,l.pval022) p22,
280 l.pval022 d22,
281 decode(l.pval023,cn,vn,vn,vn,l.pval023) p23,
282 l.pval023 d23,
283 decode(l.pval024,cn,vn,vn,vn,l.pval024) p24,
284 l.pval024 d24,
285 decode(l.pval025,cn,vn,vn,vn,l.pval025) p25,
286 l.pval025 d25,
287 decode(l.pval026,cn,vn,vn,vn,l.pval026) p26,
288 l.pval026 d26,
289 decode(l.pval027,cn,vn,vn,vn,l.pval027) p27,
290 l.pval027 d27,
291 decode(l.pval028,cn,vn,vn,vn,l.pval028) p28,
292 l.pval028 d28,
293 decode(l.pval029,cn,vn,vn,vn,l.pval029) p29,
294 l.pval029 d29,
295 decode(l.pval030,cn,vn,vn,vn,l.pval030) p30,
296 l.pval030 d30,
297 decode(l.pval031,cn,vn,vn,vn,l.pval031) p31,
298 l.pval031 d31,
299 decode(l.pval032,cn,vn,vn,vn,l.pval032) p32,
300 l.pval032 d32,
301 decode(l.pval033,cn,vn,vn,vn,l.pval033) p33,
302 l.pval033 d33,
303 decode(l.pval034,cn,vn,vn,vn,l.pval034) p34,
304 l.pval034 d34,
305 decode(l.pval035,cn,vn,vn,vn,l.pval035) p35,
306 l.pval035 d35,
307 decode(l.pval036,cn,vn,vn,vn,l.pval036) p36,
308 l.pval036 d36,
309 decode(l.pval037,cn,vn,vn,vn,l.pval037) p37,
310 l.pval037 d37,
311 decode(l.pval038,cn,vn,vn,vn,l.pval038) p38,
312 l.pval038 d38,
313 decode(l.pval039,cn,vn,vn,vn,l.pval039) p39,
314 l.pval039 d39,
315 l.pval040 p40,
316 l.pval041 p41,
317 l.pval042 p42,
318 l.pval043 p43,
319 decode(l.pval044,cn,vn,l.pval044) p44,
320 decode(l.pval045,cn,vn,l.pval045) p45,
321 decode(l.pval046,cn,vn,l.pval046) p46
322 from hr_pump_batch_lines l
323 where l.batch_line_id = p_batch_line_id;
324 --
325 c cr%rowtype;
326 l_validate boolean := false;
327 L_BALANCE_TYPE_ID number;
328 L_ASSIGNMENT_ID number;
329 L_PAYROLL_RUN_ID number;
330 --
331 begin
332 hr_data_pump.entry('call');
333 open cr;
334 fetch cr into c;
335 if cr%notfound then
336 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
337 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
338 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
339 hr_utility.set_message_token('VALUE',p_batch_line_id);
340 hr_utility.raise_error;
341 end if;
342 --
343 if c.p44 is null or
344 c.p1 is null then
345 L_BALANCE_TYPE_ID:=nn;
346 else
347 L_BALANCE_TYPE_ID := 
348 PER_BF_GEN_DATA_PUMP.get_balance_type_id
349 (P_BALANCE_TYPE_NAME => c.p44
350 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
351 ,P_EFFECTIVE_DATE => c.p1);
352 end if;
353 --
354 if c.p45 is null or
355 c.p1 is null then
356 L_ASSIGNMENT_ID:=nn;
357 else
358 L_ASSIGNMENT_ID := 
359 PER_BF_GEN_DATA_PUMP.get_assignment_id
360 (P_EMPLOYEE_NUMBER => c.p45
361 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
362 ,P_EFFECTIVE_DATE => c.p1);
363 end if;
367 else
364 --
365 if c.p46 is null then
366 L_PAYROLL_RUN_ID:=nn;
368 L_PAYROLL_RUN_ID := 
369 PER_BF_GEN_DATA_PUMP.get_payroll_run_id
370 (P_PAYROLL_RUN_USER_KEY => c.p46);
371 end if;
372 --
373 hr_data_pump.api_trc_on;
374 PER_BF_BALANCE_AMOUNTS_API.CREATE_BALANCE_AMOUNT
375 (p_validate => l_validate
376 ,P_EFFECTIVE_DATE => c.p1
377 ,p_business_group_id => p_business_group_id
378 ,P_BALANCE_TYPE_ID => L_BALANCE_TYPE_ID
379 ,P_ASSIGNMENT_ID => L_ASSIGNMENT_ID
380 ,P_PAYROLL_RUN_ID => L_PAYROLL_RUN_ID
381 ,P_YTD_AMOUNT => c.p2
382 ,P_FYTD_AMOUNT => c.p3
383 ,P_PTD_AMOUNT => c.p4
384 ,P_MTD_AMOUNT => c.p5
385 ,P_QTD_AMOUNT => c.p6
386 ,P_RUN_AMOUNT => c.p7
387 ,P_CURRENCY_CODE => c.p8
388 ,P_BBA_ATTRIBUTE_CATEGORY => c.p9
389 ,P_BBA_ATTRIBUTE1 => c.p10
390 ,P_BBA_ATTRIBUTE2 => c.p11
391 ,P_BBA_ATTRIBUTE3 => c.p12
392 ,P_BBA_ATTRIBUTE4 => c.p13
393 ,P_BBA_ATTRIBUTE5 => c.p14
394 ,P_BBA_ATTRIBUTE6 => c.p15
395 ,P_BBA_ATTRIBUTE7 => c.p16
396 ,P_BBA_ATTRIBUTE8 => c.p17
397 ,P_BBA_ATTRIBUTE9 => c.p18
398 ,P_BBA_ATTRIBUTE10 => c.p19
399 ,P_BBA_ATTRIBUTE11 => c.p20
400 ,P_BBA_ATTRIBUTE12 => c.p21
401 ,P_BBA_ATTRIBUTE13 => c.p22
402 ,P_BBA_ATTRIBUTE14 => c.p23
403 ,P_BBA_ATTRIBUTE15 => c.p24
404 ,P_BBA_ATTRIBUTE16 => c.p25
405 ,P_BBA_ATTRIBUTE17 => c.p26
406 ,P_BBA_ATTRIBUTE18 => c.p27
407 ,P_BBA_ATTRIBUTE19 => c.p28
408 ,P_BBA_ATTRIBUTE20 => c.p29
409 ,P_BBA_ATTRIBUTE21 => c.p30
410 ,P_BBA_ATTRIBUTE22 => c.p31
411 ,P_BBA_ATTRIBUTE23 => c.p32
412 ,P_BBA_ATTRIBUTE24 => c.p33
413 ,P_BBA_ATTRIBUTE25 => c.p34
414 ,P_BBA_ATTRIBUTE26 => c.p35
415 ,P_BBA_ATTRIBUTE27 => c.p36
416 ,P_BBA_ATTRIBUTE28 => c.p37
417 ,P_BBA_ATTRIBUTE29 => c.p38
418 ,P_BBA_ATTRIBUTE30 => c.p39
419 ,P_PROCESSED_ASSIGNMENT_ID => c.p40
420 ,P_PROCESSED_ASSIGNMENT_OVN => c.p41
421 ,P_BALANCE_AMOUNT_ID => c.p42
422 ,P_BALANCE_AMOUNT_OVN => c.p43);
423 hr_data_pump.api_trc_off;
424 
425 --
426 update hr_pump_batch_lines l set
427 l.pval040 = decode(c.p40,null,cn,c.p40),
428 l.pval041 = decode(c.p41,null,cn,c.p41),
429 l.pval042 = decode(c.p42,null,cn,c.p42),
430 l.pval043 = decode(c.p43,null,cn,c.p43)
431 where l.rowid = c.myrowid;
432 --
433 close cr;
434 --
435 hr_data_pump.exit('call');
436 exception
437  when hr_multi_message.error_message_exist then
438    if cr%isopen then
439     close cr;
440    end if;
441    hr_pump_utils.set_multi_msg_error_flag(true);
442  when others then
443  if cr%isopen then
444   close cr;
445  end if;
446  raise;
447 end call;
448 end hrdpp_CREATE_BALANCE_AMOUNT;