DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_SG_PERSONAL_PAY_M

Source


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