[Home] [Help]
PACKAGE BODY: APPS.HRDPP_UPDATE_AU_PERSONAL_PAY_M
Source
1 package body hrdpp_UPDATE_AU_PERSONAL_PAY_M as
2 /*
3 * Generated by hr_pump_meta_mapper at: 2013/08/13 18:08:44
4 * Generated for API: HR_AU_PERSONAL_PAY_METHOD_API.UPDATE_AU_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
27 end dc;
24 return to_char(p,'YYYY/MM/DD HH24:MI:SS');
25 end if;
26 return to_char(p,'YYYY/MM/DD');
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_DATETRACK_UPDATE_MODE in varchar2
84 ,P_BANK_BSB_CODE in varchar2 default null
85 ,P_BANK_ACCOUNT_NUMBER in varchar2 default null
86 ,P_BANK_ACCOUNT_NAME in varchar2 default null
87 ,P_AMOUNT in number default null
88 ,I_AMOUNT in varchar2 default 'N'
89 ,P_COMMENTS in varchar2 default null
90 ,P_PERCENTAGE in number default null
91 ,I_PERCENTAGE in varchar2 default 'N'
92 ,P_PRIORITY in number default null
93 ,I_PRIORITY in varchar2 default 'N'
94 ,P_ATTRIBUTE_CATEGORY in varchar2 default null
95 ,P_ATTRIBUTE1 in varchar2 default null
96 ,P_ATTRIBUTE2 in varchar2 default null
97 ,P_ATTRIBUTE3 in varchar2 default null
98 ,P_ATTRIBUTE4 in varchar2 default null
99 ,P_ATTRIBUTE5 in varchar2 default null
100 ,P_ATTRIBUTE6 in varchar2 default null
101 ,P_ATTRIBUTE7 in varchar2 default null
102 ,P_ATTRIBUTE8 in varchar2 default null
103 ,P_ATTRIBUTE9 in varchar2 default null
104 ,P_ATTRIBUTE10 in varchar2 default null
105 ,P_ATTRIBUTE11 in varchar2 default null
106 ,P_ATTRIBUTE12 in varchar2 default null
107 ,P_ATTRIBUTE13 in varchar2 default null
108 ,P_ATTRIBUTE14 in varchar2 default null
109 ,P_ATTRIBUTE15 in varchar2 default null
110 ,P_ATTRIBUTE16 in varchar2 default null
111 ,P_ATTRIBUTE17 in varchar2 default null
112 ,P_ATTRIBUTE18 in varchar2 default null
113 ,P_ATTRIBUTE19 in varchar2 default null
114 ,P_ATTRIBUTE20 in varchar2 default null
115 ,P_PAYEE_TYPE in varchar2 default null
116 ,P_PERSONAL_PAY_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 ,pval036
167 ,pval037
168 ,pval038
169 ,pval039)
170 values
171 (p_batch_id
172 ,nvl(blid,hr_pump_batch_lines_s.nextval)
173 ,p_data_pump_business_grp_name
174 ,2164
175 ,'U'
176 ,p_user_sequence
177 ,p_link_value
178 ,dc(P_EFFECTIVE_DATE)
179 ,P_DATETRACK_UPDATE_MODE
180 ,P_BANK_BSB_CODE
181 ,P_BANK_ACCOUNT_NUMBER
182 ,P_BANK_ACCOUNT_NAME
183 ,nd(P_AMOUNT,I_AMOUNT)
184 ,P_COMMENTS
185 ,nd(P_PERCENTAGE,I_PERCENTAGE)
186 ,nd(P_PRIORITY,I_PRIORITY)
187 ,P_ATTRIBUTE_CATEGORY
188 ,P_ATTRIBUTE1
189 ,P_ATTRIBUTE2
190 ,P_ATTRIBUTE3
191 ,P_ATTRIBUTE4
192 ,P_ATTRIBUTE5
193 ,P_ATTRIBUTE6
194 ,P_ATTRIBUTE7
195 ,P_ATTRIBUTE8
196 ,P_ATTRIBUTE9
197 ,P_ATTRIBUTE10
198 ,P_ATTRIBUTE11
199 ,P_ATTRIBUTE12
200 ,P_ATTRIBUTE13
201 ,P_ATTRIBUTE14
202 ,P_ATTRIBUTE15
203 ,P_ATTRIBUTE16
204 ,P_ATTRIBUTE17
205 ,P_ATTRIBUTE18
206 ,P_ATTRIBUTE19
207 ,P_ATTRIBUTE20
208 ,P_PAYEE_TYPE
209 ,P_PERSONAL_PAY_METHOD_USER_KEY
210 ,P_PAYEE_ORG
214 --
211 ,P_PAYEE_PERSON_USER_KEY
212 ,P_LANGUAGE_CODE);
213 end insert_batch_lines;
215 procedure call
216 (p_business_group_id in number,
217 p_batch_line_id in number) is
218 cursor cr is
219 select l.rowid myrowid,
220 decode(l.pval001,cn,dn,d(l.pval001)) p1,
221 decode(l.pval002,cn,vn,l.pval002) p2,
222 decode(l.pval003,cn,vn,vn,vh,l.pval003) p3,
223 l.pval003 d3,
224 decode(l.pval004,cn,vn,vn,vh,l.pval004) p4,
225 l.pval004 d4,
226 decode(l.pval005,cn,vn,vn,vh,l.pval005) p5,
227 l.pval005 d5,
228 decode(l.pval006,cn,nn,vn,nh,n(l.pval006)) p6,
229 l.pval006 d6,
230 decode(l.pval007,cn,vn,vn,vh,l.pval007) p7,
231 l.pval007 d7,
232 decode(l.pval008,cn,nn,vn,nh,n(l.pval008)) p8,
233 l.pval008 d8,
234 decode(l.pval009,cn,nn,vn,nh,n(l.pval009)) p9,
235 l.pval009 d9,
236 decode(l.pval010,cn,vn,vn,vh,l.pval010) p10,
237 l.pval010 d10,
238 decode(l.pval011,cn,vn,vn,vh,l.pval011) p11,
239 l.pval011 d11,
240 decode(l.pval012,cn,vn,vn,vh,l.pval012) p12,
241 l.pval012 d12,
242 decode(l.pval013,cn,vn,vn,vh,l.pval013) p13,
243 l.pval013 d13,
244 decode(l.pval014,cn,vn,vn,vh,l.pval014) p14,
245 l.pval014 d14,
246 decode(l.pval015,cn,vn,vn,vh,l.pval015) p15,
247 l.pval015 d15,
248 decode(l.pval016,cn,vn,vn,vh,l.pval016) p16,
249 l.pval016 d16,
250 decode(l.pval017,cn,vn,vn,vh,l.pval017) p17,
251 l.pval017 d17,
252 decode(l.pval018,cn,vn,vn,vh,l.pval018) p18,
253 l.pval018 d18,
254 decode(l.pval019,cn,vn,vn,vh,l.pval019) p19,
255 l.pval019 d19,
256 decode(l.pval020,cn,vn,vn,vh,l.pval020) p20,
257 l.pval020 d20,
258 decode(l.pval021,cn,vn,vn,vh,l.pval021) p21,
259 l.pval021 d21,
260 decode(l.pval022,cn,vn,vn,vh,l.pval022) p22,
261 l.pval022 d22,
262 decode(l.pval023,cn,vn,vn,vh,l.pval023) p23,
263 l.pval023 d23,
264 decode(l.pval024,cn,vn,vn,vh,l.pval024) p24,
265 l.pval024 d24,
266 decode(l.pval025,cn,vn,vn,vh,l.pval025) p25,
267 l.pval025 d25,
268 decode(l.pval026,cn,vn,vn,vh,l.pval026) p26,
269 l.pval026 d26,
270 decode(l.pval027,cn,vn,vn,vh,l.pval027) p27,
271 l.pval027 d27,
272 decode(l.pval028,cn,vn,vn,vh,l.pval028) p28,
273 l.pval028 d28,
274 decode(l.pval029,cn,vn,vn,vh,l.pval029) p29,
275 l.pval029 d29,
276 decode(l.pval030,cn,vn,vn,vh,l.pval030) p30,
277 l.pval030 d30,
278 decode(l.pval031,cn,vn,vn,vh,
279 hr_pump_get.gl(l.pval031,'PAYEE_TYPE',d(l.pval001),l.pval039)) p31,
280 l.pval031 d31,
281 l.pval032 p32,
282 l.pval033 p33,
283 decode(l.pval034,cn,dn,d(l.pval034)) p34,
284 decode(l.pval035,cn,dn,d(l.pval035)) p35,
285 decode(l.pval036,cn,vn,l.pval036) p36,
286 decode(l.pval037,cn,vn,vn,vh,l.pval037) p37,
287 l.pval037 d37,
288 decode(l.pval038,cn,vn,vn,vn,l.pval038) p38,
289 l.pval038 d38,
290 decode(l.pval039,cn,vn,vn,vh,l.pval039) p39,
291 l.pval039 d39
292 from hr_pump_batch_lines l
293 where l.batch_line_id = p_batch_line_id;
294 --
295 c cr%rowtype;
296 l_validate boolean := false;
297 L_PERSONAL_PAYMENT_METHOD_ID number;
298 L_OBJECT_VERSION_NUMBER number;
299 L_PAYEE_ID number;
300 --
301 begin
302 hr_data_pump.entry('call');
303 open cr;
304 fetch cr into c;
305 if cr%notfound then
306 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
307 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
308 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
309 hr_utility.set_message_token('VALUE',p_batch_line_id);
310 hr_utility.raise_error;
311 end if;
312 --
313 if c.p36 is null then
314 L_PERSONAL_PAYMENT_METHOD_ID:=nn;
315 else
316 L_PERSONAL_PAYMENT_METHOD_ID :=
317 hr_pump_get.get_personal_payment_method_id
318 (P_PERSONAL_PAY_METHOD_USER_KEY => c.p36);
319 end if;
320 --
321 if c.p36 is null or
322 c.p1 is null then
323 L_OBJECT_VERSION_NUMBER:=nn;
324 else
325 L_OBJECT_VERSION_NUMBER :=
326 hr_pump_get.GET_PPM_OVN
327 (P_PERSONAL_PAY_METHOD_USER_KEY => c.p36
328 ,P_EFFECTIVE_DATE => c.p1);
329 end if;
330 --
331 L_PAYEE_ID :=
332 hr_pump_get.get_payee_id
333 (P_DATA_PUMP_ALWAYS_CALL => null
334 ,P_PAYEE_TYPE => c.p31
335 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
336 ,P_PAYEE_ORG => c.p37
337 ,P_PAYEE_PERSON_USER_KEY => c.p38
338 ,P_EFFECTIVE_DATE => c.p1
339 ,P_LANGUAGE_CODE => c.p39);
340 --
341 hr_data_pump.api_trc_on;
342 HR_AU_PERSONAL_PAY_METHOD_API.UPDATE_AU_PERSONAL_PAY_METHOD
343 (p_validate => l_validate
344 ,P_EFFECTIVE_DATE => c.p1
345 ,P_DATETRACK_UPDATE_MODE => c.p2
346 ,P_PERSONAL_PAYMENT_METHOD_ID => L_PERSONAL_PAYMENT_METHOD_ID
347 ,P_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER
348 ,P_BANK_BSB_CODE => c.p3
349 ,P_BANK_ACCOUNT_NUMBER => c.p4
350 ,P_BANK_ACCOUNT_NAME => c.p5
351 ,P_AMOUNT => c.p6
352 ,P_COMMENTS => c.p7
353 ,P_PERCENTAGE => c.p8
354 ,P_PRIORITY => c.p9
355 ,P_ATTRIBUTE_CATEGORY => c.p10
356 ,P_ATTRIBUTE1 => c.p11
357 ,P_ATTRIBUTE2 => c.p12
358 ,P_ATTRIBUTE3 => c.p13
359 ,P_ATTRIBUTE4 => c.p14
360 ,P_ATTRIBUTE5 => c.p15
361 ,P_ATTRIBUTE6 => c.p16
362 ,P_ATTRIBUTE7 => c.p17
363 ,P_ATTRIBUTE8 => c.p18
364 ,P_ATTRIBUTE9 => c.p19
365 ,P_ATTRIBUTE10 => c.p20
366 ,P_ATTRIBUTE11 => c.p21
367 ,P_ATTRIBUTE12 => c.p22
368 ,P_ATTRIBUTE13 => c.p23
369 ,P_ATTRIBUTE14 => c.p24
370 ,P_ATTRIBUTE15 => c.p25
371 ,P_ATTRIBUTE16 => c.p26
372 ,P_ATTRIBUTE17 => c.p27
373 ,P_ATTRIBUTE18 => c.p28
374 ,P_ATTRIBUTE19 => c.p29
375 ,P_ATTRIBUTE20 => c.p30
376 ,P_PAYEE_TYPE => c.p31
377 ,P_PAYEE_ID => L_PAYEE_ID
378 ,P_COMMENT_ID => c.p32
379 ,P_EXTERNAL_ACCOUNT_ID => c.p33
380 ,P_EFFECTIVE_START_DATE => c.p34
381 ,P_EFFECTIVE_END_DATE => c.p35);
385 update hr_pump_batch_lines l set
382 hr_data_pump.api_trc_off;
383
384 --
386 l.pval032 = decode(c.p32,null,cn,c.p32),
387 l.pval033 = decode(c.p33,null,cn,c.p33),
388 l.pval034 = decode(c.p34,null,cn,dc(c.p34)),
389 l.pval035 = decode(c.p35,null,cn,dc(c.p35))
390 where l.rowid = c.myrowid;
391 --
392 close cr;
393 --
394 hr_data_pump.exit('call');
395 exception
396 when hr_multi_message.error_message_exist then
397 if cr%isopen then
398 close cr;
399 end if;
400 hr_pump_utils.set_multi_msg_error_flag(true);
401 when others then
402 if cr%isopen then
403 close cr;
404 end if;
405 raise;
406 end call;
407 end hrdpp_UPDATE_AU_PERSONAL_PAY_M;