DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_SUPER_CONTRIBUTIO

Source


1 package body hrdpp_UPDATE_SUPER_CONTRIBUTIO as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2009/03/30 04:03:00
4  * Generated for API: HR_AU_SUPER_API.UPDATE_SUPER_CONTRIBUTION
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_SESSION_DATE in date
83 ,P_MODE in varchar2
84 ,P_SUPER_FUND_NAME in varchar2
85 ,P_ATTRIBUTE_CATEGORY in varchar2 default null
86 ,P_ATTRIBUTE1 in varchar2 default null
87 ,P_ATTRIBUTE2 in varchar2 default null
88 ,P_ATTRIBUTE3 in varchar2 default null
89 ,P_ATTRIBUTE4 in varchar2 default null
90 ,P_ATTRIBUTE5 in varchar2 default null
91 ,P_ATTRIBUTE6 in varchar2 default null
92 ,P_ATTRIBUTE7 in varchar2 default null
93 ,P_ATTRIBUTE8 in varchar2 default null
94 ,P_ATTRIBUTE9 in varchar2 default null
95 ,P_ATTRIBUTE10 in varchar2 default null
96 ,P_ATTRIBUTE11 in varchar2 default null
97 ,P_ATTRIBUTE12 in varchar2 default null
98 ,P_ATTRIBUTE13 in varchar2 default null
99 ,P_ATTRIBUTE14 in varchar2 default null
100 ,P_ATTRIBUTE15 in varchar2 default null
101 ,P_ATTRIBUTE16 in varchar2 default null
102 ,P_ATTRIBUTE17 in varchar2 default null
103 ,P_ATTRIBUTE18 in varchar2 default null
104 ,P_ATTRIBUTE19 in varchar2 default null
105 ,P_ATTRIBUTE20 in varchar2 default null
106 ,P_PAY_VALUE in number default null
107 ,P_MEMBER_NUMBER in varchar2
108 ,P_SG_AMOUNT in number default null
109 ,P_SG_PERCENT in number default null
110 ,P_NON_SG_AMOUNT in number default null
111 ,P_NON_SG_PERCENT in number default null
112 ,P_ASSIGNMENT_USER_KEY in varchar2
113 ,P_ELEMENT_ENTRY_USER_KEY in varchar2) is
114 blid number := p_data_pump_batch_line_id;
115 begin
116 if blid is not null then
117 delete from hr_pump_batch_lines where batch_line_id = blid;
118 delete from hr_pump_batch_exceptions
119 where source_type = 'BATCH_LINE' and source_id = blid;
120 end if;
121 insert into hr_pump_batch_lines
122 (batch_id
123 ,batch_line_id
124 ,business_group_name
125 ,api_module_id
126 ,line_status
127 ,user_sequence
128 ,link_value
129 ,pval001
130 ,pval002
131 ,pval003
132 ,pval004
133 ,pval005
134 ,pval006
135 ,pval007
136 ,pval008
137 ,pval009
138 ,pval010
139 ,pval011
140 ,pval012
141 ,pval013
142 ,pval014
143 ,pval015
144 ,pval016
145 ,pval017
146 ,pval018
147 ,pval019
148 ,pval020
149 ,pval021
150 ,pval022
151 ,pval023
152 ,pval024
153 ,pval025
154 ,pval026
155 ,pval027
156 ,pval028
157 ,pval029
158 ,pval030
159 ,pval034
160 ,pval035)
161 values
162 (p_batch_id
163 ,nvl(blid,hr_pump_batch_lines_s.nextval)
164 ,p_data_pump_business_grp_name
165 ,2171
166 ,'U'
167 ,p_user_sequence
168 ,p_link_value
169 ,dc(P_SESSION_DATE)
170 ,P_MODE
171 ,P_SUPER_FUND_NAME
172 ,P_ATTRIBUTE_CATEGORY
173 ,P_ATTRIBUTE1
174 ,P_ATTRIBUTE2
175 ,P_ATTRIBUTE3
176 ,P_ATTRIBUTE4
177 ,P_ATTRIBUTE5
178 ,P_ATTRIBUTE6
179 ,P_ATTRIBUTE7
180 ,P_ATTRIBUTE8
181 ,P_ATTRIBUTE9
182 ,P_ATTRIBUTE10
183 ,P_ATTRIBUTE11
184 ,P_ATTRIBUTE12
185 ,P_ATTRIBUTE13
186 ,P_ATTRIBUTE14
187 ,P_ATTRIBUTE15
188 ,P_ATTRIBUTE16
189 ,P_ATTRIBUTE17
190 ,P_ATTRIBUTE18
191 ,P_ATTRIBUTE19
192 ,P_ATTRIBUTE20
193 ,P_PAY_VALUE
194 ,P_MEMBER_NUMBER
195 ,P_SG_AMOUNT
196 ,P_SG_PERCENT
197 ,P_NON_SG_AMOUNT
198 ,P_NON_SG_PERCENT
199 ,P_ASSIGNMENT_USER_KEY
200 ,P_ELEMENT_ENTRY_USER_KEY);
201 end insert_batch_lines;
202 --
203 procedure call
204 (p_business_group_id in number,
205 p_batch_line_id     in number) is
206 cursor cr is
207 select l.rowid myrowid,
208 decode(l.pval001,cn,dn,d(l.pval001)) p1,
209 decode(l.pval002,cn,vn,l.pval002) p2,
210 decode(l.pval003,cn,vn,l.pval003) p3,
211 decode(l.pval004,cn,vn,vn,vn,l.pval004) p4,
212 l.pval004 d4,
213 decode(l.pval005,cn,vn,vn,vn,l.pval005) p5,
214 l.pval005 d5,
215 decode(l.pval006,cn,vn,vn,vn,l.pval006) p6,
216 l.pval006 d6,
217 decode(l.pval007,cn,vn,vn,vn,l.pval007) p7,
218 l.pval007 d7,
219 decode(l.pval008,cn,vn,vn,vn,l.pval008) p8,
220 l.pval008 d8,
221 decode(l.pval009,cn,vn,vn,vn,l.pval009) p9,
222 l.pval009 d9,
223 decode(l.pval010,cn,vn,vn,vn,l.pval010) p10,
224 l.pval010 d10,
225 decode(l.pval011,cn,vn,vn,vn,l.pval011) p11,
226 l.pval011 d11,
227 decode(l.pval012,cn,vn,vn,vn,l.pval012) p12,
228 l.pval012 d12,
229 decode(l.pval013,cn,vn,vn,vn,l.pval013) p13,
230 l.pval013 d13,
231 decode(l.pval014,cn,vn,vn,vn,l.pval014) p14,
232 l.pval014 d14,
233 decode(l.pval015,cn,vn,vn,vn,l.pval015) p15,
234 l.pval015 d15,
235 decode(l.pval016,cn,vn,vn,vn,l.pval016) p16,
236 l.pval016 d16,
237 decode(l.pval017,cn,vn,vn,vn,l.pval017) p17,
238 l.pval017 d17,
239 decode(l.pval018,cn,vn,vn,vn,l.pval018) p18,
240 l.pval018 d18,
241 decode(l.pval019,cn,vn,vn,vn,l.pval019) p19,
242 l.pval019 d19,
243 decode(l.pval020,cn,vn,vn,vn,l.pval020) p20,
244 l.pval020 d20,
245 decode(l.pval021,cn,vn,vn,vn,l.pval021) p21,
246 l.pval021 d21,
247 decode(l.pval022,cn,vn,vn,vn,l.pval022) p22,
248 l.pval022 d22,
249 decode(l.pval023,cn,vn,vn,vn,l.pval023) p23,
250 l.pval023 d23,
251 decode(l.pval024,cn,vn,vn,vn,l.pval024) p24,
252 l.pval024 d24,
253 decode(l.pval025,cn,nn,vn,nn,n(l.pval025)) p25,
254 l.pval025 d25,
255 decode(l.pval026,cn,vn,l.pval026) p26,
256 decode(l.pval027,cn,nn,vn,nn,n(l.pval027)) p27,
257 l.pval027 d27,
258 decode(l.pval028,cn,nn,vn,nn,n(l.pval028)) p28,
259 l.pval028 d28,
260 decode(l.pval029,cn,nn,vn,nn,n(l.pval029)) p29,
261 l.pval029 d29,
262 decode(l.pval030,cn,nn,vn,nn,n(l.pval030)) p30,
263 l.pval030 d30,
264 decode(l.pval031,cn,dn,d(l.pval031)) p31,
265 decode(l.pval032,cn,dn,d(l.pval032)) p32,
266 l.pval033 p33,
267 decode(l.pval034,cn,vn,l.pval034) p34,
268 decode(l.pval035,cn,vn,l.pval035) p35
269 from hr_pump_batch_lines l
270 where l.batch_line_id = p_batch_line_id;
271 --
272 c cr%rowtype;
273 l_validate boolean := false;
274 L_UPDATE_WARNING boolean;
275 L_ASSIGNMENT_ID number;
276 L_ELEMENT_ENTRY_ID number;
277 --
278 begin
279 hr_data_pump.entry('call');
280 open cr;
281 fetch cr into c;
282 if cr%notfound then
283 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
284 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
285 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
286 hr_utility.set_message_token('VALUE',p_batch_line_id);
287 hr_utility.raise_error;
288 end if;
289 --
290 if c.p34 is null then
291 L_ASSIGNMENT_ID:=nn;
292 else
293 L_ASSIGNMENT_ID := 
294 hr_pump_get.get_assignment_id
295 (P_ASSIGNMENT_USER_KEY => c.p34);
296 end if;
297 --
298 if c.p35 is null then
299 L_ELEMENT_ENTRY_ID:=nn;
300 else
301 L_ELEMENT_ENTRY_ID := 
302 hr_pump_get.get_element_entry_id
303 (P_ELEMENT_ENTRY_USER_KEY => c.p35);
304 end if;
305 --
306 hr_data_pump.api_trc_on;
307 HR_AU_SUPER_API.UPDATE_SUPER_CONTRIBUTION
308 (p_validate => l_validate
309 ,P_ASSIGNMENT_ID => L_ASSIGNMENT_ID
310 ,P_SESSION_DATE => c.p1
311 ,P_MODE => c.p2
312 ,p_business_group_id => p_business_group_id
313 ,P_ELEMENT_ENTRY_ID => L_ELEMENT_ENTRY_ID
314 ,P_SUPER_FUND_NAME => c.p3
315 ,P_ATTRIBUTE_CATEGORY => c.p4
316 ,P_ATTRIBUTE1 => c.p5
317 ,P_ATTRIBUTE2 => c.p6
318 ,P_ATTRIBUTE3 => c.p7
319 ,P_ATTRIBUTE4 => c.p8
320 ,P_ATTRIBUTE5 => c.p9
321 ,P_ATTRIBUTE6 => c.p10
322 ,P_ATTRIBUTE7 => c.p11
323 ,P_ATTRIBUTE8 => c.p12
324 ,P_ATTRIBUTE9 => c.p13
325 ,P_ATTRIBUTE10 => c.p14
326 ,P_ATTRIBUTE11 => c.p15
327 ,P_ATTRIBUTE12 => c.p16
328 ,P_ATTRIBUTE13 => c.p17
329 ,P_ATTRIBUTE14 => c.p18
330 ,P_ATTRIBUTE15 => c.p19
331 ,P_ATTRIBUTE16 => c.p20
332 ,P_ATTRIBUTE17 => c.p21
333 ,P_ATTRIBUTE18 => c.p22
334 ,P_ATTRIBUTE19 => c.p23
335 ,P_ATTRIBUTE20 => c.p24
336 ,P_PAY_VALUE => c.p25
337 ,P_MEMBER_NUMBER => c.p26
338 ,P_SG_AMOUNT => c.p27
339 ,P_SG_PERCENT => c.p28
340 ,P_NON_SG_AMOUNT => c.p29
341 ,P_NON_SG_PERCENT => c.p30
342 ,P_EFFECTIVE_START_DATE => c.p31
343 ,P_EFFECTIVE_END_DATE => c.p32
344 ,P_UPDATE_WARNING => L_UPDATE_WARNING);
345 hr_data_pump.api_trc_off;
346 --
347 if L_UPDATE_WARNING then
348 c.p33 := 'TRUE';
349 else
350 c.p33 := 'FALSE';
351 end if;
352 --
353 update hr_pump_batch_lines l set
354 l.pval031 = decode(c.p31,null,cn,dc(c.p31)),
355 l.pval032 = decode(c.p32,null,cn,dc(c.p32)),
356 l.pval033 = decode(c.p33,null,cn,c.p33)
357 where l.rowid = c.myrowid;
358 --
359 close cr;
360 --
361 hr_data_pump.exit('call');
362 exception
363  when hr_multi_message.error_message_exist then
364    if cr%isopen then
365     close cr;
366    end if;
367    hr_pump_utils.set_multi_msg_error_flag(true);
368  when others then
369  if cr%isopen then
370   close cr;
371  end if;
372  raise;
373 end call;
374 end hrdpp_UPDATE_SUPER_CONTRIBUTIO;