DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_CN_PERSONAL_PAY_M

Source


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