DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_BAL_TYPE

Source


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