DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_AE_EFT

Source


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