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