DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_IN_PERSONAL_PAY_M

Source


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