DBA Data[Home] [Help]
Skip to content

PACKAGE BODY: APPS.PER_RO_AEI_INFO

Source


1 PACKAGE BODY PER_RO_AEI_INFO AS
2 /* $Header: peroaeip.pkb 120.0.12020000.1 2013/05/15 05:09:42 kbajaj noship $ */
3 
4 
5 g_package varchar2(16):='PER_RO_AEI_INFO.';
6 
7 --cursor to get the  assignment start date and end date
8 cursor csr_assgt_start_date( P_ASSIGNMENT_ID in number)is
9 select min(effective_start_date),max(effective_end_date) from per_all_assignments_f where ASSIGNMENT_ID=P_ASSIGNMENT_ID;
10 
11 --cursor to get the  contract start date and end date
12 cursor csr_contract_start_date( P_CONTRACT_ID in number)is
13 select min(effective_start_date) from per_contracts_f pcf where contract_id=P_CONTRACT_ID;
14 
15 
16 --------------- procedure to validate the date of signing the contract-------------------
17 procedure check_contract_signed_date(P_ASSIGNMENT_ID            in  NUMBER  ,
18 									P_AEI_INFORMATION1         in  varchar2)
19 as
20 --CURSOR to fetch the contract id a
21 CURSOR csr_get_contract_id(l_assignment_end_date date ) IS
22 	select contract_id from per_all_assignments_f paaf
23 	where paaf.assignment_id=p_assignment_id
24 	and paaf.effective_end_date = l_assignment_end_date;
25 
26  l_assignment_start_date date;
27  l_assignment_end_date date;
28  l_contract_start_date date;
29  l_contract_end_date date;
30  l_contract_id per_contracts_f.contract_id%type;
31 l_proc VARCHAR2(50);
32  begin
33  l_proc:=g_package||'check_contract_signed_date';
34 
35 
36    hr_utility.set_location('Entering '||l_proc,10);
37 
38    if p_aei_information1 is not null then
39   open  csr_assgt_start_date(P_ASSIGNMENT_ID);
40   fetch csr_assgt_start_date into l_assignment_start_date,l_assignment_end_date;
41   close csr_assgt_start_date;
42 	open csr_get_contract_id(l_assignment_end_date);
43 	fetch csr_get_contract_id into l_contract_id;
44 	 if csr_get_contract_id%NOTFOUND then
45 			l_contract_id := NULL;
46 	 end if;
47 
48 	close csr_get_contract_id;
49 
50 	hr_utility.set_location('Contract Signed date=> ' ||  fnd_date.canonical_to_date(p_aei_information1), 20);
51 	hr_utility.set_location('Assignment Start Date=> ' || l_assignment_start_date , 30);
52 	hr_utility.set_location('Contract_id=> ' || l_contract_id, 40);
53 	-- date of signing the contract should be atleast 1 day less than the assignment start date
54 	if  fnd_date.canonical_to_date(p_aei_information1) >= l_assignment_start_date then
55 			hr_utility.set_message('800','HR_520042_INV_CONRACT_SIGND_DT');
56 			hr_utility.raise_error;
57 		end if;
58 
59 
60 	if (l_contract_id is not null) then
61 	open csr_contract_start_date(l_contract_id);
62 		fetch csr_contract_start_date into l_contract_start_date;
63 	close csr_contract_start_date;
64 	hr_utility.set_location('Contract Start Date=> ' || l_contract_start_date, 30);
65 
66 				--contarct start date should not be less than the contract signing date
67 			if   fnd_date.canonical_to_date(P_AEI_INFORMATION1) > l_contract_start_date then
68 		 hr_utility.set_message('800','HR_520043_INV_CONRACT_SIGND_DT');
69 			hr_utility.raise_error;
70 		end if;
71 	end if;
72 	end if;
73 
74    hr_utility.set_location('Leaving'||g_package||l_proc,50);
75 
76 
77 
78  end check_contract_signed_date;
79 
80 procedure CREATE_RO_ASSGT_EXTRA_INFO(
81  P_ASSIGNMENT_ID            in  NUMBER  ,
82  p_information_type         in  varchar2,
83  p_aei_information_category in  varchar2,
84  P_AEI_INFORMATION1         in  varchar2
85                                      )  as
86 cursor csr_contract_details_exist IS
87 select 'x' from per_assignment_extra_info
88 where information_type = p_information_type
89 and  aei_information_category = p_aei_information_category
90 and assignment_id=p_assignment_id;
91 l_proc          VARCHAR2(60);
92 l_exist		varchar2(1);
93 
94  Begin
95 --hr_utility.trace_on(null,'Extra');
96 l_proc:=g_package||'CREATE_RO_ASSGT_EXTRA_INFO';
97 
98    hr_utility.set_location('Entering '||l_proc,10);
99 IF NOT hr_utility.chk_product_install('Oracle Human Resources', 'RO') THEN
100    hr_utility.set_location('Leaving : '||l_proc,10);
101    return;
102 END IF;
103 
104 -- EIT already exist
105 open csr_contract_details_exist;
106 	fetch csr_contract_details_exist into l_exist;
107 	if csr_contract_details_exist%found then
108 		hr_utility.set_message('800','HR_520044_ASG_EIT_EXIST');
109 			hr_utility.raise_error;
110 	END IF;
111 CLOSE csr_contract_details_exist;
112 
113 hr_utility.set_location('P_ASSIGNMENT_ID=> ' || P_ASSIGNMENT_ID, 30);
114 hr_utility.set_location('P_AEI_INFORMATION1e => ' || P_AEI_INFORMATION1, 30);
115 check_contract_signed_date(P_ASSIGNMENT_ID,
116 							P_AEI_INFORMATION1);
117 hr_utility.set_location('Leaving : '||l_proc,20);
118 --hr_utility.trace_off;
119  Exception
120  When others then
121   hr_utility.raise_error;
122  end; --end procedure
123 
124 
125  procedure UPDATE_RO_ASSGT_EXTRA_INFO(
126 
127  P_ASSIGNMENT_EXTRA_INFO_ID   in   NUMBER,
128  p_aei_information_category   in   VARCHAR2,
129  P_AEI_INFORMATION1           in   varchar2
130  )
131  as
132 	cursor csr_get_assignment_id IS
133 	select assignment_id from per_assignment_extra_info
134 	where aei_information_category = p_aei_information_category
135 	and ASSIGNMENT_EXTRA_INFO_ID = P_ASSIGNMENT_EXTRA_INFO_ID;
136 	l_assignment_id per_all_assignments_f.assignment_id%type;
137   l_proc varchar2(60);
138 
139   begin
140 	l_proc:=  g_package||'UPDATE_RO_ASSGT_EXTRA_INFO';
141   hr_utility.set_location('Entering : '||l_proc,10);
142 IF NOT hr_utility.chk_product_install('Oracle Human Resources', 'RO') THEN
143    hr_utility.set_location('Leaving : '||l_proc,10);
144    return;
145 END IF;
146 
147    open csr_get_assignment_id;
148    fetch csr_get_assignment_id into l_assignment_id;
149    close csr_get_assignment_id;
150 
151    check_contract_signed_date(l_assignment_id,
152 							P_AEI_INFORMATION1);
153 
154 hr_utility.set_location('Leaving'||g_package||l_proc,40);
155 
156 Exception
157 When others then
158 hr_utility.set_location('Leaving : '||Sqlerrm,10);
159 hr_utility.raise_error;
160 
161 END UPDATE_RO_ASSGT_EXTRA_INFO; --end procedure update
162 
163 END PER_RO_AEI_INFO ;   --end package
164