DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_GB_PERSONAL_PAY_M

Source


1 package body hrdpp_CREATE_GB_PERSONAL_PAY_M as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2007/01/04 02:01:36
4  * Generated for API: HR_PERSONAL_PAY_METHOD_API.CREATE_GB_PERSONAL_PAY_METHOD
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_ACCOUNT_NAME in varchar2
84 ,P_ACCOUNT_NUMBER in varchar2
85 ,P_SORT_CODE in varchar2
86 ,P_BANK_NAME in varchar2
87 ,P_ACCOUNT_TYPE in varchar2 default null
88 ,P_BANK_BRANCH in varchar2 default null
89 ,P_BANK_BRANCH_LOCATION in varchar2 default null
90 ,P_BLDG_SOCIETY_ACCOUNT_NUMBER in varchar2 default null
91 ,P_AMOUNT in number default null
92 ,P_PERCENTAGE in number default null
93 ,P_PRIORITY in number default null
94 ,P_COMMENTS in varchar2 default null
95 ,P_ATTRIBUTE_CATEGORY in varchar2 default null
96 ,P_ATTRIBUTE1 in varchar2 default null
97 ,P_ATTRIBUTE2 in varchar2 default null
98 ,P_ATTRIBUTE3 in varchar2 default null
99 ,P_ATTRIBUTE4 in varchar2 default null
100 ,P_ATTRIBUTE5 in varchar2 default null
101 ,P_ATTRIBUTE6 in varchar2 default null
102 ,P_ATTRIBUTE7 in varchar2 default null
103 ,P_ATTRIBUTE8 in varchar2 default null
104 ,P_ATTRIBUTE9 in varchar2 default null
105 ,P_ATTRIBUTE10 in varchar2 default null
106 ,P_ATTRIBUTE11 in varchar2 default null
107 ,P_ATTRIBUTE12 in varchar2 default null
108 ,P_ATTRIBUTE13 in varchar2 default null
109 ,P_ATTRIBUTE14 in varchar2 default null
110 ,P_ATTRIBUTE15 in varchar2 default null
111 ,P_ATTRIBUTE16 in varchar2 default null
112 ,P_ATTRIBUTE17 in varchar2 default null
113 ,P_ATTRIBUTE18 in varchar2 default null
114 ,P_ATTRIBUTE19 in varchar2 default null
115 ,P_ATTRIBUTE20 in varchar2 default null
116 ,P_PAYEE_TYPE in varchar2 default null
117 ,P_PERSONAL_PAY_METHOD_USER_KEY in varchar2
118 ,P_ASSIGNMENT_USER_KEY in varchar2
119 ,P_RUN_TYPE_USER_KEY in varchar2 default null
120 ,P_ORG_PAYMENT_METHOD_USER_KEY in varchar2
121 ,P_PAYEE_ORG in varchar2 default null
122 ,P_PAYEE_PERSON_USER_KEY in varchar2 default null
123 ,P_LANGUAGE_CODE in varchar2 default null) 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 ,pval042
176 ,pval043
177 ,pval044
178 ,pval045
179 ,pval046
180 ,pval047)
181 values
182 (p_batch_id
183 ,nvl(blid,hr_pump_batch_lines_s.nextval)
184 ,p_data_pump_business_grp_name
185 ,1385
186 ,'U'
187 ,p_user_sequence
188 ,p_link_value
189 ,dc(P_EFFECTIVE_DATE)
190 ,P_ACCOUNT_NAME
191 ,P_ACCOUNT_NUMBER
192 ,P_SORT_CODE
193 ,P_BANK_NAME
194 ,P_ACCOUNT_TYPE
195 ,P_BANK_BRANCH
196 ,P_BANK_BRANCH_LOCATION
197 ,P_BLDG_SOCIETY_ACCOUNT_NUMBER
198 ,P_AMOUNT
199 ,P_PERCENTAGE
200 ,P_PRIORITY
201 ,P_COMMENTS
202 ,P_ATTRIBUTE_CATEGORY
203 ,P_ATTRIBUTE1
204 ,P_ATTRIBUTE2
205 ,P_ATTRIBUTE3
206 ,P_ATTRIBUTE4
207 ,P_ATTRIBUTE5
208 ,P_ATTRIBUTE6
209 ,P_ATTRIBUTE7
210 ,P_ATTRIBUTE8
211 ,P_ATTRIBUTE9
212 ,P_ATTRIBUTE10
213 ,P_ATTRIBUTE11
214 ,P_ATTRIBUTE12
215 ,P_ATTRIBUTE13
216 ,P_ATTRIBUTE14
217 ,P_ATTRIBUTE15
218 ,P_ATTRIBUTE16
219 ,P_ATTRIBUTE17
220 ,P_ATTRIBUTE18
221 ,P_ATTRIBUTE19
222 ,P_ATTRIBUTE20
223 ,P_PAYEE_TYPE
224 ,P_PERSONAL_PAY_METHOD_USER_KEY
225 ,P_ASSIGNMENT_USER_KEY
226 ,P_RUN_TYPE_USER_KEY
227 ,P_ORG_PAYMENT_METHOD_USER_KEY
228 ,P_PAYEE_ORG
229 ,P_PAYEE_PERSON_USER_KEY
230 ,P_LANGUAGE_CODE);
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,vn,l.pval002) p2,
240 decode(l.pval003,cn,vn,l.pval003) p3,
241 decode(l.pval004,cn,vn,l.pval004) p4,
242 decode(l.pval005,cn,vn,
243  hr_pump_get.gl(l.pval005,'GB_BANKS',d(l.pval001),l.pval047)) p5,
244 decode(l.pval006,cn,vn,vn,vn,l.pval006) p6,
245 l.pval006 d6,
246 decode(l.pval007,cn,vn,vn,vn,l.pval007) p7,
247 l.pval007 d7,
248 decode(l.pval008,cn,vn,vn,vn,
249  hr_pump_get.gl(l.pval008,'GB_COUNTRY',d(l.pval001),l.pval047)) p8,
250 l.pval008 d8,
251 decode(l.pval009,cn,vn,vn,vn,l.pval009) p9,
252 l.pval009 d9,
253 decode(l.pval010,cn,nn,vn,nn,n(l.pval010)) p10,
254 l.pval010 d10,
255 decode(l.pval011,cn,nn,vn,nn,n(l.pval011)) p11,
256 l.pval011 d11,
257 decode(l.pval012,cn,nn,vn,nn,n(l.pval012)) p12,
258 l.pval012 d12,
259 decode(l.pval013,cn,vn,vn,vn,l.pval013) p13,
260 l.pval013 d13,
261 decode(l.pval014,cn,vn,vn,vn,l.pval014) p14,
262 l.pval014 d14,
263 decode(l.pval015,cn,vn,vn,vn,l.pval015) p15,
264 l.pval015 d15,
265 decode(l.pval016,cn,vn,vn,vn,l.pval016) p16,
266 l.pval016 d16,
267 decode(l.pval017,cn,vn,vn,vn,l.pval017) p17,
268 l.pval017 d17,
269 decode(l.pval018,cn,vn,vn,vn,l.pval018) p18,
270 l.pval018 d18,
271 decode(l.pval019,cn,vn,vn,vn,l.pval019) p19,
272 l.pval019 d19,
273 decode(l.pval020,cn,vn,vn,vn,l.pval020) p20,
274 l.pval020 d20,
275 decode(l.pval021,cn,vn,vn,vn,l.pval021) p21,
276 l.pval021 d21,
277 decode(l.pval022,cn,vn,vn,vn,l.pval022) p22,
278 l.pval022 d22,
279 decode(l.pval023,cn,vn,vn,vn,l.pval023) p23,
280 l.pval023 d23,
281 decode(l.pval024,cn,vn,vn,vn,l.pval024) p24,
282 l.pval024 d24,
283 decode(l.pval025,cn,vn,vn,vn,l.pval025) p25,
284 l.pval025 d25,
285 decode(l.pval026,cn,vn,vn,vn,l.pval026) p26,
286 l.pval026 d26,
287 decode(l.pval027,cn,vn,vn,vn,l.pval027) p27,
288 l.pval027 d27,
289 decode(l.pval028,cn,vn,vn,vn,l.pval028) p28,
290 l.pval028 d28,
291 decode(l.pval029,cn,vn,vn,vn,l.pval029) p29,
292 l.pval029 d29,
293 decode(l.pval030,cn,vn,vn,vn,l.pval030) p30,
297 decode(l.pval032,cn,vn,vn,vn,l.pval032) p32,
294 l.pval030 d30,
295 decode(l.pval031,cn,vn,vn,vn,l.pval031) p31,
296 l.pval031 d31,
298 l.pval032 d32,
299 decode(l.pval033,cn,vn,vn,vn,l.pval033) p33,
300 l.pval033 d33,
301 decode(l.pval034,cn,vn,vn,vn,l.pval034) p34,
302 l.pval034 d34,
303 decode(l.pval035,cn,vn,vn,vn,
304  hr_pump_get.gl(l.pval035,'PAYEE_TYPE',d(l.pval001),l.pval047)) p35,
305 l.pval035 d35,
306 l.pval036 p36,
307 l.pval037 p37,
308 l.pval038 p38,
309 decode(l.pval039,cn,dn,d(l.pval039)) p39,
310 decode(l.pval040,cn,dn,d(l.pval040)) p40,
311 l.pval041 p41,
312 decode(l.pval042,cn,vn,l.pval042) p42,
313 decode(l.pval043,cn,vn,vn,vn,l.pval043) p43,
314 l.pval043 d43,
315 decode(l.pval044,cn,vn,l.pval044) p44,
316 decode(l.pval045,cn,vn,vn,vn,l.pval045) p45,
317 l.pval045 d45,
318 decode(l.pval046,cn,vn,vn,vn,l.pval046) p46,
319 l.pval046 d46,
320 decode(l.pval047,cn,vn,vn,vn,l.pval047) p47,
321 l.pval047 d47
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_PERSONAL_PAYMENT_METHOD_ID number;
328 L_ASSIGNMENT_ID number;
329 L_RUN_TYPE_ID number;
330 L_ORG_PAYMENT_METHOD_ID number;
331 L_PAYEE_ID number;
332 --
333 begin
334 hr_data_pump.entry('call');
335 open cr;
336 fetch cr into c;
337 if cr%notfound then
338 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
339 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
340 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
341 hr_utility.set_message_token('VALUE',p_batch_line_id);
342 hr_utility.raise_error;
343 end if;
344 --
345 if c.p42 is null then
346 L_ASSIGNMENT_ID:=nn;
347 else
348 L_ASSIGNMENT_ID := 
349 hr_pump_get.get_assignment_id
350 (P_ASSIGNMENT_USER_KEY => c.p42);
351 end if;
352 --
353 if c.p43 is null then
354 L_RUN_TYPE_ID:=nn;
355 else
356 L_RUN_TYPE_ID := 
357 PAY_PUMP_GET.GET_RUN_TYPE_ID
358 (P_RUN_TYPE_USER_KEY => c.p43);
359 end if;
360 --
361 if c.p44 is null then
362 L_ORG_PAYMENT_METHOD_ID:=nn;
363 else
364 L_ORG_PAYMENT_METHOD_ID := 
365 hr_pump_get.get_org_payment_method_id
366 (P_ORG_PAYMENT_METHOD_USER_KEY => c.p44);
367 end if;
368 --
369 L_PAYEE_ID := 
370 hr_pump_get.get_payee_id
371 (P_DATA_PUMP_ALWAYS_CALL => null
372 ,P_PAYEE_TYPE => c.p35
373 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
374 ,P_PAYEE_ORG => c.p45
375 ,P_PAYEE_PERSON_USER_KEY => c.p46
376 ,P_EFFECTIVE_DATE => c.p1
377 ,P_LANGUAGE_CODE => c.p47);
378 --
379 hr_data_pump.api_trc_on;
380 HR_PERSONAL_PAY_METHOD_API.CREATE_GB_PERSONAL_PAY_METHOD
381 (p_validate => l_validate
382 ,P_EFFECTIVE_DATE => c.p1
383 ,P_ASSIGNMENT_ID => L_ASSIGNMENT_ID
384 ,P_RUN_TYPE_ID => L_RUN_TYPE_ID
385 ,P_ORG_PAYMENT_METHOD_ID => L_ORG_PAYMENT_METHOD_ID
386 ,P_ACCOUNT_NAME => c.p2
387 ,P_ACCOUNT_NUMBER => c.p3
388 ,P_SORT_CODE => c.p4
389 ,P_BANK_NAME => c.p5
390 ,P_ACCOUNT_TYPE => c.p6
391 ,P_BANK_BRANCH => c.p7
392 ,P_BANK_BRANCH_LOCATION => c.p8
393 ,P_BLDG_SOCIETY_ACCOUNT_NUMBER => c.p9
394 ,P_AMOUNT => c.p10
395 ,P_PERCENTAGE => c.p11
396 ,P_PRIORITY => c.p12
397 ,P_COMMENTS => c.p13
398 ,P_ATTRIBUTE_CATEGORY => c.p14
399 ,P_ATTRIBUTE1 => c.p15
400 ,P_ATTRIBUTE2 => c.p16
401 ,P_ATTRIBUTE3 => c.p17
402 ,P_ATTRIBUTE4 => c.p18
403 ,P_ATTRIBUTE5 => c.p19
404 ,P_ATTRIBUTE6 => c.p20
405 ,P_ATTRIBUTE7 => c.p21
406 ,P_ATTRIBUTE8 => c.p22
407 ,P_ATTRIBUTE9 => c.p23
408 ,P_ATTRIBUTE10 => c.p24
409 ,P_ATTRIBUTE11 => c.p25
410 ,P_ATTRIBUTE12 => c.p26
414 ,P_ATTRIBUTE16 => c.p30
411 ,P_ATTRIBUTE13 => c.p27
412 ,P_ATTRIBUTE14 => c.p28
413 ,P_ATTRIBUTE15 => c.p29
415 ,P_ATTRIBUTE17 => c.p31
416 ,P_ATTRIBUTE18 => c.p32
417 ,P_ATTRIBUTE19 => c.p33
418 ,P_ATTRIBUTE20 => c.p34
419 ,P_PAYEE_TYPE => c.p35
420 ,P_PAYEE_ID => L_PAYEE_ID
421 ,P_PERSONAL_PAYMENT_METHOD_ID => L_PERSONAL_PAYMENT_METHOD_ID
422 ,P_EXTERNAL_ACCOUNT_ID => c.p37
423 ,P_OBJECT_VERSION_NUMBER => c.p38
424 ,P_EFFECTIVE_START_DATE => c.p39
425 ,P_EFFECTIVE_END_DATE => c.p40
426 ,P_COMMENT_ID => c.p41);
427 hr_data_pump.api_trc_off;
428 --
429 iuk(p_batch_line_id,c.p36,L_PERSONAL_PAYMENT_METHOD_ID);
430 --
431 update hr_pump_batch_lines l set
432 l.pval036 = decode(c.p36,null,cn,c.p36),
433 l.pval037 = decode(c.p37,null,cn,c.p37),
434 l.pval038 = decode(c.p38,null,cn,c.p38),
435 l.pval039 = decode(c.p39,null,cn,dc(c.p39)),
436 l.pval040 = decode(c.p40,null,cn,dc(c.p40)),
437 l.pval041 = decode(c.p41,null,cn,c.p41)
438 where l.rowid = c.myrowid;
439 --
440 close cr;
441 --
442 hr_data_pump.exit('call');
443 exception
444  when hr_multi_message.error_message_exist then
445    if cr%isopen then
446     close cr;
447    end if;
448    hr_pump_utils.set_multi_msg_error_flag(true);
449  when others then
450  if cr%isopen then
451   close cr;
452  end if;
453  raise;
454 end call;
455 end hrdpp_CREATE_GB_PERSONAL_PAY_M;