DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_PAYROLL_RUN

Source


1 package body hrdpp_CREATE_PAYROLL_RUN as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2007/01/03 23:01:42
4  * Generated for API: PER_BF_PAYROLL_RUNS_API.CREATE_PAYROLL_RUN
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_PAYROLL_IDENTIFIER in varchar2
84 ,P_PERIOD_START_DATE in date default null
85 ,P_PERIOD_END_DATE in date default null
86 ,P_PROCESSING_DATE in date default null
87 ,P_BPR_ATTRIBUTE_CATEGORY in varchar2 default null
88 ,P_BPR_ATTRIBUTE1 in varchar2 default null
89 ,P_BPR_ATTRIBUTE2 in varchar2 default null
90 ,P_BPR_ATTRIBUTE3 in varchar2 default null
91 ,P_BPR_ATTRIBUTE4 in varchar2 default null
92 ,P_BPR_ATTRIBUTE5 in varchar2 default null
93 ,P_BPR_ATTRIBUTE6 in varchar2 default null
94 ,P_BPR_ATTRIBUTE7 in varchar2 default null
95 ,P_BPR_ATTRIBUTE8 in varchar2 default null
96 ,P_BPR_ATTRIBUTE9 in varchar2 default null
97 ,P_BPR_ATTRIBUTE10 in varchar2 default null
98 ,P_BPR_ATTRIBUTE11 in varchar2 default null
99 ,P_BPR_ATTRIBUTE12 in varchar2 default null
100 ,P_BPR_ATTRIBUTE13 in varchar2 default null
101 ,P_BPR_ATTRIBUTE14 in varchar2 default null
102 ,P_BPR_ATTRIBUTE15 in varchar2 default null
103 ,P_BPR_ATTRIBUTE16 in varchar2 default null
104 ,P_BPR_ATTRIBUTE17 in varchar2 default null
105 ,P_BPR_ATTRIBUTE18 in varchar2 default null
106 ,P_BPR_ATTRIBUTE19 in varchar2 default null
107 ,P_BPR_ATTRIBUTE20 in varchar2 default null
108 ,P_BPR_ATTRIBUTE21 in varchar2 default null
109 ,P_BPR_ATTRIBUTE22 in varchar2 default null
110 ,P_BPR_ATTRIBUTE23 in varchar2 default null
111 ,P_BPR_ATTRIBUTE24 in varchar2 default null
112 ,P_BPR_ATTRIBUTE25 in varchar2 default null
113 ,P_BPR_ATTRIBUTE26 in varchar2 default null
114 ,P_BPR_ATTRIBUTE27 in varchar2 default null
115 ,P_BPR_ATTRIBUTE28 in varchar2 default null
116 ,P_BPR_ATTRIBUTE29 in varchar2 default null
117 ,P_BPR_ATTRIBUTE30 in varchar2 default null
118 ,P_PAYROLL_RUN_USER_KEY in varchar2
119 ,P_PAYROLL_NAME in varchar2) is
120 blid number := p_data_pump_batch_line_id;
121 begin
122 if blid is not null then
123 delete from hr_pump_batch_lines where batch_line_id = blid;
124 delete from hr_pump_batch_exceptions
125 where source_type = 'BATCH_LINE' and source_id = blid;
126 end if;
127 insert into hr_pump_batch_lines
128 (batch_id
129 ,batch_line_id
130 ,business_group_name
131 ,api_module_id
132 ,line_status
133 ,user_sequence
134 ,link_value
135 ,pval001
136 ,pval002
137 ,pval003
138 ,pval004
139 ,pval005
140 ,pval006
141 ,pval007
142 ,pval008
143 ,pval009
144 ,pval010
145 ,pval011
146 ,pval012
147 ,pval013
148 ,pval014
149 ,pval015
150 ,pval016
151 ,pval017
152 ,pval018
153 ,pval019
154 ,pval020
155 ,pval021
156 ,pval022
157 ,pval023
158 ,pval024
159 ,pval025
160 ,pval026
161 ,pval027
162 ,pval028
163 ,pval029
164 ,pval030
165 ,pval031
166 ,pval032
167 ,pval033
168 ,pval034
169 ,pval035
170 ,pval036
171 ,pval037
172 ,pval039)
173 values
174 (p_batch_id
175 ,nvl(blid,hr_pump_batch_lines_s.nextval)
176 ,p_data_pump_business_grp_name
177 ,1628
178 ,'U'
179 ,p_user_sequence
180 ,p_link_value
181 ,dc(P_EFFECTIVE_DATE)
182 ,P_PAYROLL_IDENTIFIER
183 ,dc(P_PERIOD_START_DATE)
184 ,dc(P_PERIOD_END_DATE)
185 ,dc(P_PROCESSING_DATE)
186 ,P_BPR_ATTRIBUTE_CATEGORY
187 ,P_BPR_ATTRIBUTE1
188 ,P_BPR_ATTRIBUTE2
189 ,P_BPR_ATTRIBUTE3
190 ,P_BPR_ATTRIBUTE4
191 ,P_BPR_ATTRIBUTE5
192 ,P_BPR_ATTRIBUTE6
193 ,P_BPR_ATTRIBUTE7
194 ,P_BPR_ATTRIBUTE8
195 ,P_BPR_ATTRIBUTE9
196 ,P_BPR_ATTRIBUTE10
197 ,P_BPR_ATTRIBUTE11
198 ,P_BPR_ATTRIBUTE12
199 ,P_BPR_ATTRIBUTE13
200 ,P_BPR_ATTRIBUTE14
201 ,P_BPR_ATTRIBUTE15
202 ,P_BPR_ATTRIBUTE16
203 ,P_BPR_ATTRIBUTE17
204 ,P_BPR_ATTRIBUTE18
205 ,P_BPR_ATTRIBUTE19
206 ,P_BPR_ATTRIBUTE20
207 ,P_BPR_ATTRIBUTE21
208 ,P_BPR_ATTRIBUTE22
209 ,P_BPR_ATTRIBUTE23
210 ,P_BPR_ATTRIBUTE24
211 ,P_BPR_ATTRIBUTE25
212 ,P_BPR_ATTRIBUTE26
213 ,P_BPR_ATTRIBUTE27
214 ,P_BPR_ATTRIBUTE28
215 ,P_BPR_ATTRIBUTE29
216 ,P_BPR_ATTRIBUTE30
217 ,P_PAYROLL_RUN_USER_KEY
218 ,P_PAYROLL_NAME);
219 end insert_batch_lines;
220 --
221 procedure call
222 (p_business_group_id in number,
223 p_batch_line_id     in number) is
224 cursor cr is
225 select l.rowid myrowid,
226 decode(l.pval001,cn,dn,d(l.pval001)) p1,
227 decode(l.pval002,cn,vn,l.pval002) p2,
228 decode(l.pval003,cn,dn,vn,dn,d(l.pval003)) p3,
229 l.pval003 d3,
230 decode(l.pval004,cn,dn,vn,dn,d(l.pval004)) p4,
231 l.pval004 d4,
232 decode(l.pval005,cn,dn,vn,dn,d(l.pval005)) p5,
233 l.pval005 d5,
234 decode(l.pval006,cn,vn,vn,vn,l.pval006) p6,
235 l.pval006 d6,
236 decode(l.pval007,cn,vn,vn,vn,l.pval007) p7,
237 l.pval007 d7,
238 decode(l.pval008,cn,vn,vn,vn,l.pval008) p8,
239 l.pval008 d8,
240 decode(l.pval009,cn,vn,vn,vn,l.pval009) p9,
241 l.pval009 d9,
242 decode(l.pval010,cn,vn,vn,vn,l.pval010) p10,
243 l.pval010 d10,
244 decode(l.pval011,cn,vn,vn,vn,l.pval011) p11,
245 l.pval011 d11,
246 decode(l.pval012,cn,vn,vn,vn,l.pval012) p12,
247 l.pval012 d12,
248 decode(l.pval013,cn,vn,vn,vn,l.pval013) p13,
249 l.pval013 d13,
250 decode(l.pval014,cn,vn,vn,vn,l.pval014) p14,
251 l.pval014 d14,
252 decode(l.pval015,cn,vn,vn,vn,l.pval015) p15,
253 l.pval015 d15,
254 decode(l.pval016,cn,vn,vn,vn,l.pval016) p16,
255 l.pval016 d16,
256 decode(l.pval017,cn,vn,vn,vn,l.pval017) p17,
257 l.pval017 d17,
258 decode(l.pval018,cn,vn,vn,vn,l.pval018) p18,
259 l.pval018 d18,
260 decode(l.pval019,cn,vn,vn,vn,l.pval019) p19,
261 l.pval019 d19,
262 decode(l.pval020,cn,vn,vn,vn,l.pval020) p20,
263 l.pval020 d20,
264 decode(l.pval021,cn,vn,vn,vn,l.pval021) p21,
265 l.pval021 d21,
266 decode(l.pval022,cn,vn,vn,vn,l.pval022) p22,
267 l.pval022 d22,
268 decode(l.pval023,cn,vn,vn,vn,l.pval023) p23,
269 l.pval023 d23,
270 decode(l.pval024,cn,vn,vn,vn,l.pval024) p24,
271 l.pval024 d24,
272 decode(l.pval025,cn,vn,vn,vn,l.pval025) p25,
273 l.pval025 d25,
274 decode(l.pval026,cn,vn,vn,vn,l.pval026) p26,
275 l.pval026 d26,
276 decode(l.pval027,cn,vn,vn,vn,l.pval027) p27,
277 l.pval027 d27,
278 decode(l.pval028,cn,vn,vn,vn,l.pval028) p28,
279 l.pval028 d28,
280 decode(l.pval029,cn,vn,vn,vn,l.pval029) p29,
281 l.pval029 d29,
282 decode(l.pval030,cn,vn,vn,vn,l.pval030) p30,
283 l.pval030 d30,
284 decode(l.pval031,cn,vn,vn,vn,l.pval031) p31,
285 l.pval031 d31,
286 decode(l.pval032,cn,vn,vn,vn,l.pval032) p32,
287 l.pval032 d32,
288 decode(l.pval033,cn,vn,vn,vn,l.pval033) p33,
289 l.pval033 d33,
290 decode(l.pval034,cn,vn,vn,vn,l.pval034) p34,
291 l.pval034 d34,
292 decode(l.pval035,cn,vn,vn,vn,l.pval035) p35,
293 l.pval035 d35,
294 decode(l.pval036,cn,vn,vn,vn,l.pval036) p36,
295 l.pval036 d36,
296 l.pval037 p37,
297 l.pval038 p38,
298 decode(l.pval039,cn,vn,l.pval039) p39
299 from hr_pump_batch_lines l
300 where l.batch_line_id = p_batch_line_id;
301 --
302 c cr%rowtype;
303 l_validate boolean := false;
304 L_PAYROLL_RUN_ID number;
305 L_PAYROLL_ID number;
306 --
307 begin
308 hr_data_pump.entry('call');
309 open cr;
310 fetch cr into c;
311 if cr%notfound then
312 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
313 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
314 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
315 hr_utility.set_message_token('VALUE',p_batch_line_id);
316 hr_utility.raise_error;
317 end if;
318 --
319 if c.p39 is null or
320 c.p1 is null then
321 L_PAYROLL_ID:=nn;
322 else
323 L_PAYROLL_ID := 
324 hr_pump_get.get_payroll_id
325 (P_PAYROLL_NAME => c.p39
326 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
327 ,P_EFFECTIVE_DATE => c.p1);
328 end if;
329 --
330 hr_data_pump.api_trc_on;
331 PER_BF_PAYROLL_RUNS_API.CREATE_PAYROLL_RUN
332 (p_validate => l_validate
333 ,P_EFFECTIVE_DATE => c.p1
334 ,p_business_group_id => p_business_group_id
335 ,P_PAYROLL_ID => L_PAYROLL_ID
336 ,P_PAYROLL_IDENTIFIER => c.p2
337 ,P_PERIOD_START_DATE => c.p3
338 ,P_PERIOD_END_DATE => c.p4
339 ,P_PROCESSING_DATE => c.p5
340 ,P_BPR_ATTRIBUTE_CATEGORY => c.p6
341 ,P_BPR_ATTRIBUTE1 => c.p7
342 ,P_BPR_ATTRIBUTE2 => c.p8
343 ,P_BPR_ATTRIBUTE3 => c.p9
344 ,P_BPR_ATTRIBUTE4 => c.p10
345 ,P_BPR_ATTRIBUTE5 => c.p11
346 ,P_BPR_ATTRIBUTE6 => c.p12
347 ,P_BPR_ATTRIBUTE7 => c.p13
348 ,P_BPR_ATTRIBUTE8 => c.p14
349 ,P_BPR_ATTRIBUTE9 => c.p15
350 ,P_BPR_ATTRIBUTE10 => c.p16
351 ,P_BPR_ATTRIBUTE11 => c.p17
352 ,P_BPR_ATTRIBUTE12 => c.p18
353 ,P_BPR_ATTRIBUTE13 => c.p19
354 ,P_BPR_ATTRIBUTE14 => c.p20
355 ,P_BPR_ATTRIBUTE15 => c.p21
356 ,P_BPR_ATTRIBUTE16 => c.p22
357 ,P_BPR_ATTRIBUTE17 => c.p23
358 ,P_BPR_ATTRIBUTE18 => c.p24
359 ,P_BPR_ATTRIBUTE19 => c.p25
360 ,P_BPR_ATTRIBUTE20 => c.p26
361 ,P_BPR_ATTRIBUTE21 => c.p27
362 ,P_BPR_ATTRIBUTE22 => c.p28
363 ,P_BPR_ATTRIBUTE23 => c.p29
364 ,P_BPR_ATTRIBUTE24 => c.p30
365 ,P_BPR_ATTRIBUTE25 => c.p31
366 ,P_BPR_ATTRIBUTE26 => c.p32
367 ,P_BPR_ATTRIBUTE27 => c.p33
368 ,P_BPR_ATTRIBUTE28 => c.p34
369 ,P_BPR_ATTRIBUTE29 => c.p35
370 ,P_BPR_ATTRIBUTE30 => c.p36
371 ,P_PAYROLL_RUN_ID => L_PAYROLL_RUN_ID
372 ,P_OBJECT_VERSION_NUMBER => c.p38);
373 hr_data_pump.api_trc_off;
374 --
375 iuk(p_batch_line_id,c.p37,L_PAYROLL_RUN_ID);
376 --
377 update hr_pump_batch_lines l set
378 l.pval037 = decode(c.p37,null,cn,c.p37),
379 l.pval038 = decode(c.p38,null,cn,c.p38)
380 where l.rowid = c.myrowid;
381 --
382 close cr;
383 --
384 hr_data_pump.exit('call');
385 exception
386  when hr_multi_message.error_message_exist then
387    if cr%isopen then
388     close cr;
389    end if;
390    hr_pump_utils.set_multi_msg_error_flag(true);
391  when others then
392  if cr%isopen then
393   close cr;
394  end if;
395  raise;
396 end call;
397 end hrdpp_CREATE_PAYROLL_RUN;