DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_GB_PERSONAL_PAY_M

Source


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