DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_CN_PERSONAL_PAY_M

Source


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