DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_GB_ROLLBACK

Source


1 PACKAGE body PAY_GB_ROLLBACK AS
2   /* $Header: pygbrlbk.pkb 120.0.12020000.5 2012/12/28 14:00:01 sampmand noship $ */
3   /*===========================================================================+
4   |               Copyright (c) 2012 Oracle Corporation                       |
5   |                  Redwood Shores, California, USA                          |
6   |                       All rights reserved.                                |
7   +============================================================================
8   Name:
9   PAY_GB_ROLLBACK
10   Purpose:
11 
12   This is a UK Specific payroll package.
13   History:
14   31-Aug-2012  krreddy     115.0  14503452  Created.
15    8-Sep-2012  krreddy     115.1  14553830  Added two new procedures to implement
16                                             localization related rollback changes
17                                             when records are deleted from View
18                                             Assignment and View Payroll Process Results forms.
19   13-Sep-2012  krreddy     115.2  14553830  Removed the GB_ROLLBACK procedure and
20                                             moved it into PAY_GB_ROLLBACK_PKG.
21   02-Nov-2012  ssarap      115.3            For NI only aggregation deleting the orphan data
22                                             in PAY_GB_FPS_DETAILS table.
23   02-Nov-2012  kvinayku    115.4  14843731  Added one more condition to reset pensioner RTI sent flag.
24   28-Dec-2012  sampamnd    115.5  14759083  Added procedures for rollback related cahnges for EAS and EAS 13.
25   =============================================================================*/
26   --
27   --
28 FUNCTION get_version(
29     p_assig_id IN NUMBER,
30     p_type     IN VARCHAR2,
31     p_aei_id OUT nocopy NUMBER)
32   RETURN NUMBER
33 IS
34   l_proc CONSTANT VARCHAR2(50):= 'get_version';
35   l_ovn  NUMBER;
36   CURSOR csr_ovn
37   IS
38     SELECT object_version_number,
39       assignment_extra_info_id
40     FROM per_assignment_extra_info
41     WHERE assignment_id  = p_assig_id
42     AND information_type = p_type;
43 BEGIN
44   hr_utility.set_location('Entering: '||l_proc,1);
45   OPEN csr_ovn;
46   FETCH csr_ovn INTO l_ovn, p_aei_id;
47   CLOSE csr_ovn;
48   RETURN l_ovn;
49   hr_utility.set_location('Leaving: '||l_proc,999);
50 END;
51 
52 PROCEDURE restored(
53     p_pactid IN NUMBER,
54     p_asgactid IN NUMBER default null)
55 IS
56   l_proc          CONSTANT VARCHAR2(50):= 'restored';
57   l_ovn           NUMBER;
58   l_aei_id        NUMBER;
59   l_assignment_id NUMBER;
60   CURSOR csr_archive_details
61   IS
62     SELECT paa.assignment_id,
63       paa.assignment_action_id,
64       pai.action_information6,  --EXPAT
65       pai.action_information7,  --EXPAT
66       pai.action_information8,  --EXPAT
67       pai.action_information9,  --EXPAT
68       pai.action_information10, --EXPAT
69       pai.action_information12, --PENSIONER
70 	  pai.action_information26, --PENSIONER
71       pai.action_information4,  --STARTER
72       pai.action_information5,  --STARTER
73       pai.action_information20  -- Number of Periods Covered
74     FROM pay_assignment_actions paa,
75       pay_action_information pai
76     WHERE paa.payroll_action_id         = p_pactid
77     AND paa.assignment_action_id        = pai.action_context_id
78     AND pai.action_information_category = 'GB_RTI_FPS_ASG_DET1'
79     AND pai.action_context_type         = 'AAP';
80 
81     cursor csr_get_all_actions is
82     SELECT paa.assignment_id,
83       paa.assignment_action_id
84     FROM pay_assignment_actions paa
85     WHERE paa.payroll_action_id         = p_pactid;
86 
87   CURSOR csr_archive_asgact_details
88   IS
89     SELECT paa.assignment_id,
90       paa.assignment_action_id,
91       pai.action_information6,  --EXPAT
92       pai.action_information7,  --EXPAT
93       pai.action_information8,  --EXPAT
94       pai.action_information9,  --EXPAT
95       pai.action_information10, --EXPAT
96       pai.action_information12, --PENSIONER
97 	  pai.action_information26, --PENSIONER
98       pai.action_information4,  --STARTER
99       pai.action_information5,  --STARTER
100       pai.action_information20  -- Number of Periods Covered
101     FROM pay_assignment_actions paa,
102       pay_action_information pai
103     WHERE paa.payroll_action_id         = p_pactid
104     AND paa.assignment_action_id        = p_asgactid
105     AND paa.assignment_action_id        = pai.action_context_id
106     AND pai.action_information_category = 'GB_RTI_FPS_ASG_DET1'
107     AND pai.action_context_type         = 'AAP';
108 
109   CURSOR csr_report_type
110   IS
111     SELECT report_type
112     FROM pay_payroll_actions
113     WHERE payroll_action_id = p_pactid;
114 
115 l_asgact_rec csr_archive_asgact_details%rowtype;
116 l_report_type varchar2(50);
117 BEGIN
118   hr_utility.set_location('Entering: '||l_proc,1);
119   hr_utility.set_location('p_pactid: '||p_pactid,1);
120   hr_utility.set_location('p_asgactid: '||p_asgactid,1);
121 
122 OPEN csr_report_type;
123 FETCH csr_report_type INTO l_report_type;
124 CLOSE csr_report_type;
125 
126 hr_utility.set_location('l_report_type: '||l_report_type,1);
127 
128 IF (NVL(l_report_type,'XXX') = 'RTI_FPS_REP') THEN
129 
130 IF (p_asgactid is null) THEN
131   FOR archive_rec IN csr_archive_details
132   LOOP
133   hr_utility.set_location('Inside csr_archive_details cursor',1);
134     -- Number of Periods Covered
135     l_ovn    := get_version(archive_rec.assignment_id,'GB_PAY_RTI',l_aei_id);
136     IF l_ovn IS NOT NULL THEN
137       hr_assignment_extra_info_api.update_assignment_extra_info (p_validate => false, p_object_version_number => l_ovn, p_assignment_extra_info_id => l_aei_id, p_aei_information_category => 'GB_PAY_RTI',
138       p_aei_information1 => archive_rec.action_information20);
139     END IF;
140     --EXPAT Flag
141     IF (archive_rec.action_information9 IS NOT NULL) OR (archive_rec.action_information10 IS NOT NULL) OR (archive_rec.action_information6 ='Y') OR (archive_rec.action_information7 ='Y') OR (archive_rec.action_information8 ='Y') THEN
142       l_ovn                             := get_version(archive_rec.assignment_id,'GB_RTI_ASG_DETAILS',l_aei_id);
143       IF l_ovn                          IS NOT NULL THEN
144         hr_assignment_extra_info_api.update_assignment_extra_info (p_validate => false, p_object_version_number => l_ovn, p_assignment_extra_info_id => l_aei_id, p_aei_information_category => 'GB_RTI_ASG_DETAILS',
145         p_aei_information19 => 'N');
146       END IF;
147     END IF;
148     --PENSIONER Flag
149     IF (archive_rec.action_information12 IS NOT NULL) OR (archive_rec.action_information26 IS NOT NULL) THEN
150       l_ovn                              := get_version(archive_rec.assignment_id,'GB_RTI_ASG_DETAILS',l_aei_id);
151       IF l_ovn                           IS NOT NULL THEN
152         hr_assignment_extra_info_api.update_assignment_extra_info (p_validate => false, p_object_version_number => l_ovn, p_assignment_extra_info_id => l_aei_id, p_aei_information_category => 'GB_RTI_ASG_DETAILS', p_aei_information9 => 'N');
153       END IF;
154     END IF;
155     --STARTER Flag
156     IF (archive_rec.action_information4 IS NOT NULL) OR (archive_rec.action_information5 IS NOT NULL) THEN
157       l_ovn                             := get_version(archive_rec.assignment_id,'GB_RTI_ASG_DETAILS',l_aei_id);
158       IF l_ovn                          IS NOT NULL THEN
159         hr_assignment_extra_info_api.update_assignment_extra_info (p_validate => false, p_object_version_number => l_ovn, p_assignment_extra_info_id => l_aei_id, p_aei_information_category => 'GB_RTI_ASG_DETAILS', p_aei_information8 => 'N');
160       END IF;
161     END IF;
162     -- Delete from pay_gb_fps_details
163     DELETE
164     FROM pay_gb_fps_details
165     WHERE FPS_ASG_ACT_ID = archive_rec.ASSIGNMENT_ACTION_ID
166     AND ASSIGNMENT_ID    = archive_rec.ASSIGNMENT_ID;
167   END LOOP;
168 FOR del_rec IN csr_get_all_actions
169     loop
170          -- Delete from pay_gb_fps_details
171          DELETE
172          FROM pay_gb_fps_details
173          WHERE FPS_ASG_ACT_ID = del_rec.ASSIGNMENT_ACTION_ID
174          AND ASSIGNMENT_ID    = del_rec.ASSIGNMENT_ID;
175     end loop;
176 ELSE -- for IF (p_asgactid is null) THEN condition
177 
178 OPEN csr_archive_asgact_details;
179 FETCH csr_archive_asgact_details into l_asgact_rec;
180     hr_utility.set_location('Inside csr_archive_asgact_details cursor',1);
181     l_ovn    := get_version(l_asgact_rec.assignment_id,'GB_PAY_RTI',l_aei_id);
182     IF l_ovn IS NOT NULL THEN
183       hr_assignment_extra_info_api.update_assignment_extra_info (p_validate => false, p_object_version_number => l_ovn, p_assignment_extra_info_id => l_aei_id, p_aei_information_category => 'GB_PAY_RTI',
184       p_aei_information1 => l_asgact_rec.action_information20);
185     END IF;
186     --EXPAT Flag
187     IF (l_asgact_rec.action_information9 IS NOT NULL) OR (l_asgact_rec.action_information10 IS NOT NULL) OR (l_asgact_rec.action_information6 ='Y') OR (l_asgact_rec.action_information7 ='Y') OR (l_asgact_rec.action_information8 ='Y') THEN
188       l_ovn                             := get_version(l_asgact_rec.assignment_id,'GB_RTI_ASG_DETAILS',l_aei_id);
189       IF l_ovn                          IS NOT NULL THEN
190         hr_assignment_extra_info_api.update_assignment_extra_info (p_validate => false, p_object_version_number => l_ovn, p_assignment_extra_info_id => l_aei_id, p_aei_information_category => 'GB_RTI_ASG_DETAILS',
191         p_aei_information19 => 'N');
192       END IF;
193     END IF;
194     --PENSIONER Flag
195     IF (l_asgact_rec.action_information12 IS NOT NULL) OR (l_asgact_rec.action_information26 IS NOT NULL) THEN
196       l_ovn                              := get_version(l_asgact_rec.assignment_id,'GB_RTI_ASG_DETAILS',l_aei_id);
197       IF l_ovn                           IS NOT NULL THEN
198         hr_assignment_extra_info_api.update_assignment_extra_info (p_validate => false, p_object_version_number => l_ovn, p_assignment_extra_info_id => l_aei_id, p_aei_information_category => 'GB_RTI_ASG_DETAILS', p_aei_information9 => 'N');
199       END IF;
200     END IF;
201     --STARTER Flag
202     IF (l_asgact_rec.action_information4 IS NOT NULL) OR (l_asgact_rec.action_information5 IS NOT NULL) THEN
203       l_ovn                             := get_version(l_asgact_rec.assignment_id,'GB_RTI_ASG_DETAILS',l_aei_id);
204       IF l_ovn                          IS NOT NULL THEN
205         hr_assignment_extra_info_api.update_assignment_extra_info (p_validate => false, p_object_version_number => l_ovn, p_assignment_extra_info_id => l_aei_id, p_aei_information_category => 'GB_RTI_ASG_DETAILS', p_aei_information8 => 'N');
206       END IF;
207     END IF;
208     -- Delete from pay_gb_fps_details
209     DELETE
210     FROM pay_gb_fps_details
211     WHERE FPS_ASG_ACT_ID = l_asgact_rec.ASSIGNMENT_ACTION_ID
212     AND ASSIGNMENT_ID    = l_asgact_rec.ASSIGNMENT_ID;
213 CLOSE csr_archive_asgact_details;
214 
215 END IF; -- for IF (p_asgactid is null) THEN condition
216 END IF;
217 END;
218 ---
219 
220 PROCEDURE eas_restored(
221     p_pactid IN NUMBER,
222     p_asgactid IN NUMBER default null)
223 IS
224   l_proc          CONSTANT VARCHAR2(50):= 'eas_restored';
225   l_ovn           NUMBER;
226   l_aei_id        NUMBER;
227 
228   l_tax_ref varchar2(30);
229   l_eff_date varchar2(50);
230   l_effective_date date;
231   l_paye_agg varchar2(1);
232 	l_assignment_id number;
233 
234   CURSOR csr_asgs_processed
235   IS
236   SELECT DISTINCT paa.assignment_id
237   FROM pay_assignment_actions paa,
238        pay_payroll_actions ppa,
239        pay_action_information pai
240  WHERE paa.payroll_action_id = ppa.payroll_action_id
241    AND ppa.payroll_action_id = p_pactid --1688760
242    AND paa.assignment_action_id = pai.action_context_id;
243 
244      CURSOR csr_asgs_asgact_processed
245   IS
246   SELECT DISTINCT paa.assignment_id
247   FROM pay_assignment_actions paa,
248        pay_payroll_actions ppa,
249        pay_action_information pai
250  WHERE paa.payroll_action_id = ppa.payroll_action_id
251    AND ppa.payroll_action_id = p_pactid --1688760
252    AND paa.assignment_action_id = pai.action_context_id
253    and paa.assignment_action_id = p_asgactid;
254 
255 cursor csr_fetch_details is
256 select  		fnd_date.canonical_to_date(substr(legislative_parameters,instr(legislative_parameters,'START=') + 6,10)) effective_date,
257 						substr(pay_gb_eoy_archive.get_parameter(legislative_parameters,'TAX_REF'),1,20) tax_ref
258      from   pay_payroll_actions
259      where  payroll_action_id = p_pactid;
260 
261 cursor csr_fetch_agg(p_asg_id number)
262 is
263 select pai.ACTION_INFORMATION10
264 from pay_assignment_Actions paa, pay_action_information pai
265 where paa.payroll_action_id = p_pactid and paa.assignment_id = p_asg_id
266 	and pai.action_context_id = paa.assignment_Action_id
267 	and pai.ACTION_INFORMATION_CATEGORY = 'GB RTI EMPLOYEE DETAILS';
268 
269 -- To fetch other assignments of the PAYE Aggregation
270 	cursor fetch_other_paye_agg_asg(p_asg_id number)
271 	is
272 	select paaf.assignment_id
273 	from per_all_assignments_f paaf,
274     	 pay_payrolls_f pay,
275 	     hr_soft_coding_keyflex sck
276 	where paaf.person_id     =  (select distinct person_id from per_all_assignments_f where ASSIGNMENT_ID =p_asg_id)
277 	and   paaf.assignment_id <> p_asg_id
278 	and   pay.payroll_id     = paaf.payroll_id
279 	and   pay.SOFT_CODING_KEYFLEX_ID = sck.SOFT_CODING_KEYFLEX_ID
280 	and   sck.SEGMENT1 = l_tax_ref
281 	and   paaf.EFFECTIVE_START_DATE =
282 				( select max(paaf1.effective_start_date)
283 					from per_all_assignments_f paaf1
284 					where paaf1.assignment_id = paaf.assignment_id
285 					and paaf1.assignment_type       = 'E'
286 					and paaf1.effective_start_date <= l_effective_date
287 				)
288 	and l_effective_date between pay.EFFECTIVE_START_DATE and pay.EFFECTIVE_END_DATE;
289 
290 l_asgact_rec csr_asgs_asgact_processed%rowtype;
291 
292 BEGIN
293   hr_utility.set_location('Entering: '||l_proc,1);
294   hr_utility.set_location('p_pactid: '||p_pactid,1);
295   hr_utility.set_location('p_asgactid: '||p_asgactid,1);
296 
297 	open csr_fetch_details;
298 	fetch csr_fetch_details into l_effective_date,l_tax_ref;
299 	close csr_fetch_details;
300 
301 IF (p_asgactid is null) THEN
302   FOR archive_rec IN csr_asgs_processed
303   LOOP
304     --STARTER Flag
305       l_ovn                             := get_version(archive_rec.assignment_id,'GB_RTI_ASG_DETAILS',l_aei_id);
306       IF l_ovn                          IS NOT NULL THEN
307         hr_assignment_extra_info_api.update_assignment_extra_info (p_validate => false, p_object_version_number => l_ovn, p_assignment_extra_info_id => l_aei_id, p_aei_information_category => 'GB_RTI_ASG_DETAILS', p_aei_information8 => 'N');
308       END IF;
309 
310       	open csr_fetch_agg(archive_rec.assignment_id);
311 				fetch csr_fetch_agg into l_paye_agg;
312 				close csr_fetch_agg;
313 
314 				if l_paye_agg = 'Y' then
315 						open fetch_other_paye_agg_asg(archive_rec.assignment_id);
316 						 loop
317 							fetch fetch_other_paye_agg_asg into l_assignment_id;
318 							exit when fetch_other_paye_agg_asg%notfound;
319 								 --STARTER Flag
320 						      l_ovn                             := get_version(l_assignment_id,'GB_RTI_ASG_DETAILS',l_aei_id);
321 						      IF l_ovn IS NOT NULL THEN
322 						        hr_assignment_extra_info_api.update_assignment_extra_info (p_validate => false, p_object_version_number => l_ovn, p_assignment_extra_info_id => l_aei_id, p_aei_information_category => 'GB_RTI_ASG_DETAILS', p_aei_information8 => 'N');
323 						      END IF;
324  						 end loop;
325 						close fetch_other_paye_agg_asg;
326         end if;
327 
328 
329   END LOOP;
330   else-- for IF (p_asgactid is null) THEN condition
331 
332 	OPEN csr_asgs_asgact_processed;
333 	FETCH csr_asgs_asgact_processed into l_asgact_rec;
334 	--STARTER Flag
335       l_ovn                             := get_version(l_asgact_rec.assignment_id,'GB_RTI_ASG_DETAILS',l_aei_id);
336       IF l_ovn                          IS NOT NULL THEN
337         hr_assignment_extra_info_api.update_assignment_extra_info (p_validate => false, p_object_version_number => l_ovn, p_assignment_extra_info_id => l_aei_id, p_aei_information_category => 'GB_RTI_ASG_DETAILS', p_aei_information8 => 'N');
338       END IF;
339 
340       	open csr_fetch_agg(l_asgact_rec.assignment_id);
341 				fetch csr_fetch_agg into l_paye_agg;
342 				close csr_fetch_agg;
343 
344 				if l_paye_agg = 'Y' then
345 						open fetch_other_paye_agg_asg(l_asgact_rec.assignment_id);
346 						 loop
347 							fetch fetch_other_paye_agg_asg into l_assignment_id;
348 							exit when fetch_other_paye_agg_asg%notfound;
349 								 --STARTER Flag
350 						      l_ovn                             := get_version(l_assignment_id,'GB_RTI_ASG_DETAILS',l_aei_id);
351 						      IF l_ovn IS NOT NULL THEN
352 						        hr_assignment_extra_info_api.update_assignment_extra_info (p_validate => false, p_object_version_number => l_ovn, p_assignment_extra_info_id => l_aei_id, p_aei_information_category => 'GB_RTI_ASG_DETAILS', p_aei_information8 => 'N');
353 						      END IF;
354  						 end loop;
355 						close fetch_other_paye_agg_asg;
356         end if;
357 	close csr_asgs_asgact_processed;
358  end if;
359 
360 
361 
362   hr_utility.set_location('Leaving eas_restored: '||p_pactid,1);
363 END eas_restored;
364 ---
365 ---
366 PROCEDURE eas13_restored(
367     p_pactid IN NUMBER,
368     p_asgactid IN NUMBER default null)
369 IS
370   l_proc          CONSTANT VARCHAR2(50):= 'eas13_restored';
371   l_ovn           NUMBER;
372   l_aei_id        NUMBER;
373   l_assignment_id NUMBER;
374   l_prev_eas  varchar2(1);
375 
376 
377   CURSOR csr_asgs_processed
378   IS
379   SELECT DISTINCT paa.assignment_id
380   FROM pay_assignment_actions paa,
381        pay_payroll_actions ppa
382  WHERE paa.payroll_action_id = ppa.payroll_action_id
383    AND ppa.payroll_action_id = p_pactid; --1688760
384 
385   CURSOR csr_asgs_asgact_processed
386   IS
387   SELECT DISTINCT paa.assignment_id
388   FROM pay_assignment_actions paa,
389        pay_payroll_actions ppa
390  WHERE paa.payroll_action_id = ppa.payroll_action_id
391    AND ppa.payroll_action_id = p_pactid
392    and paa.assignment_action_id = p_asgactid ;
393 
394    cursor is_prev_flag(p_asg_id number)
395 	is
396 	select 'Y' from dual where exists(select *
397 	from   pay_payroll_actions prev,
398 	pay_assignment_actions paa
399     where paa.assignment_id = p_asg_id
400 	and paa.payroll_action_id = prev.payroll_action_id
401 	and prev.payroll_action_id <> p_pactid
402 	and prev.ACTION_STATUS='C'
403 	and prev.REPORT_TYPE = 'RTI_EAS_REP');
404 
405 l_asgact_rec csr_asgs_asgact_processed%rowtype;
406 
407 BEGIN
408   hr_utility.set_location('Entering: '||l_proc,1);
409   hr_utility.set_location('p_pactid: '||p_pactid,1);
410   hr_utility.set_location('p_asgactid: '||p_asgactid,1);
411 
412 
413 IF (p_asgactid is null) THEN
414   FOR archive_rec IN csr_asgs_processed
415   LOOP
416     --STARTER Flag
417       l_ovn                             := get_version(archive_rec.assignment_id,'GB_RTI_ASG_DETAILS',l_aei_id);
418 
419 	  open is_prev_flag(archive_rec.assignment_id);
420 	  fetch is_prev_flag into l_prev_eas;
421 	  close is_prev_flag;
422       IF (l_ovn IS NOT NULL and l_prev_eas is null)THEN
423         hr_assignment_extra_info_api.update_assignment_extra_info (p_validate => false, p_object_version_number => l_ovn, p_assignment_extra_info_id => l_aei_id, p_aei_information_category => 'GB_RTI_ASG_DETAILS', p_aei_information8 => 'N');
424       END IF;
425   END LOOP;
426 ELSE -- for IF (p_asgactid is null) THEN condition
427 
428 	OPEN csr_asgs_asgact_processed;
429 	FETCH csr_asgs_asgact_processed into l_asgact_rec;
430 	l_ovn                             := get_version(l_asgact_rec.assignment_id,'GB_RTI_ASG_DETAILS',l_aei_id);
431 
432 	  open is_prev_flag(l_asgact_rec.assignment_id);
433 	  fetch is_prev_flag into l_prev_eas;
434 	  close is_prev_flag;
435       IF (l_ovn IS NOT NULL and l_prev_eas is null)THEN
436 
437         hr_assignment_extra_info_api.update_assignment_extra_info (p_validate => false, p_object_version_number => l_ovn, p_assignment_extra_info_id => l_aei_id, p_aei_information_category => 'GB_RTI_ASG_DETAILS', p_aei_information8 => 'N');
438 
439 END IF;
440 	  close csr_asgs_asgact_processed;
441 END IF;
442   hr_utility.set_location('Leaving eas_restored: '||p_pactid,1);
443 END eas13_restored;
444 ---
445 ---
446 /*Below procedure is created to implement GB related rollback changes when records are
447 deleted from View Payroll Process Results forms.*/
448 PROCEDURE gb_pay_rollback(p_pactid IN NUMBER)
449 
450 IS
451   l_proc CONSTANT VARCHAR2(50):= 'gb_pay_rollback';
452   l_id   NUMBER;
453 
454   CURSOR csr_report_type
455   IS
456     SELECT report_type
457     FROM pay_payroll_actions
458     WHERE payroll_action_id = p_pactid;
459 
460   l_report_type varchar2(50);
461 
462 BEGIN
463   hr_utility.set_location('Entering: '||l_proc,1);
464   hr_utility.set_location('p_pactid : ' || p_pactid, 10);
465 
466   OPEN csr_report_type;
467   FETCH csr_report_type INTO l_report_type;
468   CLOSE csr_report_type;
469 
470   hr_utility.set_location('l_report_type: '||l_report_type,1);
471    if l_report_type = 'RTI_FPS_REP'
472       then
473           restored(p_pactid);
474       end if;
475 
476 	  if l_report_type = 'RTI_EAS_REP'
477       then
478           eas_restored(p_pactid);
479       end if;
480 
481 	  /* EAS 2013 Changes*/
482 	  /* Added RTI_EAS_REP_13 for new EAS program */
483       if l_report_type = 'RTI_EAS_REP_13'
484       then
485           eas13_restored(p_pactid);
486       end if;
487 
488   --restored(p_pactid);
489 
490   hr_utility.set_location('Leaving: '||l_proc,999);
491 END gb_pay_rollback;
492 ---
493 
494 /*Below procedure is created to implement GB related rollback changes when records are
495 deleted from View Assignment Process Results forms.*/
496 PROCEDURE gb_asg_rollback(p_pactid IN NUMBER,
497                           p_asgactid IN NUMBER)
498 
499 IS
500   l_proc CONSTANT VARCHAR2(50):= 'gb_asg_rollback';
501   l_id   NUMBER;
502 
503   CURSOR csr_report_type
504   IS
505     SELECT report_type
506     FROM pay_payroll_actions
507     WHERE payroll_action_id = p_pactid;
508 
509   l_report_type varchar2(50);
510 BEGIN
511   hr_utility.set_location('Entering: '||l_proc,1);
512   hr_utility.set_location('p_pactid : ' || p_pactid, 10);
513   hr_utility.set_location('p_asgactid : ' || p_asgactid, 10);
514 
515   OPEN csr_report_type;
516   FETCH csr_report_type INTO l_report_type;
517   CLOSE csr_report_type;
518 
519   hr_utility.set_location('l_report_type: '||l_report_type,1);
520  if l_report_type = 'RTI_FPS_REP'
521       then
522           restored(p_pactid, p_asgactid);
523       end if;
524 
525 	  if l_report_type = 'RTI_EAS_REP'
526       then
527           eas_restored(p_pactid, p_asgactid);
528       end if;
529 
530 	  /* EAS 2013 Changes*/
531 	  /* Added RTI_EAS_REP_13 for new EAS program */
532       if l_report_type = 'RTI_EAS_REP_13'
533       then
534           eas13_restored(p_pactid, p_asgactid);
535       end if;
536   --restored(p_pactid, p_asgactid);
537 
538   hr_utility.set_location('Leaving: '||l_proc,999);
539 END gb_asg_rollback;
540 ---
541 END PAY_GB_ROLLBACK;