DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_IN_PERSONAL_PAY_M

Source


1 package body hrdpp_create_in_personal_pay_m as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2007/01/03 23:01:43
4  * Generated for API: hr_in_personal_pay_method_api.create_in_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_ACCOUNT_NUMBER in varchar2 default null
109 ,P_ACCOUNT_TYPE in varchar2 default null
110 ,P_BANK_CODE in varchar2 default null
111 ,P_BRANCH_CODE in varchar2 default null
112 ,P_CONCAT_SEGMENTS in varchar2 default null
113 ,P_PAYEE_TYPE in varchar2 default null
114 ,P_PERSONAL_PAY_METHOD_USER_KEY in varchar2
115 ,P_ASSIGNMENT_USER_KEY in varchar2
116 ,P_ORG_PAYMENT_METHOD_USER_KEY in varchar2
117 ,P_PAYEE_ORG in varchar2 default null
118 ,P_PAYEE_PERSON_USER_KEY in varchar2 default null
119 ,P_LANGUAGE_CODE in varchar2 default null) 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 ,pval039
169 ,pval040
170 ,pval041
171 ,pval042
172 ,pval043)
173 values
174 (p_batch_id
175 ,nvl(blid,hr_pump_batch_lines_s.nextval)
176 ,p_data_pump_business_grp_name
177 ,3852
178 ,'U'
179 ,p_user_sequence
180 ,p_link_value
181 ,dc(P_EFFECTIVE_DATE)
182 ,P_AMOUNT
183 ,P_PERCENTAGE
184 ,P_PRIORITY
185 ,P_COMMENTS
186 ,P_ATTRIBUTE_CATEGORY
187 ,P_ATTRIBUTE1
188 ,P_ATTRIBUTE2
189 ,P_ATTRIBUTE3
190 ,P_ATTRIBUTE4
191 ,P_ATTRIBUTE5
192 ,P_ATTRIBUTE6
193 ,P_ATTRIBUTE7
194 ,P_ATTRIBUTE8
195 ,P_ATTRIBUTE9
196 ,P_ATTRIBUTE10
197 ,P_ATTRIBUTE11
198 ,P_ATTRIBUTE12
199 ,P_ATTRIBUTE13
200 ,P_ATTRIBUTE14
201 ,P_ATTRIBUTE15
202 ,P_ATTRIBUTE16
203 ,P_ATTRIBUTE17
204 ,P_ATTRIBUTE18
205 ,P_ATTRIBUTE19
206 ,P_ATTRIBUTE20
207 ,P_ACCOUNT_NUMBER
208 ,P_ACCOUNT_TYPE
209 ,P_BANK_CODE
210 ,P_BRANCH_CODE
211 ,P_CONCAT_SEGMENTS
212 ,P_PAYEE_TYPE
213 ,P_PERSONAL_PAY_METHOD_USER_KEY
214 ,P_ASSIGNMENT_USER_KEY
215 ,P_ORG_PAYMENT_METHOD_USER_KEY
216 ,P_PAYEE_ORG
217 ,P_PAYEE_PERSON_USER_KEY
218 ,P_LANGUAGE_CODE);
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,nn,vn,nn,n(l.pval002)) p2,
228 l.pval002 d2,
229 decode(l.pval003,cn,nn,vn,nn,n(l.pval003)) p3,
230 l.pval003 d3,
231 decode(l.pval004,cn,nn,vn,nn,n(l.pval004)) p4,
232 l.pval004 d4,
233 decode(l.pval005,cn,vn,vn,vn,l.pval005) p5,
234 l.pval005 d5,
235 decode(l.pval006,cn,vn,vn,vn,l.pval006) p6,
236 l.pval006 d6,
237 decode(l.pval007,cn,vn,vn,vn,l.pval007) p7,
238 l.pval007 d7,
239 decode(l.pval008,cn,vn,vn,vn,l.pval008) p8,
240 l.pval008 d8,
241 decode(l.pval009,cn,vn,vn,vn,l.pval009) p9,
242 l.pval009 d9,
243 decode(l.pval010,cn,vn,vn,vn,l.pval010) p10,
244 l.pval010 d10,
245 decode(l.pval011,cn,vn,vn,vn,l.pval011) p11,
246 l.pval011 d11,
247 decode(l.pval012,cn,vn,vn,vn,l.pval012) p12,
248 l.pval012 d12,
249 decode(l.pval013,cn,vn,vn,vn,l.pval013) p13,
250 l.pval013 d13,
251 decode(l.pval014,cn,vn,vn,vn,l.pval014) p14,
252 l.pval014 d14,
253 decode(l.pval015,cn,vn,vn,vn,l.pval015) p15,
254 l.pval015 d15,
255 decode(l.pval016,cn,vn,vn,vn,l.pval016) p16,
256 l.pval016 d16,
257 decode(l.pval017,cn,vn,vn,vn,l.pval017) p17,
258 l.pval017 d17,
259 decode(l.pval018,cn,vn,vn,vn,l.pval018) p18,
260 l.pval018 d18,
261 decode(l.pval019,cn,vn,vn,vn,l.pval019) p19,
262 l.pval019 d19,
263 decode(l.pval020,cn,vn,vn,vn,l.pval020) p20,
264 l.pval020 d20,
265 decode(l.pval021,cn,vn,vn,vn,l.pval021) p21,
266 l.pval021 d21,
267 decode(l.pval022,cn,vn,vn,vn,l.pval022) p22,
268 l.pval022 d22,
269 decode(l.pval023,cn,vn,vn,vn,l.pval023) p23,
270 l.pval023 d23,
271 decode(l.pval024,cn,vn,vn,vn,l.pval024) p24,
272 l.pval024 d24,
273 decode(l.pval025,cn,vn,vn,vn,l.pval025) p25,
274 l.pval025 d25,
275 decode(l.pval026,cn,vn,vn,vn,l.pval026) p26,
276 l.pval026 d26,
277 decode(l.pval027,cn,vn,vn,vn,l.pval027) p27,
278 l.pval027 d27,
279 decode(l.pval028,cn,vn,vn,'SB',
280  hr_pump_get.gl(l.pval028,'IN_ACCOUNT_TYPE',d(l.pval001),l.pval043)) p28,
281 l.pval028 d28,
282 decode(l.pval029,cn,vn,vn,vn,
283  hr_pump_get.gl(l.pval029,'IN_BANK',d(l.pval001),l.pval043)) p29,
284 l.pval029 d29,
285 decode(l.pval030,cn,vn,vn,vn,
286  hr_pump_get.gl(l.pval030,'IN_BANK_BRANCH',d(l.pval001),l.pval043)) p30,
287 l.pval030 d30,
288 decode(l.pval031,cn,vn,vn,vn,l.pval031) p31,
289 l.pval031 d31,
290 decode(l.pval032,cn,vn,vn,vn,
291  hr_pump_get.gl(l.pval032,'PAYEE_TYPE',d(l.pval001),l.pval043)) p32,
292 l.pval032 d32,
293 l.pval033 p33,
294 l.pval034 p34,
295 l.pval035 p35,
296 decode(l.pval036,cn,dn,d(l.pval036)) p36,
297 decode(l.pval037,cn,dn,d(l.pval037)) p37,
298 l.pval038 p38,
299 decode(l.pval039,cn,vn,l.pval039) p39,
300 decode(l.pval040,cn,vn,l.pval040) p40,
301 decode(l.pval041,cn,vn,vn,vn,l.pval041) p41,
302 l.pval041 d41,
303 decode(l.pval042,cn,vn,vn,vn,l.pval042) p42,
304 l.pval042 d42,
305 decode(l.pval043,cn,vn,vn,vn,l.pval043) p43,
306 l.pval043 d43
307 from hr_pump_batch_lines l
308 where l.batch_line_id = p_batch_line_id;
309 --
310 c cr%rowtype;
311 l_validate boolean := false;
312 L_PERSONAL_PAYMENT_METHOD_ID number;
313 L_ASSIGNMENT_ID number;
314 L_ORG_PAYMENT_METHOD_ID number;
315 L_PAYEE_ID number;
316 --
317 begin
318 hr_data_pump.entry('call');
319 open cr;
320 fetch cr into c;
321 if cr%notfound then
322 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
323 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
324 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
325 hr_utility.set_message_token('VALUE',p_batch_line_id);
326 hr_utility.raise_error;
327 end if;
328 --
329 if c.p39 is null then
330 L_ASSIGNMENT_ID:=nn;
331 else
332 L_ASSIGNMENT_ID := 
333 hr_pump_get.get_assignment_id
334 (P_ASSIGNMENT_USER_KEY => c.p39);
335 end if;
336 --
337 if c.p40 is null then
338 L_ORG_PAYMENT_METHOD_ID:=nn;
339 else
340 L_ORG_PAYMENT_METHOD_ID := 
341 hr_pump_get.get_org_payment_method_id
342 (P_ORG_PAYMENT_METHOD_USER_KEY => c.p40);
343 end if;
344 --
345 L_PAYEE_ID := 
346 hr_pump_get.get_payee_id
347 (P_DATA_PUMP_ALWAYS_CALL => null
348 ,P_PAYEE_TYPE => c.p32
349 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
350 ,P_PAYEE_ORG => c.p41
351 ,P_PAYEE_PERSON_USER_KEY => c.p42
352 ,P_EFFECTIVE_DATE => c.p1
353 ,P_LANGUAGE_CODE => c.p43);
354 --
355 hr_data_pump.api_trc_on;
356 hr_in_personal_pay_method_api.create_in_personal_pay_method
357 (p_validate => l_validate
358 ,P_EFFECTIVE_DATE => c.p1
359 ,P_ASSIGNMENT_ID => L_ASSIGNMENT_ID
360 ,P_ORG_PAYMENT_METHOD_ID => L_ORG_PAYMENT_METHOD_ID
361 ,P_AMOUNT => c.p2
362 ,P_PERCENTAGE => c.p3
363 ,P_PRIORITY => c.p4
364 ,P_COMMENTS => c.p5
365 ,P_ATTRIBUTE_CATEGORY => c.p6
366 ,P_ATTRIBUTE1 => c.p7
367 ,P_ATTRIBUTE2 => c.p8
368 ,P_ATTRIBUTE3 => c.p9
369 ,P_ATTRIBUTE4 => c.p10
370 ,P_ATTRIBUTE5 => c.p11
371 ,P_ATTRIBUTE6 => c.p12
372 ,P_ATTRIBUTE7 => c.p13
373 ,P_ATTRIBUTE8 => c.p14
374 ,P_ATTRIBUTE9 => c.p15
375 ,P_ATTRIBUTE10 => c.p16
376 ,P_ATTRIBUTE11 => c.p17
377 ,P_ATTRIBUTE12 => c.p18
378 ,P_ATTRIBUTE13 => c.p19
379 ,P_ATTRIBUTE14 => c.p20
380 ,P_ATTRIBUTE15 => c.p21
381 ,P_ATTRIBUTE16 => c.p22
382 ,P_ATTRIBUTE17 => c.p23
383 ,P_ATTRIBUTE18 => c.p24
384 ,P_ATTRIBUTE19 => c.p25
385 ,P_ATTRIBUTE20 => c.p26
386 ,P_ACCOUNT_NUMBER => c.p27
387 ,P_ACCOUNT_TYPE => c.p28
388 ,P_BANK_CODE => c.p29
389 ,P_BRANCH_CODE => c.p30
390 ,P_CONCAT_SEGMENTS => c.p31
391 ,P_PAYEE_TYPE => c.p32
392 ,P_PAYEE_ID => L_PAYEE_ID
393 ,P_PERSONAL_PAYMENT_METHOD_ID => L_PERSONAL_PAYMENT_METHOD_ID
394 ,P_EXTERNAL_ACCOUNT_ID => c.p34
395 ,P_OBJECT_VERSION_NUMBER => c.p35
396 ,P_EFFECTIVE_START_DATE => c.p36
397 ,P_EFFECTIVE_END_DATE => c.p37
398 ,P_COMMENT_ID => c.p38);
399 hr_data_pump.api_trc_off;
400 --
401 iuk(p_batch_line_id,c.p33,L_PERSONAL_PAYMENT_METHOD_ID);
402 --
403 update hr_pump_batch_lines l set
404 l.pval033 = decode(c.p33,null,cn,c.p33),
405 l.pval034 = decode(c.p34,null,cn,c.p34),
406 l.pval035 = decode(c.p35,null,cn,c.p35),
407 l.pval036 = decode(c.p36,null,cn,dc(c.p36)),
408 l.pval037 = decode(c.p37,null,cn,dc(c.p37)),
409 l.pval038 = decode(c.p38,null,cn,c.p38)
410 where l.rowid = c.myrowid;
411 --
412 close cr;
413 --
414 hr_data_pump.exit('call');
415 exception
416  when hr_multi_message.error_message_exist then
417    if cr%isopen then
418     close cr;
419    end if;
420    hr_pump_utils.set_multi_msg_error_flag(true);
421  when others then
422  if cr%isopen then
423   close cr;
424  end if;
425  raise;
426 end call;
427 end hrdpp_create_in_personal_pay_m;