1 Package per_pem_bus as
2 /* $Header: pepemrhi.pkh 120.0.12010000.3 2008/08/06 09:22:15 ubhat ship $ */
3 --
4 -- ---------------------------------------------------------------------------
5 -- |----------------------< set_security_group_id >--------------------------|
6 -- ---------------------------------------------------------------------------
7 -- {Start Of Comments}
8 --
9 -- Description:
10 -- Sets the security_group_id in CLIENT_INFO for the appropriate business
11 -- group context.
12 -- It is only valid to call this procedure when the primary key
13 -- is within a buisiness group context.
14 --
15 -- Prerequisites:
16 -- The primary key identified by p_previous_employer_id
17 -- already exists.
18 --
19 -- In Arguments:
20 -- p_previous_employer_id
21 --
22 --
23 -- Post Success:
24 -- The security_group_id will be set in CLIENT_INFO.
25 --
26 -- Post Failure:
27 -- An error is raised if the value does not exist.
28 -- An error is also raised when the primary key data is outside
29 -- of a buisiness group context.
30 --
31 -- Access Status:
32 -- Internal Development Use Only.
33 --
34 -- {End Of Comments}
35 -- ---------------------------------------------------------------------------
36 procedure set_security_group_id
37 (p_previous_employer_id in number
38 ,p_associated_column1 in varchar2 default null
39 );
40 --
41 --
42 -- ---------------------------------------------------------------------------
43 -- |---------------------< return_legislation_code >-------------------------|
44 -- ---------------------------------------------------------------------------
45 -- {Start Of Comments}
46 --
47 -- Description:
48 -- Return the legislation code for a specific primary key value
49 --
50 -- Prerequisites:
51 -- The primary key identified by p_previous_employer_id
52 -- already exists.
53 --
54 -- In Arguments:
55 -- p_previous_employer_id
56 --
57 --
58 -- Post Success:
59 -- The business group's legislation code will be returned.
60 --
61 -- Post Failure:
62 -- An error is raised if the value does not exist.
63 --
64 -- Access Status:
65 -- Internal Development Use Only.
66 --
67 -- {End Of Comments}
68 -- ---------------------------------------------------------------------------
69 FUNCTION return_legislation_code
70 (p_previous_employer_id in number
71 ) RETURN varchar2;
72 --
73 --
74 -- ----------------------------------------------------------------------------
75 -- |---------------------------< insert_validate >----------------------------|
76 -- ----------------------------------------------------------------------------
77 -- {Start of comments}
78 --
79 -- Description:
80 -- This procedure controls the execution of all insert business rules
81 -- validation.
82 --
83 -- Prerequisites:
84 -- This private procedure is called from ins procedure.
85 --
86 -- In Parameters:
87 -- A Pl/Sql record structure.
88 --
89 -- Post Success:
90 -- Processing continues.
91 --
92 -- Post Failure:
93 -- If a business rules fails the error will not be handled by this procedure
94 -- unless explicity coded.
95 --
96 -- Developer Implementation Notes:
97 -- For insert, your business rules should be executed from this procedure
98 -- and should ideally (unless really necessary) just be straight procedure
99 -- or function calls. Try and avoid using conditional branching logic.
100 --
101 -- Access Status:
102 -- Internal Row Handler Use Only.
103 --
104 -- {End of comments}
105 -- ----------------------------------------------------------------------------
106 Procedure insert_validate
107 (p_effective_date in date
108 ,p_rec in per_pem_shd.g_rec_type
109 );
110 --
111 -- ----------------------------------------------------------------------------
112 -- |---------------------------< update_validate >----------------------------|
113 -- ----------------------------------------------------------------------------
114 -- {Start Of Comments}
115 --
116 -- Description:
117 -- This procedure controls the execution of all update business rules
118 -- validation.
119 --
120 -- Prerequisites:
121 -- This private procedure is called from upd procedure.
122 --
123 -- In Parameters:
124 -- A Pl/Sql record structure.
125 --
126 -- Post Success:
127 -- Processing continues.
128 --
129 -- Post Failure:
130 -- If a business rules fails the error will not be handled by this procedure
131 -- unless explicity coded.
132 --
133 -- Access Status:
134 -- Internal Row Handler Use Only.
135 --
136 -- {End Of Comments}
137 -- ----------------------------------------------------------------------------
138 Procedure update_validate
139 (p_effective_date in date
140 ,p_rec in per_pem_shd.g_rec_type
141 );
142 --
143 -- ----------------------------------------------------------------------------
144 -- |---------------------------< delete_validate >----------------------------|
145 -- ----------------------------------------------------------------------------
146 -- {Start Of Comments}
147 --
148 -- Description:
149 -- This procedure controls the execution of all delete business rules
150 -- validation.
151 --
152 -- Prerequisites:
153 -- This private procedure is called from del procedure.
154 --
155 -- In Parameters:
156 -- A Pl/Sql record structure.
157 --
158 -- Post Success:
159 -- Processing continues.
160 --
161 -- Post Failure:
162 -- If a business rules fails the error will not be handled by this procedure
163 -- unless explicity coded.
164 --
165 -- Developer Implementation Notes:
166 -- For delete, your business rules should be executed from this procedure
167 -- and should ideally (unless really necessary) just be straight procedure
168 -- or function calls. Try and avoid using conditional branching logic.
169 --
170 -- Access Status:
171 -- Internal Row Handler Use Only.
172 --
173 -- {End Of Comments}
174 -- ----------------------------------------------------------------------------
175 Procedure delete_validate
176 (p_rec in per_pem_shd.g_rec_type
177 );
178 --
179 procedure chk_start_end_dates
180 (p_previous_employer_id
181 in per_previous_employers.previous_employer_id%type
182 ,p_object_version_number
183 in per_previous_employers.object_version_number%type
184 ,p_start_date
185 in per_previous_employers.start_date%type
186 ,p_end_date
187 in per_previous_employers.end_date%TYPE
188 ,p_effective_date
189 IN per_previous_employers.start_date%type);
190 --
191 procedure get_period_values
192 (p_start_date in per_previous_employers.start_date%type
193 ,p_end_date in per_previous_employers.end_date%type
194 ,p_period_years out nocopy per_previous_employers.period_years%type
195 ,p_period_months out nocopy per_previous_employers.period_months%type
196 ,p_period_days out nocopy per_previous_employers.period_days%type
197 );
198 --
199 procedure chk_all_assignments
200 (p_previous_employer_id
201 in per_previous_employers.previous_employer_id%type
202 ,p_object_version_number
203 in per_previous_employers.object_version_number%type
204 ,p_all_assignments
205 in per_previous_employers.all_assignments%type);
206 --
207 -- -----------------------------------------------------------------------
208 -- |---------------------------< chk_period_years >----------------------|
209 -- -----------------------------------------------------------------------
210 -- {Start Of Comments}
211 --
212 -- Description:
213 -- This procedure ensures that period_years is between 0 and 99
214 --
215 -- Pre Conditions:
216 -- g_old_rec has been populated with details of the values currently in
217 -- the database.
218 --
219 -- In Arguments:
220 -- p_period_years
221 -- p_previous_employer_id
222 -- p_object_version_number
223 --
224 -- Post Success:
225 -- Processing continues if period_years is between 0 and 99
226 --
227 -- Post Failure:
228 -- An application error is raised if period_years value is not in range
229 -- of 0 and 99.
230 --
231 -- {End Of Comments}
232 -- ----------------------------------------------------------------------------
233 procedure chk_period_years
234 (p_period_years in per_previous_employers.period_years%type
235 ,p_previous_employer_id
236 in per_previous_employers.previous_employer_id%type
237 ,p_object_version_number
238 in per_previous_employers.object_version_number%type);
239 --
240 -- -----------------------------------------------------------------------
241 -- |---------------------------< chk_period_months >---------------------|
242 -- -----------------------------------------------------------------------
243 -- {Start Of Comments}
244 --
245 -- Description:
246 -- This procedure ensures that period_months is between 0 and 11
247 --
248 -- Pre Conditions:
249 -- g_old_rec has been populated with details of the values currently in
250 -- the database.
251 --
252 -- In Arguments:
253 -- p_period_months
254 -- p_previous_employer_id
255 -- p_object_version_number
256 --
257 -- Post Success:
258 -- Processing continues if period_years is between 0 and 11
259 --
260 -- Post Failure:
261 -- An application error is raised if period_months value is not in range
262 -- of 0 and 11.
263 --
264 -- {End Of Comments}
265 -- ----------------------------------------------------------------------------
266 procedure chk_period_months
267 (p_period_months in per_previous_employers.period_months%type
268 ,p_previous_employer_id
269 in per_previous_employers.previous_employer_id%type
270 ,p_object_version_number
271 in per_previous_employers.object_version_number%type);
272 --
273 -- -----------------------------------------------------------------------
274 -- |---------------------------< chk_period_days >-----------------------|
275 -- -----------------------------------------------------------------------
276 -- {Start Of Comments}
277 --
278 -- Description:
279 -- This procedure ensures that period_days is between 0 and 365
280 --
281 -- Pre Conditions:
282 -- g_old_rec has been populated with details of the values currently in
283 -- the database.
284 --
285 -- In Arguments:
286 -- p_period_days
287 -- p_previous_employer_id
288 -- p_object_version_number
289 --
290 -- Post Success:
291 -- Processing continues if period_days is between 0 and 365
292 --
293 -- Post Failure:
294 -- An application error is raised if period_days value is not in range
295 -- of 0 and 365.
296 --
297 -- {End Of Comments}
298 -- ----------------------------------------------------------------------------
299 procedure chk_period_days
300 (p_period_days in per_previous_employers.period_days%type
301 ,p_previous_employer_id
302 in per_previous_employers.previous_employer_id%type
303 ,p_object_version_number
306 end per_pem_bus;
304 in per_previous_employers.object_version_number%type);
305 --