DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_ADI_TAX_CRP

Source


1 package body hrdpp_UPDATE_ADI_TAX_CRP as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2013/08/13 18:08:54
4  * Generated for API: HR_AU_TAX_API.UPDATE_ADI_TAX_CRP
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_HIRE_DATE in date
83 ,P_LEGAL_EMPLOYER in varchar2
84 ,P_TAX_FILE_NUMBER in varchar2
85 ,P_TAX_FREE_THRESHOLD in varchar2
86 ,P_AUSTRALIAN_RESIDENT in varchar2
87 ,P_HECS in varchar2
88 ,P_SFSS in varchar2
89 ,P_LEAVE_LOADING in varchar2
90 ,P_BASIS_OF_PAYMENT in varchar2
91 ,P_DECLARATION_SIGNED_DATE in varchar2
92 ,P_MEDICARE_LEVY_SURCHARGE in varchar2
93 ,P_MEDICARE_LEVY_EXEMPTION in varchar2
94 ,P_MEDICARE_LEVY_DEP_CHILDREN in varchar2 default null
95 ,P_MEDICARE_LEVY_SPOUSE in varchar2
96 ,P_TAX_VARIATION_TYPE in varchar2
97 ,P_TAX_VARIATION_AMOUNT in number default null
98 ,I_TAX_VARIATION_AMOUNT in varchar2 default 'N'
99 ,P_TAX_VARIATION_BONUS in varchar2
100 ,P_REBATE_AMOUNT in number default null
101 ,I_REBATE_AMOUNT in varchar2 default 'N'
102 ,P_SAVINGS_REBATE in varchar2
103 ,P_FTB_CLAIM in varchar2
104 ,P_SENIOR_AUSTRALIAN in varchar2
105 ,P_EXEMPT_FLOOD_LEVY in varchar2 default null
106 ,P_MLS_RATE in varchar2 default null
107 ,P_EFFECTIVE_DATE in date
108 ,P_ASSIGNMENT_USER_KEY in varchar2
109 ,P_PAYROLL_NAME in varchar2) is
110 blid number := p_data_pump_batch_line_id;
111 begin
112 if blid is not null then
113 delete from hr_pump_batch_lines where batch_line_id = blid;
114 delete from hr_pump_batch_exceptions
115 where source_type = 'BATCH_LINE' and source_id = blid;
116 end if;
117 insert into hr_pump_batch_lines
118 (batch_id
119 ,batch_line_id
120 ,business_group_name
121 ,api_module_id
122 ,line_status
123 ,user_sequence
124 ,link_value
125 ,pval001
126 ,pval002
127 ,pval003
128 ,pval004
129 ,pval005
133 ,pval009
130 ,pval006
131 ,pval007
132 ,pval008
134 ,pval010
135 ,pval011
136 ,pval012
137 ,pval013
138 ,pval014
139 ,pval015
140 ,pval016
141 ,pval017
142 ,pval018
143 ,pval019
144 ,pval020
145 ,pval021
146 ,pval022
147 ,pval023
148 ,pval024
149 ,pval025
150 ,pval026)
151 values
152 (p_batch_id
153 ,nvl(blid,hr_pump_batch_lines_s.nextval)
154 ,p_data_pump_business_grp_name
155 ,3620
156 ,'U'
157 ,p_user_sequence
158 ,p_link_value
159 ,dc(P_HIRE_DATE)
160 ,P_LEGAL_EMPLOYER
161 ,P_TAX_FILE_NUMBER
162 ,P_TAX_FREE_THRESHOLD
163 ,P_AUSTRALIAN_RESIDENT
164 ,P_HECS
165 ,P_SFSS
166 ,P_LEAVE_LOADING
167 ,P_BASIS_OF_PAYMENT
168 ,P_DECLARATION_SIGNED_DATE
169 ,P_MEDICARE_LEVY_SURCHARGE
170 ,P_MEDICARE_LEVY_EXEMPTION
171 ,P_MEDICARE_LEVY_DEP_CHILDREN
172 ,P_MEDICARE_LEVY_SPOUSE
173 ,P_TAX_VARIATION_TYPE
174 ,nd(P_TAX_VARIATION_AMOUNT,I_TAX_VARIATION_AMOUNT)
175 ,P_TAX_VARIATION_BONUS
176 ,nd(P_REBATE_AMOUNT,I_REBATE_AMOUNT)
177 ,P_SAVINGS_REBATE
178 ,P_FTB_CLAIM
179 ,P_SENIOR_AUSTRALIAN
180 ,P_EXEMPT_FLOOD_LEVY
181 ,P_MLS_RATE
182 ,dc(P_EFFECTIVE_DATE)
183 ,P_ASSIGNMENT_USER_KEY
184 ,P_PAYROLL_NAME);
185 end insert_batch_lines;
186 --
187 procedure call
188 (p_business_group_id in number,
189 p_batch_line_id     in number) is
190 cursor cr is
191 select l.rowid myrowid,
192 decode(l.pval001,cn,dn,d(l.pval001)) p1,
193 decode(l.pval002,cn,vn,l.pval002) p2,
194 decode(l.pval003,cn,vn,l.pval003) p3,
195 decode(l.pval004,cn,vn,
196  hr_pump_get.gl(l.pval004,'YES_NO',d(l.pval024),vn)) p4,
197 decode(l.pval005,cn,vn,
198  hr_pump_get.gl(l.pval005,'YES_NO',d(l.pval024),vn)) p5,
199 decode(l.pval006,cn,vn,
200  hr_pump_get.gl(l.pval006,'YES_NO',d(l.pval024),vn)) p6,
201 decode(l.pval007,cn,vn,
202  hr_pump_get.gl(l.pval007,'YES_NO',d(l.pval024),vn)) p7,
203 decode(l.pval008,cn,vn,
204  hr_pump_get.gl(l.pval008,'YES_NO',d(l.pval024),vn)) p8,
205 decode(l.pval009,cn,vn,
206  hr_pump_get.gl(l.pval009,'AU_TAX_PAYMENT_BASIS',d(l.pval024),vn)) p9,
207 decode(l.pval010,cn,vn,l.pval010) p10,
208 decode(l.pval011,cn,vn,
209  hr_pump_get.gl(l.pval011,'YES_NO',d(l.pval024),vn)) p11,
210 decode(l.pval012,cn,vn,
211  hr_pump_get.gl(l.pval012,'AU_MED_LEV_VAR',d(l.pval024),vn)) p12,
212 decode(l.pval013,cn,vn,vn,vh,l.pval013) p13,
213 l.pval013 d13,
214 decode(l.pval014,cn,vn,
215  hr_pump_get.gl(l.pval014,'YES_NO',d(l.pval024),vn)) p14,
216 decode(l.pval015,cn,vn,
217  hr_pump_get.gl(l.pval015,'AU_TAX_VARIATION',d(l.pval024),vn)) p15,
218 decode(l.pval016,cn,nn,vn,nh,n(l.pval016)) p16,
219 l.pval016 d16,
220 decode(l.pval017,cn,vn,l.pval017) p17,
221 decode(l.pval018,cn,nn,vn,nh,n(l.pval018)) p18,
222 l.pval018 d18,
223 decode(l.pval019,cn,vn,
224  hr_pump_get.gl(l.pval019,'YES_NO',d(l.pval024),vn)) p19,
225 decode(l.pval020,cn,vn,
226  hr_pump_get.gl(l.pval020,'YES_NO',d(l.pval024),vn)) p20,
227 decode(l.pval021,cn,vn,
228  hr_pump_get.gl(l.pval021,'AU_TAX_SENIOR',d(l.pval024),vn)) p21,
229 decode(l.pval022,cn,vn,vn,vh,l.pval022) p22,
230 l.pval022 d22,
231 decode(l.pval023,cn,vn,vn,vh,l.pval023) p23,
232 l.pval023 d23,
233 decode(l.pval024,cn,dn,d(l.pval024)) p24,
234 decode(l.pval025,cn,vn,l.pval025) p25,
235 decode(l.pval026,cn,vn,l.pval026) p26
236 from hr_pump_batch_lines l
237 where l.batch_line_id = p_batch_line_id;
238 --
239 c cr%rowtype;
240 l_validate boolean := false;
241 L_ASSIGNMENT_ID number;
242 L_PAYROLL_ID number;
243 --
244 begin
245 hr_data_pump.entry('call');
246 open cr;
247 fetch cr into c;
248 if cr%notfound then
249 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
250 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
251 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
252 hr_utility.set_message_token('VALUE',p_batch_line_id);
253 hr_utility.raise_error;
254 end if;
255 --
256 if c.p25 is null then
257 L_ASSIGNMENT_ID:=nn;
258 else
259 L_ASSIGNMENT_ID := 
260 hr_pump_get.GET_ASSIGNMENT_ID
261 (P_ASSIGNMENT_USER_KEY => c.p25);
262 end if;
263 --
264 if c.p26 is null or
265 c.p24 is null then
266 L_PAYROLL_ID:=nn;
267 else
268 L_PAYROLL_ID := 
269 hr_pump_get.GET_PAYROLL_ID
270 (P_PAYROLL_NAME => c.p26
271 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
272 ,P_EFFECTIVE_DATE => c.p24);
273 end if;
274 --
275 hr_data_pump.api_trc_on;
276 HR_AU_TAX_API.UPDATE_ADI_TAX_CRP
277 (p_validate => l_validate
278 ,P_ASSIGNMENT_ID => L_ASSIGNMENT_ID
279 ,P_HIRE_DATE => c.p1
280 ,p_business_group_id => p_business_group_id
281 ,P_PAYROLL_ID => L_PAYROLL_ID
282 ,P_LEGAL_EMPLOYER => c.p2
283 ,P_TAX_FILE_NUMBER => c.p3
284 ,P_TAX_FREE_THRESHOLD => c.p4
285 ,P_AUSTRALIAN_RESIDENT => c.p5
286 ,P_HECS => c.p6
287 ,P_SFSS => c.p7
288 ,P_LEAVE_LOADING => c.p8
289 ,P_BASIS_OF_PAYMENT => c.p9
290 ,P_DECLARATION_SIGNED_DATE => c.p10
291 ,P_MEDICARE_LEVY_SURCHARGE => c.p11
292 ,P_MEDICARE_LEVY_EXEMPTION => c.p12
293 ,P_MEDICARE_LEVY_DEP_CHILDREN => c.p13
294 ,P_MEDICARE_LEVY_SPOUSE => c.p14
295 ,P_TAX_VARIATION_TYPE => c.p15
296 ,P_TAX_VARIATION_AMOUNT => c.p16
297 ,P_TAX_VARIATION_BONUS => c.p17
298 ,P_REBATE_AMOUNT => c.p18
299 ,P_SAVINGS_REBATE => c.p19
300 ,P_FTB_CLAIM => c.p20
301 ,P_SENIOR_AUSTRALIAN => c.p21
302 ,P_EXEMPT_FLOOD_LEVY => c.p22
303 ,P_MLS_RATE => c.p23
304 ,P_EFFECTIVE_DATE => c.p24);
305 hr_data_pump.api_trc_off;
306 
307 --
308 
309 --
310 close cr;
311 --
315    if cr%isopen then
312 hr_data_pump.exit('call');
313 exception
314  when hr_multi_message.error_message_exist then
316     close cr;
317    end if;
318    hr_pump_utils.set_multi_msg_error_flag(true);
319  when others then
320  if cr%isopen then
321   close cr;
322  end if;
323  raise;
324 end call;
325 end hrdpp_UPDATE_ADI_TAX_CRP;