DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_MX_PERSONAL_PAY_M

Source


1 package body hrdpp_CREATE_MX_PERSONAL_PAY_M as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2007/01/03 23:01:36
4  * Generated for API: HR_MX_PERSONAL_PAY_METHOD_API.CREATE_MX_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_AMOUNT in number default null
84 ,P_PERCENTAGE in number default null
85 ,P_PRIORITY in number default null
86 ,P_COMMENTS in varchar2 default null
87 ,P_ATTRIBUTE_CATEGORY in varchar2 default null
88 ,P_ATTRIBUTE1 in varchar2 default null
89 ,P_ATTRIBUTE2 in varchar2 default null
90 ,P_ATTRIBUTE3 in varchar2 default null
91 ,P_ATTRIBUTE4 in varchar2 default null
92 ,P_ATTRIBUTE5 in varchar2 default null
93 ,P_ATTRIBUTE6 in varchar2 default null
94 ,P_ATTRIBUTE7 in varchar2 default null
95 ,P_ATTRIBUTE8 in varchar2 default null
96 ,P_ATTRIBUTE9 in varchar2 default null
97 ,P_ATTRIBUTE10 in varchar2 default null
98 ,P_ATTRIBUTE11 in varchar2 default null
99 ,P_ATTRIBUTE12 in varchar2 default null
100 ,P_ATTRIBUTE13 in varchar2 default null
101 ,P_ATTRIBUTE14 in varchar2 default null
102 ,P_ATTRIBUTE15 in varchar2 default null
103 ,P_ATTRIBUTE16 in varchar2 default null
104 ,P_ATTRIBUTE17 in varchar2 default null
105 ,P_ATTRIBUTE18 in varchar2 default null
106 ,P_ATTRIBUTE19 in varchar2 default null
107 ,P_ATTRIBUTE20 in varchar2 default null
108 ,P_BANK in varchar2
109 ,P_BRANCH in varchar2
110 ,P_ACCOUNT in varchar2
111 ,P_ACCOUNT_TYPE in varchar2
112 ,P_CLABE in varchar2
113 ,P_CONCAT_SEGMENTS in varchar2 default null
114 ,P_PAYEE_TYPE in varchar2 default null
115 ,P_PERSONAL_PAY_METHOD_USER_KEY in varchar2
116 ,P_ASSIGNMENT_USER_KEY in varchar2
117 ,P_RUN_TYPE_USER_KEY in varchar2 default null
118 ,P_ORG_PAYMENT_METHOD_USER_KEY in varchar2
119 ,P_PAYEE_ORG in varchar2 default null
120 ,P_PAYEE_PERSON_USER_KEY in varchar2 default null
121 ,P_LANGUAGE_CODE in varchar2 default null) 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 ,pval040
172 ,pval041
173 ,pval042
174 ,pval043
175 ,pval044
176 ,pval045)
177 values
178 (p_batch_id
179 ,nvl(blid,hr_pump_batch_lines_s.nextval)
180 ,p_data_pump_business_grp_name
181 ,3867
182 ,'U'
183 ,p_user_sequence
184 ,p_link_value
185 ,dc(P_EFFECTIVE_DATE)
186 ,P_AMOUNT
187 ,P_PERCENTAGE
188 ,P_PRIORITY
189 ,P_COMMENTS
190 ,P_ATTRIBUTE_CATEGORY
191 ,P_ATTRIBUTE1
192 ,P_ATTRIBUTE2
193 ,P_ATTRIBUTE3
194 ,P_ATTRIBUTE4
195 ,P_ATTRIBUTE5
196 ,P_ATTRIBUTE6
197 ,P_ATTRIBUTE7
198 ,P_ATTRIBUTE8
199 ,P_ATTRIBUTE9
200 ,P_ATTRIBUTE10
201 ,P_ATTRIBUTE11
202 ,P_ATTRIBUTE12
203 ,P_ATTRIBUTE13
204 ,P_ATTRIBUTE14
205 ,P_ATTRIBUTE15
206 ,P_ATTRIBUTE16
207 ,P_ATTRIBUTE17
208 ,P_ATTRIBUTE18
209 ,P_ATTRIBUTE19
210 ,P_ATTRIBUTE20
211 ,P_BANK
212 ,P_BRANCH
213 ,P_ACCOUNT
214 ,P_ACCOUNT_TYPE
215 ,P_CLABE
216 ,P_CONCAT_SEGMENTS
217 ,P_PAYEE_TYPE
218 ,P_PERSONAL_PAY_METHOD_USER_KEY
219 ,P_ASSIGNMENT_USER_KEY
220 ,P_RUN_TYPE_USER_KEY
221 ,P_ORG_PAYMENT_METHOD_USER_KEY
222 ,P_PAYEE_ORG
223 ,P_PAYEE_PERSON_USER_KEY
224 ,P_LANGUAGE_CODE);
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,nn,vn,nn,n(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,
284  hr_pump_get.gl(l.pval027,'MX_BANK',d(l.pval001),l.pval045)) p27,
285 decode(l.pval028,cn,vn,l.pval028) p28,
286 decode(l.pval029,cn,vn,l.pval029) p29,
287 decode(l.pval030,cn,vn,
288  hr_pump_get.gl(l.pval030,'MX_HR_BANK_ACCT_TYPE',d(l.pval001),l.pval045)) p30,
289 decode(l.pval031,cn,vn,l.pval031) p31,
290 decode(l.pval032,cn,vn,vn,vn,l.pval032) p32,
291 l.pval032 d32,
292 decode(l.pval033,cn,vn,vn,vn,
293  hr_pump_get.gl(l.pval033,'PAYEE_TYPE',d(l.pval001),l.pval045)) p33,
294 l.pval033 d33,
295 l.pval034 p34,
296 l.pval035 p35,
297 l.pval036 p36,
298 decode(l.pval037,cn,dn,d(l.pval037)) p37,
299 decode(l.pval038,cn,dn,d(l.pval038)) p38,
300 l.pval039 p39,
301 decode(l.pval040,cn,vn,l.pval040) p40,
302 decode(l.pval041,cn,vn,vn,vn,l.pval041) p41,
303 l.pval041 d41,
304 decode(l.pval042,cn,vn,l.pval042) p42,
305 decode(l.pval043,cn,vn,vn,vn,l.pval043) p43,
306 l.pval043 d43,
307 decode(l.pval044,cn,vn,vn,vn,l.pval044) p44,
308 l.pval044 d44,
309 decode(l.pval045,cn,vn,vn,vn,l.pval045) p45,
310 l.pval045 d45
311 from hr_pump_batch_lines l
312 where l.batch_line_id = p_batch_line_id;
313 --
314 c cr%rowtype;
315 l_validate boolean := false;
316 L_PERSONAL_PAYMENT_METHOD_ID number;
317 L_ASSIGNMENT_ID number;
318 L_RUN_TYPE_ID number;
319 L_ORG_PAYMENT_METHOD_ID number;
320 L_PAYEE_ID number;
321 --
322 begin
323 hr_data_pump.entry('call');
324 open cr;
325 fetch cr into c;
326 if cr%notfound then
327 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
328 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
329 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
330 hr_utility.set_message_token('VALUE',p_batch_line_id);
331 hr_utility.raise_error;
332 end if;
333 --
334 if c.p40 is null then
335 L_ASSIGNMENT_ID:=nn;
336 else
337 L_ASSIGNMENT_ID := 
338 hr_pump_get.get_assignment_id
339 (P_ASSIGNMENT_USER_KEY => c.p40);
340 end if;
341 --
342 if c.p41 is null then
343 L_RUN_TYPE_ID:=nn;
344 else
345 L_RUN_TYPE_ID := 
346 PAY_PUMP_GET.GET_RUN_TYPE_ID
347 (P_RUN_TYPE_USER_KEY => c.p41);
348 end if;
349 --
350 if c.p42 is null then
351 L_ORG_PAYMENT_METHOD_ID:=nn;
352 else
353 L_ORG_PAYMENT_METHOD_ID := 
354 hr_pump_get.get_org_payment_method_id
355 (P_ORG_PAYMENT_METHOD_USER_KEY => c.p42);
356 end if;
357 --
358 L_PAYEE_ID := 
359 hr_pump_get.get_payee_id
360 (P_DATA_PUMP_ALWAYS_CALL => null
361 ,P_PAYEE_TYPE => c.p33
362 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
363 ,P_PAYEE_ORG => c.p43
364 ,P_PAYEE_PERSON_USER_KEY => c.p44
365 ,P_EFFECTIVE_DATE => c.p1
366 ,P_LANGUAGE_CODE => c.p45);
367 --
368 hr_data_pump.api_trc_on;
369 HR_MX_PERSONAL_PAY_METHOD_API.CREATE_MX_PERSONAL_PAY_METHOD
370 (p_validate => l_validate
371 ,P_EFFECTIVE_DATE => c.p1
372 ,P_ASSIGNMENT_ID => L_ASSIGNMENT_ID
373 ,P_RUN_TYPE_ID => L_RUN_TYPE_ID
374 ,P_ORG_PAYMENT_METHOD_ID => L_ORG_PAYMENT_METHOD_ID
375 ,P_AMOUNT => c.p2
376 ,P_PERCENTAGE => c.p3
377 ,P_PRIORITY => c.p4
378 ,P_COMMENTS => c.p5
379 ,P_ATTRIBUTE_CATEGORY => c.p6
380 ,P_ATTRIBUTE1 => c.p7
381 ,P_ATTRIBUTE2 => c.p8
382 ,P_ATTRIBUTE3 => c.p9
383 ,P_ATTRIBUTE4 => c.p10
384 ,P_ATTRIBUTE5 => c.p11
385 ,P_ATTRIBUTE6 => c.p12
386 ,P_ATTRIBUTE7 => c.p13
387 ,P_ATTRIBUTE8 => c.p14
388 ,P_ATTRIBUTE9 => c.p15
389 ,P_ATTRIBUTE10 => c.p16
390 ,P_ATTRIBUTE11 => c.p17
391 ,P_ATTRIBUTE12 => c.p18
392 ,P_ATTRIBUTE13 => c.p19
393 ,P_ATTRIBUTE14 => c.p20
394 ,P_ATTRIBUTE15 => c.p21
395 ,P_ATTRIBUTE16 => c.p22
396 ,P_ATTRIBUTE17 => c.p23
397 ,P_ATTRIBUTE18 => c.p24
398 ,P_ATTRIBUTE19 => c.p25
399 ,P_ATTRIBUTE20 => c.p26
400 ,P_BANK => c.p27
401 ,P_BRANCH => c.p28
402 ,P_ACCOUNT => c.p29
403 ,P_ACCOUNT_TYPE => c.p30
404 ,P_CLABE => c.p31
405 ,P_CONCAT_SEGMENTS => c.p32
406 ,P_PAYEE_TYPE => c.p33
407 ,P_PAYEE_ID => L_PAYEE_ID
408 ,P_PERSONAL_PAYMENT_METHOD_ID => L_PERSONAL_PAYMENT_METHOD_ID
409 ,P_EXTERNAL_ACCOUNT_ID => c.p35
410 ,P_OBJECT_VERSION_NUMBER => c.p36
411 ,P_EFFECTIVE_START_DATE => c.p37
412 ,P_EFFECTIVE_END_DATE => c.p38
413 ,P_COMMENT_ID => c.p39);
414 hr_data_pump.api_trc_off;
415 --
416 iuk(p_batch_line_id,c.p34,L_PERSONAL_PAYMENT_METHOD_ID);
417 --
418 update hr_pump_batch_lines l set
419 l.pval034 = decode(c.p34,null,cn,c.p34),
420 l.pval035 = decode(c.p35,null,cn,c.p35),
421 l.pval036 = decode(c.p36,null,cn,c.p36),
422 l.pval037 = decode(c.p37,null,cn,dc(c.p37)),
423 l.pval038 = decode(c.p38,null,cn,dc(c.p38)),
424 l.pval039 = decode(c.p39,null,cn,c.p39)
425 where l.rowid = c.myrowid;
426 --
427 close cr;
428 --
429 hr_data_pump.exit('call');
430 exception
431  when hr_multi_message.error_message_exist then
432    if cr%isopen then
433     close cr;
434    end if;
435    hr_pump_utils.set_multi_msg_error_flag(true);
436  when others then
437  if cr%isopen then
438   close cr;
439  end if;
440  raise;
441 end call;
442 end hrdpp_CREATE_MX_PERSONAL_PAY_M;