DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_MX_PERSONAL_PAY_M

Source


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