DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_PAYMENT_DETAIL

Source


1 package body hrdpp_CREATE_PAYMENT_DETAIL as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2007/01/03 23:01:51
4  * Generated for API: PER_BF_PAYMENT_DETAILS_API.CREATE_PAYMENT_DETAIL
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;
31 return to_date(p,'YYYY/MM/DD');
28 function d(p in varchar2) return date is
29 begin
30 if length(p)=10 then
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_CHECK_NUMBER in number default null
84 ,P_PAYMENT_DATE in date default null
85 ,P_AMOUNT in number default null
86 ,P_CHECK_TYPE in varchar2 default null
87 ,P_CURRENCY_CODE in varchar2 default null
88 ,P_BPD_ATTRIBUTE_CATEGORY in varchar2 default null
89 ,P_BPD_ATTRIBUTE1 in varchar2 default null
90 ,P_BPD_ATTRIBUTE2 in varchar2 default null
91 ,P_BPD_ATTRIBUTE3 in varchar2 default null
92 ,P_BPD_ATTRIBUTE4 in varchar2 default null
93 ,P_BPD_ATTRIBUTE5 in varchar2 default null
94 ,P_BPD_ATTRIBUTE6 in varchar2 default null
95 ,P_BPD_ATTRIBUTE7 in varchar2 default null
96 ,P_BPD_ATTRIBUTE8 in varchar2 default null
97 ,P_BPD_ATTRIBUTE9 in varchar2 default null
98 ,P_BPD_ATTRIBUTE10 in varchar2 default null
99 ,P_BPD_ATTRIBUTE11 in varchar2 default null
100 ,P_BPD_ATTRIBUTE12 in varchar2 default null
101 ,P_BPD_ATTRIBUTE13 in varchar2 default null
102 ,P_BPD_ATTRIBUTE14 in varchar2 default null
103 ,P_BPD_ATTRIBUTE15 in varchar2 default null
104 ,P_BPD_ATTRIBUTE16 in varchar2 default null
105 ,P_BPD_ATTRIBUTE17 in varchar2 default null
106 ,P_BPD_ATTRIBUTE18 in varchar2 default null
107 ,P_BPD_ATTRIBUTE19 in varchar2 default null
108 ,P_BPD_ATTRIBUTE20 in varchar2 default null
109 ,P_BPD_ATTRIBUTE21 in varchar2 default null
110 ,P_BPD_ATTRIBUTE22 in varchar2 default null
111 ,P_BPD_ATTRIBUTE23 in varchar2 default null
112 ,P_BPD_ATTRIBUTE24 in varchar2 default null
113 ,P_BPD_ATTRIBUTE25 in varchar2 default null
114 ,P_BPD_ATTRIBUTE26 in varchar2 default null
115 ,P_BPD_ATTRIBUTE27 in varchar2 default null
116 ,P_BPD_ATTRIBUTE28 in varchar2 default null
117 ,P_BPD_ATTRIBUTE29 in varchar2 default null
118 ,P_BPD_ATTRIBUTE30 in varchar2 default null
119 ,P_EMPLOYEE_NUMBER in varchar2
120 ,P_ORG_PAYMENT_METHOD_NAME in varchar2
121 ,P_PAYROLL_RUN_USER_KEY in varchar2) is
122 blid number := p_data_pump_batch_line_id;
123 begin
124 if blid is not null then
125 delete from hr_pump_batch_lines where batch_line_id = blid;
126 delete from hr_pump_batch_exceptions
127 where source_type = 'BATCH_LINE' and source_id = blid;
128 end if;
129 insert into hr_pump_batch_lines
130 (batch_id
131 ,batch_line_id
132 ,business_group_name
133 ,api_module_id
134 ,line_status
135 ,user_sequence
136 ,link_value
137 ,pval001
138 ,pval002
139 ,pval003
140 ,pval004
141 ,pval005
142 ,pval006
143 ,pval007
144 ,pval008
145 ,pval009
146 ,pval010
147 ,pval011
148 ,pval012
149 ,pval013
150 ,pval014
151 ,pval015
152 ,pval016
153 ,pval017
154 ,pval018
155 ,pval019
156 ,pval020
157 ,pval021
158 ,pval022
159 ,pval023
160 ,pval024
161 ,pval025
162 ,pval026
163 ,pval027
164 ,pval028
165 ,pval029
166 ,pval030
167 ,pval031
168 ,pval032
169 ,pval033
170 ,pval034
171 ,pval035
172 ,pval036
173 ,pval037
174 ,pval042
175 ,pval043
176 ,pval044)
177 values
178 (p_batch_id
179 ,nvl(blid,hr_pump_batch_lines_s.nextval)
180 ,p_data_pump_business_grp_name
181 ,1622
182 ,'U'
183 ,p_user_sequence
184 ,p_link_value
185 ,dc(P_EFFECTIVE_DATE)
186 ,P_CHECK_NUMBER
187 ,dc(P_PAYMENT_DATE)
188 ,P_AMOUNT
189 ,P_CHECK_TYPE
190 ,P_CURRENCY_CODE
191 ,P_BPD_ATTRIBUTE_CATEGORY
192 ,P_BPD_ATTRIBUTE1
193 ,P_BPD_ATTRIBUTE2
194 ,P_BPD_ATTRIBUTE3
195 ,P_BPD_ATTRIBUTE4
196 ,P_BPD_ATTRIBUTE5
197 ,P_BPD_ATTRIBUTE6
198 ,P_BPD_ATTRIBUTE7
199 ,P_BPD_ATTRIBUTE8
200 ,P_BPD_ATTRIBUTE9
201 ,P_BPD_ATTRIBUTE10
202 ,P_BPD_ATTRIBUTE11
203 ,P_BPD_ATTRIBUTE12
204 ,P_BPD_ATTRIBUTE13
205 ,P_BPD_ATTRIBUTE14
206 ,P_BPD_ATTRIBUTE15
207 ,P_BPD_ATTRIBUTE16
208 ,P_BPD_ATTRIBUTE17
209 ,P_BPD_ATTRIBUTE18
210 ,P_BPD_ATTRIBUTE19
211 ,P_BPD_ATTRIBUTE20
212 ,P_BPD_ATTRIBUTE21
213 ,P_BPD_ATTRIBUTE22
214 ,P_BPD_ATTRIBUTE23
215 ,P_BPD_ATTRIBUTE24
216 ,P_BPD_ATTRIBUTE25
217 ,P_BPD_ATTRIBUTE26
218 ,P_BPD_ATTRIBUTE27
219 ,P_BPD_ATTRIBUTE28
220 ,P_BPD_ATTRIBUTE29
221 ,P_BPD_ATTRIBUTE30
222 ,P_EMPLOYEE_NUMBER
223 ,P_ORG_PAYMENT_METHOD_NAME
224 ,P_PAYROLL_RUN_USER_KEY);
225 end insert_batch_lines;
226 --
227 procedure call
228 (p_business_group_id in number,
229 p_batch_line_id     in number) is
230 cursor cr is
231 select l.rowid myrowid,
232 decode(l.pval001,cn,dn,d(l.pval001)) p1,
233 decode(l.pval002,cn,nn,vn,nn,n(l.pval002)) p2,
234 l.pval002 d2,
235 decode(l.pval003,cn,dn,vn,dn,d(l.pval003)) p3,
236 l.pval003 d3,
237 decode(l.pval004,cn,nn,vn,nn,n(l.pval004)) p4,
238 l.pval004 d4,
239 decode(l.pval005,cn,vn,vn,vn,l.pval005) p5,
240 l.pval005 d5,
241 decode(l.pval006,cn,vn,vn,vn,l.pval006) p6,
242 l.pval006 d6,
243 decode(l.pval007,cn,vn,vn,vn,l.pval007) p7,
244 l.pval007 d7,
245 decode(l.pval008,cn,vn,vn,vn,l.pval008) p8,
246 l.pval008 d8,
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,vn,vn,l.pval012) p12,
254 l.pval012 d12,
255 decode(l.pval013,cn,vn,vn,vn,l.pval013) 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,
292 l.pval031 d31,
293 decode(l.pval032,cn,vn,vn,vn,l.pval032) p32,
294 l.pval032 d32,
295 decode(l.pval033,cn,vn,vn,vn,l.pval033) p33,
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 decode(l.pval036,cn,vn,vn,vn,l.pval036) p36,
302 l.pval036 d36,
303 decode(l.pval037,cn,vn,vn,vn,l.pval037) p37,
304 l.pval037 d37,
305 l.pval038 p38,
306 l.pval039 p39,
307 l.pval040 p40,
308 l.pval041 p41,
309 decode(l.pval042,cn,vn,l.pval042) p42,
310 decode(l.pval043,cn,vn,l.pval043) p43,
311 decode(l.pval044,cn,vn,l.pval044) p44
312 from hr_pump_batch_lines l
313 where l.batch_line_id = p_batch_line_id;
314 --
315 c cr%rowtype;
316 l_validate boolean := false;
317 L_PERSONAL_PAYMENT_METHOD_ID number;
318 L_PAYROLL_RUN_ID number;
319 L_ASSIGNMENT_ID number;
320 --
321 begin
322 hr_data_pump.entry('call');
323 open cr;
324 fetch cr into c;
325 if cr%notfound then
326 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
327 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
328 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
329 hr_utility.set_message_token('VALUE',p_batch_line_id);
330 hr_utility.raise_error;
331 end if;
332 --
333 if c.p42 is null or
334 c.p1 is null or
335 c.p43 is null then
336 L_PERSONAL_PAYMENT_METHOD_ID:=nn;
337 else
338 L_PERSONAL_PAYMENT_METHOD_ID := 
339 PER_BF_GEN_DATA_PUMP.get_personal_payment_method_id
340 (P_EMPLOYEE_NUMBER => c.p42
341 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
342 ,P_EFFECTIVE_DATE => c.p1
343 ,P_ORG_PAYMENT_METHOD_NAME => c.p43);
344 end if;
345 --
346 if c.p44 is null then
347 L_PAYROLL_RUN_ID:=nn;
348 else
349 L_PAYROLL_RUN_ID := 
350 PER_BF_GEN_DATA_PUMP.get_payroll_run_id
351 (P_PAYROLL_RUN_USER_KEY => c.p44);
352 end if;
353 --
354 if c.p42 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.p42
361 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
362 ,P_EFFECTIVE_DATE => c.p1);
363 end if;
364 --
365 hr_data_pump.api_trc_on;
366 PER_BF_PAYMENT_DETAILS_API.CREATE_PAYMENT_DETAIL
367 (p_validate => l_validate
368 ,P_EFFECTIVE_DATE => c.p1
369 ,p_business_group_id => p_business_group_id
370 ,P_PERSONAL_PAYMENT_METHOD_ID => L_PERSONAL_PAYMENT_METHOD_ID
371 ,P_PAYROLL_RUN_ID => L_PAYROLL_RUN_ID
372 ,P_ASSIGNMENT_ID => L_ASSIGNMENT_ID
373 ,P_CHECK_NUMBER => c.p2
374 ,P_PAYMENT_DATE => c.p3
375 ,P_AMOUNT => c.p4
376 ,P_CHECK_TYPE => c.p5
377 ,P_CURRENCY_CODE => c.p6
378 ,P_BPD_ATTRIBUTE_CATEGORY => c.p7
379 ,P_BPD_ATTRIBUTE1 => c.p8
380 ,P_BPD_ATTRIBUTE2 => c.p9
381 ,P_BPD_ATTRIBUTE3 => c.p10
382 ,P_BPD_ATTRIBUTE4 => c.p11
383 ,P_BPD_ATTRIBUTE5 => c.p12
384 ,P_BPD_ATTRIBUTE6 => c.p13
385 ,P_BPD_ATTRIBUTE7 => c.p14
386 ,P_BPD_ATTRIBUTE8 => c.p15
387 ,P_BPD_ATTRIBUTE9 => c.p16
388 ,P_BPD_ATTRIBUTE10 => c.p17
389 ,P_BPD_ATTRIBUTE11 => c.p18
390 ,P_BPD_ATTRIBUTE12 => c.p19
391 ,P_BPD_ATTRIBUTE13 => c.p20
392 ,P_BPD_ATTRIBUTE14 => c.p21
393 ,P_BPD_ATTRIBUTE15 => c.p22
394 ,P_BPD_ATTRIBUTE16 => c.p23
395 ,P_BPD_ATTRIBUTE17 => c.p24
396 ,P_BPD_ATTRIBUTE18 => c.p25
397 ,P_BPD_ATTRIBUTE19 => c.p26
398 ,P_BPD_ATTRIBUTE20 => c.p27
399 ,P_BPD_ATTRIBUTE21 => c.p28
400 ,P_BPD_ATTRIBUTE22 => c.p29
401 ,P_BPD_ATTRIBUTE23 => c.p30
402 ,P_BPD_ATTRIBUTE24 => c.p31
403 ,P_BPD_ATTRIBUTE25 => c.p32
404 ,P_BPD_ATTRIBUTE26 => c.p33
405 ,P_BPD_ATTRIBUTE27 => c.p34
406 ,P_BPD_ATTRIBUTE28 => c.p35
407 ,P_BPD_ATTRIBUTE29 => c.p36
408 ,P_BPD_ATTRIBUTE30 => c.p37
409 ,P_PAYMENT_DETAIL_ID => c.p38
410 ,P_PAYMENT_DETAIL_OVN => c.p39
411 ,P_PROCESSED_ASSIGNMENT_ID => c.p40
412 ,P_PROCESSED_ASSIGNMENT_OVN => c.p41);
413 hr_data_pump.api_trc_off;
414 
415 --
416 update hr_pump_batch_lines l set
417 l.pval038 = decode(c.p38,null,cn,c.p38),
418 l.pval039 = decode(c.p39,null,cn,c.p39),
419 l.pval040 = decode(c.p40,null,cn,c.p40),
420 l.pval041 = decode(c.p41,null,cn,c.p41)
421 where l.rowid = c.myrowid;
422 --
423 close cr;
424 --
425 hr_data_pump.exit('call');
426 exception
427  when hr_multi_message.error_message_exist then
428    if cr%isopen then
429     close cr;
430    end if;
431    hr_pump_utils.set_multi_msg_error_flag(true);
432  when others then
433  if cr%isopen then
434   close cr;
435  end if;
436  raise;
437 end call;
438 end hrdpp_CREATE_PAYMENT_DETAIL;