[Home] [Help]
Skip to content
PACKAGE BODY: APPS.PAY_SA_EFT
Source
1 package body PAY_SA_EFT as
2 /* $Header: pysaeftp.pkb 120.1 2010/10/05 07:43:37 bkeshary ship $ */
3 g_package varchar2(33) := 'PAY_SA_PAYFILE.';
4 -- Global Variables
5 hr_formula_error EXCEPTION;
6 g_formula_exists BOOLEAN := TRUE;
7 g_formula_cached BOOLEAN := FALSE;
8 g_formula_id ff_formulas_f.formula_id%TYPE;
9 g_formula_name ff_formulas_f.formula_name%TYPE;
10 -----------------------------------------------------------------------------
11 --
12 FUNCTION get_customer_formula_header (
13 p_Date_Earned IN DATE
14 ,p_payment_method_id IN number
15 ,p_business_group_id IN number
16 ,p_payroll_id IN number
17 ,p_payroll_action_id IN number
18 ,p_creation_date IN VARCHAR2
19 ,p_process_date IN VARCHAR2
20 ,p_count IN VARCHAR2
21 ,p_sum IN VARCHAR2
22 ,p_write_text1 OUT NOCOPY VARCHAR2
23 ,p_write_text2 OUT NOCOPY VARCHAR2
24 ,p_write_text3 OUT NOCOPY VARCHAR2
25 ,p_write_text4 OUT NOCOPY VARCHAR2
26 ,p_write_text5 OUT NOCOPY VARCHAR2
30 ,p_report_text4 OUT NOCOPY VARCHAR2
27 ,p_report_text1 OUT NOCOPY VARCHAR2
28 ,p_report_text2 OUT NOCOPY VARCHAR2
29 ,p_report_text3 OUT NOCOPY VARCHAR2
31 ,p_report_text5 OUT NOCOPY VARCHAR2
32 ,p_report_text6 OUT NOCOPY VARCHAR2
33 ,p_report_text7 OUT NOCOPY VARCHAR2
34 ,p_report_text8 OUT NOCOPY VARCHAR2
35 ,p_report_text9 OUT NOCOPY VARCHAR2
36 ,p_report_text10 OUT NOCOPY VARCHAR2) return varchar2 IS
37 l_header varchar2(100);
38 l_body varchar2(100);
39 l_footer varchar2(100);
40 l_inputs ff_exec.inputs_t;
41 l_outputs ff_exec.outputs_t;
42 /* cursor c_get_name(p_payment_method_id NUMBER) is
43 select PMETH_INFORMATION1,PMETH_INFORMATION2,PMETH_INFORMATION3
44 from PAY_ORG_PAYMENT_METHODS_F where ORG_PAYMENT_METHOD_ID = p_payment_method_id; */
45
46 /* Added for Bug 10085376 */
47
48 cursor c_get_name(p_payment_method_id NUMBER,p_Date_Earned DATE) is
49 select PMETH_INFORMATION1,PMETH_INFORMATION2,PMETH_INFORMATION3
50 from PAY_ORG_PAYMENT_METHODS_F
51 where ORG_PAYMENT_METHOD_ID = p_payment_method_id
52 and p_Date_Earned between effective_start_date and effective_end_date ;
53
54 begin
55 --hr_utility.trace_on(null,'EFT');
56 l_payment_method_id := p_payment_method_id;
57 open c_get_name(p_payment_method_id,p_Date_Earned);
58 fetch c_get_name into l_id_header,l_id_body,l_id_footer;
59 close c_get_name;
60 l_inputs(1).name := 'DATE_EARNED';
61 l_inputs(1).value := fnd_date.date_to_canonical(p_date_earned);
62 l_inputs(2).name := 'ORG_PAY_METHOD_ID';
63 l_inputs(2).value := p_payment_method_id;
64 l_inputs(3).name := 'BUSINESS_GROUP_ID';
65 l_inputs(3).value := p_business_group_id;
66 l_inputs(4).name := 'PAYROLL_ID';
67 l_inputs(4).value := p_payroll_id;
68 l_inputs(5).name := 'PAYROLL_ACTION_ID';
69 l_inputs(5).value := p_payroll_action_id;
70 l_inputs(6).name := 'CREATION_DATE';
71 l_inputs(6).value := p_creation_date;
72 l_inputs(7).name := 'PROCESS_DATE';
73 l_inputs(7).value := p_process_date;
74 l_inputs(8).name := 'COUNT1';
75 l_inputs(8).value := p_count;
76 l_inputs(9).name := 'SUM1';
77 l_inputs(9).value := p_sum;
78
79 l_outputs(1).name := 'WRITE_TEXT1';
80 l_outputs(2).name := 'WRITE_TEXT2';
81 l_outputs(3).name := 'WRITE_TEXT3';
82 l_outputs(4).name := 'WRITE_TEXT4';
83 l_outputs(5).name := 'WRITE_TEXT5';
84 l_outputs(6).name := 'REPORT1_TEXT1';
85 l_outputs(7).name := 'REPORT1_TEXT2';
86 l_outputs(8).name := 'REPORT1_TEXT3';
87 l_outputs(9).name := 'REPORT1_TEXT4';
88 l_outputs(10).name := 'REPORT1_TEXT5';
89 l_outputs(11).name := 'REPORT2_TEXT1';
90 l_outputs(12).name := 'REPORT2_TEXT2';
91 l_outputs(13).name := 'REPORT2_TEXT3';
92 l_outputs(14).name := 'REPORT2_TEXT4';
93 l_outputs(15).name := 'REPORT2_TEXT5';
94 IF l_id_header is not null then
95 run_formula
96 (l_id_header
97 ,p_Date_Earned
98 ,l_inputs
99 ,l_outputs);
100 END IF;
101 IF l_outputs.count > 0 and l_outputs.count > 0 THEN
102 FOR i IN l_outputs.first..l_outputs.last LOOP
103 IF l_outputs(i).name like 'WRITE_TEXT1' THEN
104 p_write_text1 := l_outputs(i).value;
105 ELSIF l_outputs(i).name like 'WRITE_TEXT2' THEN
106 p_write_text2 := l_outputs(i).value;
107 ELSIF l_outputs(i).name like 'WRITE_TEXT3' THEN
108 p_write_text3 := l_outputs(i).value;
109 ELSIF l_outputs(i).name like 'WRITE_TEXT4' THEN
110 p_write_text4 := l_outputs(i).value;
111 ELSIF l_outputs(i).name like 'WRITE_TEXT5' THEN
112 p_write_text5 := l_outputs(i).value;
113 ELSIF l_outputs(i).name like 'REPORT1_TEXT1' THEN
114 p_report_text1 := l_outputs(i).value;
115 ELSIF l_outputs(i).name like 'REPORT1_TEXT2' THEN
116 p_report_text2 := l_outputs(i).value;
117 ELSIF l_outputs(i).name like 'REPORT1_TEXT3' THEN
118 p_report_text3 := l_outputs(i).value;
119 ELSIF l_outputs(i).name like 'REPORT1_TEXT4' THEN
120 p_report_text4 := l_outputs(i).value;
121 ELSIF l_outputs(i).name like 'REPORT1_TEXT5' THEN
122 p_report_text5 := l_outputs(i).value;
123 ELSIF l_outputs(i).name like 'REPORT2_TEXT1' THEN
124 p_report_text6 := l_outputs(i).value;
125 ELSIF l_outputs(i).name like 'REPORT2_TEXT2' THEN
126 p_report_text7 := l_outputs(i).value;
127 ELSIF l_outputs(i).name like 'REPORT2_TEXT3' THEN
128 p_report_text8 := l_outputs(i).value;
129 ELSIF l_outputs(i).name like 'REPORT2_TEXT4' THEN
130 p_report_text9 := l_outputs(i).value;
131 ELSIF l_outputs(i).name like 'REPORT2_TEXT5' THEN
132 p_report_text10 := l_outputs(i).value;
133 END IF;
134 END LOOP;
135 END IF;
136 RETURN '1';
137 END get_customer_formula_header;
138 --
139 FUNCTION get_customer_formula_body (
140 p_assignment_id IN number,
144 p_payroll_id IN number,
141 p_business_group_id IN number,
142 p_per_pay_method_id IN number,
143 p_date_earned IN date,
145 p_payroll_action_id IN number,
146 p_assignment_action_id IN number,
147 p_organization_id IN number,
148 p_tax_unit_id IN number,
149 p_amount IN varchar2,
150 p_first_name IN varchar2,
151 p_last_name IN varchar2,
152 p_initials IN varchar2,
153 p_emp_no IN varchar2,
154 p_asg_no IN varchar2,
155 p_count IN varchar2,
156 p_sum IN varchar2
157 ,p_write_text1 OUT NOCOPY VARCHAR2
158 ,p_write_text2 OUT NOCOPY VARCHAR2
159 ,p_write_text3 OUT NOCOPY VARCHAR2
160 ,p_write_text4 OUT NOCOPY VARCHAR2
161 ,p_write_text5 OUT NOCOPY VARCHAR2
162 ,p_report_text1 OUT NOCOPY VARCHAR2
163 ,p_report_text2 OUT NOCOPY VARCHAR2
164 ,p_report_text3 OUT NOCOPY VARCHAR2
165 ,p_report_text4 OUT NOCOPY VARCHAR2
166 ,p_report_text5 OUT NOCOPY VARCHAR2
167 ,p_report_text6 OUT NOCOPY VARCHAR2
168 ,p_report_text7 OUT NOCOPY VARCHAR2
169 ,p_report_text8 OUT NOCOPY VARCHAR2
170 ,p_report_text9 OUT NOCOPY VARCHAR2
171 ,p_report_text10 OUT NOCOPY VARCHAR2
172 ,p_local_nationality IN VARCHAR2) return varchar2 IS
173 l_header varchar2(100);
174 l_body varchar2(100);
175 l_footer varchar2(100);
176 l_inputs ff_exec.inputs_t;
177 l_outputs ff_exec.outputs_t;
178
179 /*cursor c_get_name(p_payment_method_id NUMBER) is
180 select PMETH_INFORMATION1,PMETH_INFORMATION2,PMETH_INFORMATION3
181 from PAY_ORG_PAYMENT_METHODS_F where ORG_PAYMENT_METHOD_ID = p_payment_method_id; */
182
183 /* Added for Bug 10085376 */
184
185 cursor c_get_name(p_payment_method_id NUMBER,p_Date_Earned DATE) is
186 select PMETH_INFORMATION1,PMETH_INFORMATION2,PMETH_INFORMATION3
187 from PAY_ORG_PAYMENT_METHODS_F
188 where ORG_PAYMENT_METHOD_ID = p_payment_method_id
189 and p_Date_Earned between effective_start_date and effective_end_date ;
190
191 begin
192 l_inputs(1).name := 'ASSIGNMENT_ID';
193 l_inputs(1).value := p_assignment_id;
194 l_inputs(2).name := 'BUSINESS_GROUP_ID';
195 l_inputs(2).value := p_business_group_id;
196 l_inputs(3).name := 'PER_PAY_METHOD_ID';
197 l_inputs(3).value := p_per_pay_method_id;
198 l_inputs(4).name := 'DATE_EARNED';
199 l_inputs(4).value := fnd_date.date_to_canonical(p_date_earned);
200 l_inputs(5).name := 'PAYROLL_ID';
201 l_inputs(5).value := p_payroll_id;
202 l_inputs(6).name := 'PAYROLL_ACTION_ID';
203 l_inputs(6).value := p_payroll_action_id;
204 l_inputs(7).name := 'ASSIGNMENT_ACTION_ID';
205 l_inputs(7).value := p_assignment_action_id;
206 l_inputs(8).name := 'ORGANIZATION_ID';
207 l_inputs(8).value := p_organization_id;
208 l_inputs(9).name := 'TAX_UNIT_ID';
209 l_inputs(9).value := p_tax_unit_id;
210 l_inputs(10).name := 'AMOUNT';
211 l_inputs(10).value := p_amount;
212 l_inputs(11).name := 'FIRST_NAME';
213 l_inputs(11).value := p_first_name;
214 l_inputs(12).name := 'LAST_NAME';
215 l_inputs(12).value := p_last_name;
216 l_inputs(13).name := 'INITIALS';
217 l_inputs(13).value := p_initials;
218 l_inputs(14).name := 'EMP_NO';
219 l_inputs(14).value := p_emp_no;
220 l_inputs(15).name := 'ASG_NO';
221 l_inputs(15).value := p_asg_no;
222 l_inputs(16).name := 'TRANSFER_COUNT1';
223 l_inputs(16).value := p_count;
224 l_inputs(17).name := 'TRANSFER_SUM1';
225 l_inputs(17).value := p_sum;
226 l_inputs(18).name := 'ORG_PAY_METHOD_ID';
227 l_inputs(18).value := l_payment_method_id;
228 l_inputs(19).name := 'LOCAL_NATIONALITY';
229 l_inputs(19).value := p_local_nationality;
230
231
232 l_outputs(1).name := 'WRITE_TEXT1';
233 l_outputs(2).name := 'WRITE_TEXT2';
234 l_outputs(3).name := 'WRITE_TEXT3';
235 l_outputs(4).name := 'WRITE_TEXT4';
236 l_outputs(5).name := 'WRITE_TEXT5';
237 l_outputs(6).name := 'REPORT1_TEXT1';
238 l_outputs(7).name := 'REPORT1_TEXT2';
239 l_outputs(8).name := 'REPORT1_TEXT3';
240 l_outputs(9).name := 'REPORT1_TEXT4';
241 l_outputs(10).name := 'REPORT1_TEXT5';
242 l_outputs(11).name := 'REPORT2_TEXT1';
243 l_outputs(12).name := 'REPORT2_TEXT2';
247 IF l_id_body is not null then
244 l_outputs(13).name := 'REPORT2_TEXT3';
245 l_outputs(14).name := 'REPORT2_TEXT4';
246 l_outputs(15).name := 'REPORT2_TEXT5';
248 run_formula
249 (l_id_body
250 ,p_Date_Earned
251 ,l_inputs
252 ,l_outputs);
253 END IF;
254 IF l_outputs.count > 0 and l_outputs.count > 0 THEN
255 FOR i IN l_outputs.first..l_outputs.last LOOP
256 IF l_outputs(i).name like 'WRITE_TEXT1' THEN
257 p_write_text1 := l_outputs(i).value;
258 ELSIF l_outputs(i).name like 'WRITE_TEXT2' THEN
259 p_write_text2 := l_outputs(i).value;
260 ELSIF l_outputs(i).name like 'WRITE_TEXT3' THEN
261 p_write_text3 := l_outputs(i).value;
262 ELSIF l_outputs(i).name like 'WRITE_TEXT4' THEN
263 p_write_text4 := l_outputs(i).value;
264 ELSIF l_outputs(i).name like 'WRITE_TEXT5' THEN
265 p_write_text5 := l_outputs(i).value;
266 ELSIF l_outputs(i).name like 'REPORT1_TEXT1' THEN
267 p_report_text1 := l_outputs(i).value;
268 ELSIF l_outputs(i).name like 'REPORT1_TEXT2' THEN
269 p_report_text2 := l_outputs(i).value;
270 ELSIF l_outputs(i).name like 'REPORT1_TEXT3' THEN
271 p_report_text3 := l_outputs(i).value;
272 ELSIF l_outputs(i).name like 'REPORT1_TEXT4' THEN
273 p_report_text4 := l_outputs(i).value;
274 ELSIF l_outputs(i).name like 'REPORT1_TEXT5' THEN
275 p_report_text5 := l_outputs(i).value;
276 ELSIF l_outputs(i).name like 'REPORT2_TEXT1' THEN
277 p_report_text6 := l_outputs(i).value;
278 ELSIF l_outputs(i).name like 'REPORT2_TEXT2' THEN
279 p_report_text7 := l_outputs(i).value;
280 ELSIF l_outputs(i).name like 'REPORT2_TEXT3' THEN
281 p_report_text8 := l_outputs(i).value;
282 ELSIF l_outputs(i).name like 'REPORT2_TEXT4' THEN
283 p_report_text9 := l_outputs(i).value;
284 ELSIF l_outputs(i).name like 'REPORT2_TEXT5' THEN
285 p_report_text10 := l_outputs(i).value;
286 END IF;
287 END LOOP;
288 END IF;
289 RETURN '1';
290 end get_customer_formula_body;
291 ------
292 -------------
293 --
294 FUNCTION get_customer_formula_footer (
295 p_Date_Earned IN DATE
296 ,p_payment_method_id IN number
297 ,p_business_group_id IN number
298 ,p_payroll_id IN number
299 ,p_payroll_action_id IN number
300 ,p_creation_date IN VARCHAR2
301 ,p_process_date IN VARCHAR2
302 ,p_count IN VARCHAR2
303 ,p_sum IN VARCHAR2
304 ,p_write_text1 OUT NOCOPY VARCHAR2
305 ,p_write_text2 OUT NOCOPY VARCHAR2
306 ,p_write_text3 OUT NOCOPY VARCHAR2
307 ,p_write_text4 OUT NOCOPY VARCHAR2
308 ,p_write_text5 OUT NOCOPY VARCHAR2
309 ,p_report_text1 OUT NOCOPY VARCHAR2
310 ,p_report_text2 OUT NOCOPY VARCHAR2
311 ,p_report_text3 OUT NOCOPY VARCHAR2
312 ,p_report_text4 OUT NOCOPY VARCHAR2
313 ,p_report_text5 OUT NOCOPY VARCHAR2
314 ,p_report_text6 OUT NOCOPY VARCHAR2
315 ,p_report_text7 OUT NOCOPY VARCHAR2
316 ,p_report_text8 OUT NOCOPY VARCHAR2
317 ,p_report_text9 OUT NOCOPY VARCHAR2
318 ,p_report_text10 OUT NOCOPY VARCHAR2) return varchar2 IS
319 l_header varchar2(100);
320 l_body varchar2(100);
321 l_footer varchar2(100);
322 l_inputs ff_exec.inputs_t;
323 l_outputs ff_exec.outputs_t;
324
325 /*cursor c_get_name(p_payment_method_id NUMBER) is
326 select PMETH_INFORMATION1,PMETH_INFORMATION2,PMETH_INFORMATION3
327 from PAY_ORG_PAYMENT_METHODS_F where ORG_PAYMENT_METHOD_ID = p_payment_method_id; */
328
329 /* Added for Bug 10085376 */
330
331 cursor c_get_name(p_payment_method_id NUMBER,p_Date_Earned DATE) is
332 select PMETH_INFORMATION1,PMETH_INFORMATION2,PMETH_INFORMATION3
333 from PAY_ORG_PAYMENT_METHODS_F
334 where ORG_PAYMENT_METHOD_ID = p_payment_method_id
335 and p_Date_Earned between effective_start_date and effective_end_date ;
336
337 begin
338 open c_get_name(p_payment_method_id,p_Date_Earned);
339 fetch c_get_name into l_id_header,l_id_body,l_id_footer;
340 close c_get_name;
341 l_inputs(1).name := 'DATE_EARNED';
342 l_inputs(1).value := fnd_date.date_to_canonical(p_date_earned);
343 l_inputs(2).name := 'ORG_PAY_METHOD_ID';
344 l_inputs(2).value := p_payment_method_id;
345 l_inputs(3).name := 'BUSINESS_GROUP_ID';
346 l_inputs(3).value := p_business_group_id;
347 l_inputs(4).name := 'PAYROLL_ID';
348 l_inputs(4).value := p_payroll_id;
349 l_inputs(5).name := 'PAYROLL_ACTION_ID';
350 l_inputs(5).value := p_payroll_action_id;
351 l_inputs(6).name := 'CREATION_DATE';
352 l_inputs(6).value := p_creation_date;
353 l_inputs(7).name := 'PROCESS_DATE';
354 l_inputs(7).value := p_process_date;
355 l_inputs(8).name := 'COUNT1';
356 l_inputs(8).value := p_count;
357 l_inputs(9).name := 'SUM1';
358 l_inputs(9).value := p_sum;
359 l_outputs(1).name := 'WRITE_TEXT1';
360 l_outputs(2).name := 'WRITE_TEXT2';
361 l_outputs(3).name := 'WRITE_TEXT3';
362 l_outputs(4).name := 'WRITE_TEXT4';
363 l_outputs(5).name := 'WRITE_TEXT5';
364 l_outputs(6).name := 'REPORT1_TEXT1';
365 l_outputs(7).name := 'REPORT1_TEXT2';
366 l_outputs(8).name := 'REPORT1_TEXT3';
367 l_outputs(9).name := 'REPORT1_TEXT4';
368 l_outputs(10).name := 'REPORT1_TEXT5';
369 l_outputs(11).name := 'REPORT2_TEXT1';
370 l_outputs(12).name := 'REPORT2_TEXT2';
371 l_outputs(13).name := 'REPORT2_TEXT3';
372 l_outputs(14).name := 'REPORT2_TEXT4';
373 l_outputs(15).name := 'REPORT2_TEXT5';
374 IF l_id_footer is not null then
375 run_formula
376 (l_id_footer
377 ,p_Date_Earned
378 ,l_inputs
379 ,l_outputs);
380 END IF;
381 IF l_outputs.count > 0 and l_outputs.count > 0 THEN
382 FOR i IN l_outputs.first..l_outputs.last LOOP
383 IF l_outputs(i).name like 'WRITE_TEXT1' THEN
384 p_write_text1 := l_outputs(i).value;
385 ELSIF l_outputs(i).name like 'WRITE_TEXT2' THEN
386 p_write_text2 := l_outputs(i).value;
387 ELSIF l_outputs(i).name like 'WRITE_TEXT3' THEN
388 p_write_text3 := l_outputs(i).value;
389 ELSIF l_outputs(i).name like 'WRITE_TEXT4' THEN
390 p_write_text4 := l_outputs(i).value;
391 ELSIF l_outputs(i).name like 'WRITE_TEXT5' THEN
392 p_write_text5 := l_outputs(i).value;
393 ELSIF l_outputs(i).name like 'REPORT1_TEXT1' THEN
394 p_report_text1 := l_outputs(i).value;
395 ELSIF l_outputs(i).name like 'REPORT1_TEXT2' THEN
396 p_report_text2 := l_outputs(i).value;
397 ELSIF l_outputs(i).name like 'REPORT1_TEXT3' THEN
398 p_report_text3 := l_outputs(i).value;
399 ELSIF l_outputs(i).name like 'REPORT1_TEXT4' THEN
400 p_report_text4 := l_outputs(i).value;
401 ELSIF l_outputs(i).name like 'REPORT1_TEXT5' THEN
402 p_report_text5 := l_outputs(i).value;
403 ELSIF l_outputs(i).name like 'REPORT2_TEXT1' THEN
404 p_report_text6 := l_outputs(i).value;
405 ELSIF l_outputs(i).name like 'REPORT2_TEXT2' THEN
406 p_report_text7 := l_outputs(i).value;
407 ELSIF l_outputs(i).name like 'REPORT2_TEXT3' THEN
408 p_report_text8 := l_outputs(i).value;
409 ELSIF l_outputs(i).name like 'REPORT2_TEXT4' THEN
410 p_report_text9 := l_outputs(i).value;
411 ELSIF l_outputs(i).name like 'REPORT2_TEXT5' THEN
412 p_report_text10 := l_outputs(i).value;
413 END IF;
414 END LOOP;
415 END IF;
416 RETURN '1';
417 end get_customer_formula_footer;
418 ---
419 ----------
420 -----
421 PROCEDURE run_formula(p_formula_id IN NUMBER
422 ,p_effective_date IN DATE
423 ,p_inputs IN ff_exec.inputs_t
424 ,p_outputs IN OUT NOCOPY ff_exec.outputs_t) IS
425 l_inputs ff_exec.inputs_t;
426 l_outputs ff_exec.outputs_t;
427 BEGIN
428 hr_utility.set_location('--In Formula ',20);
429 --
430 -- Initialize the formula
431 --
432 ff_exec.init_formula(p_formula_id, p_effective_date , l_inputs, l_outputs);
433 --
434 hr_utility.trace('after ff_exec');
435 -- Set up the input values
436 --
437 IF l_inputs.count > 0 and p_inputs.count > 0 THEN
438 FOR i IN l_inputs.first..l_inputs.last LOOP
439 FOR j IN p_inputs.first..p_inputs.last LOOP
440 IF l_inputs(i).name = p_inputs(j).name THEN
441 l_inputs(i).value := p_inputs(j).value;
442 exit;
443 END IF;
444 END LOOP;
445 END LOOP;
446 END IF;
447 --
448 -- Run the formula
449 --
450 hr_utility.trace('about to exec');
451 ff_exec.run_formula(l_inputs,l_outputs);
452 --
453 hr_utility.trace('After exec');
454 -- Populate the output table
455 --
456 IF l_outputs.count > 0 and p_inputs.count > 0 then
457 FOR i IN l_outputs.first..l_outputs.last LOOP
458 FOR j IN p_outputs.first..p_outputs.last LOOP
459 IF l_outputs(i).name = p_outputs(j).name THEN
460 p_outputs(j).value := l_outputs(i).value;
461 exit;
462 END IF;
463 END LOOP;
464 END LOOP;
465 END IF;
466 hr_utility.set_location('--Leaving Formula ',21);
467 EXCEPTION
468 WHEN hr_formula_error THEN
469 fnd_message.set_name('PER','FFX22J_FORMULA_NOT_FOUND');
470 fnd_message.set_token('1', g_formula_name);
471 fnd_message.raise_error;
472 WHEN OTHERS THEN
473 raise;
474 --
475 END run_formula;
476
477
478 END PAY_SA_EFT;