[Home] [Help]
PACKAGE BODY: APPS.PAY_GB_EYCTL
Source
1 PACKAGE BODY PAY_GB_EYCTL AS
2 /* $Header: payeyctl.pkb 115.2 99/10/07 04:08:05 porting ship $ */
3 /* Copyright (c) Oracle Corporation 1995. All rights reserved
4
5 Name : PAYEYCTL
6 Description : End of year control process
7 Author : P.Driver
8 Date Created : 17/11/95
9
10 Change List
11 -----------
12 Date Name Vers Bug No Description
13 +---------+---------------+--------+----------+-------------------------+
14 23/11/95 P.Driver Fix bugs in P60 call and
15 mag tape parameters. The
16 call to mag tape proc
17 altered.
18 05/12/95 P.Driver Only call P60 if no
19 process has failed.
20 24/04/96 T.Inekuku Added and set failure
21 variable to true if error
22 with extract, also added
23 return to terminate.
24 14/06/96 C.Barbieri The current version do not
25 delete any data in the DB.
26 Now the EOY Process is
27 aborted if one of the child
28 process has an error.
29 30/07/96 J.Alloun Added error handling.
30 05/08/96 aswong Added exit at the end.
31 07/10/99 P Davies Changed each occurrence of
32 DBMS_Output.Put_Line with
33 hr_utility.trace.
34 */
35
36
37 PROCEDURE eoy_control( ERRBUF OUT VARCHAR2
38 ,RETCODE OUT NUMBER
39 ,p_permit_no IN VARCHAR2
40 ,p_tax_year IN NUMBER
41 ,p_eoy_mode IN VARCHAR2
42 ,p_business_group_id IN NUMBER
43 ,p_tax_dist_ref IN VARCHAR2
44 ,p_sort_order1 IN VARCHAR2
45 ,p_sort_order2 IN VARCHAR2
46 ,p_sort_order3 IN VARCHAR2
47 ,p_sort_order4 IN VARCHAR2
48 ,p_sort_order5 IN VARCHAR2
49 ,p_sort_order6 IN VARCHAR2
50 ,p_sort_order7 IN VARCHAR2
51 ,p_align IN VARCHAR2
52 ,p_ni_y_flag In VARCHAR2) IS
53 --
54 -- This procedure controls the execution of the EOY process.
55 -- The extract is called first followed by the mag tape process,
56 -- the p35 listing and, only if the full eoy mode is set, the p60
57 -- report is run last.
58 --
59 l_extract_id NUMBER;
60 l_ass_id NUMBER;
61 l_mag_id NUMBER;
62 l_p35_id NUMBER;
63 l_p60_id NUMBER;
64 l_session_date DATE;
65 l_session_char VARCHAR2(11);
66 l_wait_outcome BOOLEAN;
67 l_phase VARCHAR2(80);
68 l_status VARCHAR2(80);
69 l_dev_phase VARCHAR2(80);
70 l_dev_status VARCHAR2(80);
71 l_message VARCHAR2(80);
72 l_request_id VARCHAR2(80);
73 l_file_name VARCHAR2(80);
74 l_errbuf VARCHAR2(1000);
75 l_retcode NUMBER(2);
76
77 --
78 PROG_FAILURE CONSTANT NUMBER := 2 ;
79 PROG_SUCCESS CONSTANT NUMBER := 0 ;
80 --
81 BEGIN
82
83 hr_utility.trace('Start EOY_CONTROL in PAYEYCTL.pkb');
84 l_session_date := TRUNC(SYSDATE);
85 l_session_char := TO_CHAR(TRUNC(SYSDATE),'DD-MON-YYYY');
86 l_request_id := fnd_profile.value('CONC_REQUEST_ID');
87 ------------------------------
88 -- Call EOY EXTRACT PROCESS --
89 ------------------------------
90 hr_utility.trace('Start EXTRACT PROCESS');
91 pay_year_end_extract.extract(
92 p_permit_no,
93 p_business_group_id,
94 p_tax_dist_ref,
95 p_tax_year,
96 l_request_id,
97 p_ni_y_flag,
98 l_retcode,
99 l_errbuf);
100 --
101 hr_utility.trace('Finished EXTRACT PROCESS');
102 hr_utility.trace('');
103 --
104 IF l_retcode = 0 THEN
105 errbuf := l_errbuf;
106 hr_utility.trace('EXTRACT returned failure message: see '||l_errbuf);
107 retcode := PROG_FAILURE ;
108 hr_utility.raise_error;
109 return;
110 END IF;
111 -------------------------------------
112 -- Call MULTIPLE ASSIGNMENT REPORT --
113 -------------------------------------
114 hr_utility.trace('');
115 hr_utility.trace('Start MULTIPLE ASSIGNMENT REPORT');
116 l_ass_id := fnd_request.submit_request(
117 application => 'PAY',
118 program => 'PAYYEMAR',
119 argument1 => l_request_id);
120 l_file_name := 'l' || TO_CHAR(l_ass_id) || '.req';
121 IF l_ass_id = 0 THEN
122 errbuf := 'Error calling the multiple assignments report ';
123 hr_utility.trace('MULTIPLE ASSIGNMENT REPORT returned failure message: see ' || l_file_name);
124 retcode := PROG_FAILURE ;
125 hr_utility.raise_error;
126 return ;
127 END IF;
128 -- Now commit request
129 COMMIT;
130 hr_utility.trace(' Submitted Req id: ' || TO_CHAR(l_ass_id) );
131 l_wait_outcome := fnd_concurrent.wait_for_request(
132 request_id => l_ass_id,
133 interval => 5,
134 phase => l_phase,
135 status => l_status,
136 dev_phase => l_dev_phase,
137 dev_status => l_dev_status,
138 message => l_message);
139
140 hr_utility.trace(' Status : '||l_dev_status);
141 hr_utility.trace(' Phase : '||l_dev_phase);
142 IF l_dev_phase = 'COMPLETE' AND l_dev_status <> 'NORMAL' THEN
143 errbuf := 'Error in the multiple assignments report ';
144 hr_utility.trace('MULTIPLE ASSIGNMENT REPORT returned failure message: see ' || l_file_name);
145 retcode := PROG_FAILURE ;
146 hr_utility.raise_error;
147 return;
148 END IF;
149 hr_utility.trace('Finished MULTIPLE ASSIGNMENT REPORT');
150 ---------------------------
151 -- Call MAG TAPE PROCESS --
152 ---------------------------
153 hr_utility.trace('');
154 hr_utility.trace('Start MAG TAPE PROCESS');
155 l_mag_id := fnd_request.submit_request(
156 application => 'PAY',
157 program => 'PYUMAG',
158 argument1 => 'pay_gb_eoy.eoy',
159 argument2 => NULL,
160 argument3 => NULL,
161 argument4 => l_session_char,
162 argument5 => 'PERMIT='||p_permit_no,
163 argument6 => 'EOY_MODE='||p_eoy_mode,
164 argument7 => 'TAX_DISTRICT_REFERENCE='
165 ||p_tax_dist_ref,
166 argument8 => 'BUSINESS_GROUP_ID='
167 ||p_business_group_id);
168
169 l_file_name := 'l' || TO_CHAR(l_mag_id) || '.req';
170 IF l_mag_id = 0 THEN
171 errbuf := 'Error calling the mag tape process';
172 hr_utility.trace('MAG TAPE PROCESS returned failure message: see ' || l_file_name);
173 retcode := PROG_FAILURE ;
174 hr_utility.raise_error;
175 return ;
176 END IF;
177 COMMIT;
178 hr_utility.trace(' Submitted Req id: ' || TO_CHAR(l_mag_id) );
179 l_wait_outcome := fnd_concurrent.wait_for_request(
180 request_id => l_mag_id,
181 interval => 5,
182 phase => l_phase,
183 status => l_status,
184 dev_phase => l_dev_phase,
185 dev_status => l_dev_status,
186 message => l_message);
187
188 hr_utility.trace(' Status : '||l_dev_status);
189 hr_utility.trace(' Phase : '||l_dev_phase);
190 IF l_dev_phase = 'COMPLETE' AND l_dev_status <> 'NORMAL' THEN
191 errbuf := 'Error in the mag tape process';
192 hr_utility.trace('MAG TAPE PROCESS returned failure message: see ' || l_file_name);
193 retcode := PROG_FAILURE ;
194 hr_utility.raise_error;
195 return;
196 END IF;
197 hr_utility.trace('Finished MAG TAPE PROCESS');
198 ----------------------
199 -- Call P35 PROCESS --
200 ----------------------
201 hr_utility.trace('');
202 hr_utility.trace('Start P35 REPORT');
203 l_p35_id := fnd_request.submit_request(
204 application => 'PAY',
205 program => 'PAYRPP35',
206 argument1 => l_mag_id,
207 argument2 => p_permit_no,
208 argument3 => p_tax_dist_ref,
209 argument4 => p_business_group_id);
210 -- Check the result of the p35 call
211 l_file_name := 'l' || TO_CHAR(l_p35_id) || '.req';
212 IF l_p35_id = 0 THEN
213 errbuf := 'Error calling the P35 report';
214 hr_utility.trace('P35 REPORT returned failure message: see ' || l_file_name);
215 retcode := PROG_FAILURE ;
216 hr_utility.raise_error;
217 return ;
218 END IF;
219 COMMIT;
220 hr_utility.trace(' Submitted Req id: ' || TO_CHAR(l_p35_id) );
221 l_wait_outcome := fnd_concurrent.wait_for_request(
222 request_id => l_p35_id,
223 phase => l_phase,
224 status => l_status,
225 dev_phase => l_dev_phase,
226 dev_status => l_dev_status,
227 message => l_message);
228 hr_utility.trace(' Status : '||l_dev_status);
229 hr_utility.trace(' Phase : '||l_dev_phase);
230 IF l_dev_phase = 'COMPLETE' AND l_dev_status <> 'NORMAL' THEN
231 errbuf := 'Error in the P35 report';
232 hr_utility.trace('P35 REPORT returned failure message: see ' || l_file_name);
233 retcode := PROG_FAILURE ;
234 hr_utility.raise_error;
235 return;
236 END IF;
237 hr_utility.trace('Finished P35 REPORT');
238 ----------------------
239 -- Call P60 PROCESS --
240 ----------------------
241 IF p_eoy_mode = 'F' THEN
242 hr_utility.trace('');
243 hr_utility.trace('Start P60 REPORT');
244 IF UPPER(NVL(p_align,'N')) = 'Y' THEN
245 l_p60_id := fnd_request.submit_request(
246 application => 'PAY',
247 program => 'PAYRPP60',
248 argument1 => p_permit_no,
249 argument2 => p_tax_year,
250 argument3 => p_sort_order1,
251 argument4 => p_sort_order2,
252 argument5 => p_sort_order3,
253 argument6 => p_sort_order4,
254 argument7 => p_sort_order5,
255 argument8 => p_sort_order6,
256 argument9 => p_sort_order7,
257 argument10 => p_business_group_id,
258 argument11 => p_align,
259 argument12 => p_tax_dist_ref);
260 l_file_name := 'l' || TO_CHAR(l_p60_id) || '.req';
261 IF l_p60_id = 0 THEN
262 errbuf := 'Error calling the P60 report';
263 hr_utility.trace('P60 REPORT returned failure message: see ' || l_file_name);
264 retcode := PROG_FAILURE ;
265 hr_utility.raise_error;
266 return ;
267 END IF;
268 COMMIT;
269 hr_utility.trace(' Submitted Req id: ' || TO_CHAR(l_p60_id) );
270 l_wait_outcome := fnd_concurrent.wait_for_request(
271 request_id => l_p60_id,
272 phase => l_phase,
273 status => l_status,
274 dev_phase => l_dev_phase,
275 dev_status => l_dev_status,
276 message => l_message);
277 hr_utility.trace(' Status : '||l_dev_status);
278 hr_utility.trace(' Phase : '||l_dev_phase);
279 IF l_dev_phase = 'COMPLETE' AND l_dev_status <> 'NORMAL' THEN
280 errbuf := 'Error in the P60 report';
281 hr_utility.trace('P60 REPORT returned failure message: see ' || l_file_name);
282 retcode := PROG_FAILURE ;
283 hr_utility.raise_error;
284 return;
285 END IF;
286 hr_utility.trace('Finished P60 REPORT');
287 END IF;
288 ----------------------
289 -- Call P60 PROCESS --
290 ----------------------
291 hr_utility.trace('');
292 hr_utility.trace('Start P60 REPORT');
293 l_p60_id := fnd_request.submit_request(
294 application => 'PAY',
295 program => 'PAYRPP60',
296 argument1 => p_permit_no,
297 argument2 => p_tax_year,
298 argument3 => p_sort_order1,
299 argument4 => p_sort_order2,
300 argument5 => p_sort_order3,
301 argument6 => p_sort_order4,
302 argument7 => p_sort_order5,
303 argument8 => p_sort_order6,
304 argument9 => p_sort_order7,
305 argument10 => p_business_group_id,
306 argument11 => 'N',
307 argument12 => p_tax_dist_ref);
308 -- Check the result of the extract call
309 l_file_name := 'l' || TO_CHAR(l_p60_id) || '.req';
310 IF l_p60_id = 0 THEN
311 errbuf := 'Error calling the P60 report';
312 hr_utility.trace('P60 REPORT returned failure message: see '|| l_file_name);
313 retcode := PROG_FAILURE ;
314 hr_utility.raise_error;
315 return ;
316 END IF;
317 COMMIT;
318 hr_utility.trace(' Submitted Req id: ' || TO_CHAR(l_p60_id) );
319 l_wait_outcome := fnd_concurrent.wait_for_request(
320 request_id => l_p60_id,
321 phase => l_phase,
322 status => l_status,
323 dev_phase => l_dev_phase,
324 dev_status => l_dev_status,
325 message => l_message);
326 hr_utility.trace(' Status : '||l_dev_status);
327 hr_utility.trace(' Phase : '||l_dev_phase);
328 IF l_dev_phase = 'COMPLETE' AND l_dev_status <> 'NORMAL' THEN
329 errbuf := 'Error in the P60 report';
330 hr_utility.trace('P60 REPORT returned failure message: see ' || l_file_name);
331 retcode := PROG_FAILURE ;
332 hr_utility.raise_error;
333 return;
334 END IF;
335 hr_utility.trace('Finished P60 REPORT');
336 END IF;
337 hr_utility.trace('Finished EOY_CONTROL');
338 END;
339 END;/* End of package */