DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_BAL_TYPE

Source


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