1 Package pay_pel_bus as
2 /* $Header: pypelrhi.pkh 120.2.12010000.1 2008/07/27 23:21:57 appldev 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 --
13 -- Prerequisites:
14 -- The primary key identified by p_element_link_id
15 -- already exists.
16 --
17 -- In Arguments:
18 -- p_element_link_id
19 -- Post Success:
20 -- The security_group_id will be set in CLIENT_INFO.
21 --
22 -- Post Failure:
23 -- An error is raised if the value does not exist.
24 --
25 -- Access Status:
26 -- Internal Development Use Only.
27 --
28 -- {End Of Comments}
29 -- ---------------------------------------------------------------------------
30 procedure set_security_group_id
31 (p_element_link_id in number
32 ,p_associated_column1 in varchar2 default null
33 );
34 --
35 -- |---------------------< return_legislation_code >-------------------------|
36 -- ---------------------------------------------------------------------------
37 -- Description:
38 -- Return the legislation code for a specific primary key value
39 --
40 -- Prerequisites:
41 -- The primary key identified by p_element_link_id
42 -- already exists.
43 --
44 -- In Arguments:
45 -- p_element_link_id
46 --
47 --
48 -- Post Success:
49 -- The business group's legislation code will be returned.
50 --
51 -- Post Failure:
52 -- An error is raised if the value does not exist.
53 --
54 -- Access Status:
55 -- Internal Development Use Only.
56 --
57 -- {End Of Comments}
58
59 Function return_legislation_code
60 (p_element_link_id in number
61 ) RETURN varchar2;
62
63 /* $Header: pypelrhi.pkh 120.2.12010000.1 2008/07/27 23:21:57 appldev ship $ */
64 --
65 -- ---------------------------------------------------------------------------
66 -- |----------------------< chk_defaults >--------------------------|
67 -- ---------------------------------------------------------------------------
68 -- {Start Of Comments}
69 --
70 -- Description:
71 -- For the supplied element type id returns the Qualifying conditions,
72 -- Standard link flag and Mulitply Value flag if not supplied while calling
73 -- the create element link API.
74 -- Used for defaulting the values while creating a new element link
75 --
76 -- Prerequisites:
77 -- The primary key identified by p_element_type_id
78 -- already exists.
79 --
80 -- In Arguments:
81 -- p_element_type_id
82 --
83 -- Post Success:
84 -- Values are returned .
85 --
86 -- Post Failure:
87 -- Values won't be returned
88 --
89 -- Access Status:
90 -- Internal Development Use Only.
91 --
92 -- {End Of Comments}
93 -- ---------------------------------------------------------------------------
94
95 Procedure chk_defaults
96 (p_element_type_id in number
97 ,p_qualifying_age in out nocopy varchar2
98 ,p_qualifying_length_of_service in out nocopy varchar2
99 ,p_qualifying_units in out nocopy varchar2
100 ,p_multiply_value_flag in out nocopy varchar2
101 ,p_standard_link_flag in out nocopy varchar2
102 ,p_effective_date in date
103 );
104
105
106 /* $Header: pypelrhi.pkh 120.2.12010000.1 2008/07/27 23:21:57 appldev ship $ */
107 --
108 -- ---------------------------------------------------------------------------
109 -- |----------------------< chk_link_input_values >--------------------------|
110 -- ---------------------------------------------------------------------------
111 -- {Start Of Comments}
112 --
113 -- Description:
114 -- Creates link input values
115 --
116 -- Prerequisites:
117 -- The primary key identified by p_element_type_id
118 -- already exists.
119 --
120 -- In Arguments:
121 -- p_element_type_id
122 -- p_element_link_id
123 -- p_effective_date
124 --
125 -- Post Success:
126 -- Input values created
127 --
128 -- Post Failure:
129 -- Error is raised
130 --
131 -- Access Status:
132 -- Internal Development Use Only.
133 --
134 -- {End Of Comments}
135 -- ---------------------------------------------------------------------------
136
137 Procedure chk_link_input_values
138 (p_element_type_id in number,
139 p_element_link_id in number,
140 p_effective_date in date
141 );
142
143
144 /* $Header: pypelrhi.pkh 120.2.12010000.1 2008/07/27 23:21:57 appldev ship $ */
145 --
146 -- ---------------------------------------------------------------------------
147 -- |----------------------< chk_end_date >--------------------------|
148 -- ---------------------------------------------------------------------------
149 -- {Start Of Comments}
150 --
151 -- Description:
152 -- Gets the least of effective end date among the following
153 -- 1. its element type.
154 -- 2. if the link is to a specific payroll, the end date of that payroll
155 -- OR
156 -- if the link is to any payroll, the maximum end date from all of the
157 -- payrolls
158 -- 3. (start date - 1) of a future link which is not mutually exclusive.-- --
159 -- Prerequisites:
160 --
161 --
162 -- In Arguments:
163 -- p_element_type_id
164 -- p_element_link_id
165 -- p_effective_start_date
166 -- p_effective_end_date
167 -- p_organization_id
168 -- p_people_group_id
169 -- p_job_id
170 -- p_position_id
171 -- p_grade_id
172 -- p_location_id
173 -- p_link_to_all_payrolls_flag
174 -- p_payroll_id
175 -- p_employment_category
176 -- p_pay_basis_id
177 -- p_business_group_id
178 --
179 -- Post Success:
180 -- Returns End Date
181 --
182 -- Post Failure:
183 -- Error is raised
184 --
185 -- Access Status:
186 -- Internal Development Use Only.
187 --
188 -- {End Of Comments}
189 -- ---------------------------------------------------------------------------
190
191 Procedure chk_end_date
192 (p_element_type_id in number,
193 p_element_link_id in number,
194 p_effective_start_date in date,
195 p_effective_end_date in out nocopy date,
196 p_organization_id in number,
197 p_people_group_id in number,
198 p_job_id in number,
199 p_position_id in number,
200 p_grade_id in number,
201 p_location_id in number,
202 p_link_to_all_payrolls_flag in varchar2,
203 p_payroll_id in number,
204 p_employment_category in varchar2,
205 p_pay_basis_id in number,
206 p_business_group_id in number
207 );
208
209 /* $Header: pypelrhi.pkh 120.2.12010000.1 2008/07/27 23:21:57 appldev ship $ */
210 --
211 -- ---------------------------------------------------------------------------
212 -- |----------------------< chk_standard_entries >--------------------------|
213 -- ---------------------------------------------------------------------------
214 -- {Start Of Comments}
215 --
216 -- Description:
217 -- Creates standard entries
218 --
219 -- Prerequisites:
220 -- The primary key identified by p_element_type_id
221 -- already exists.
222 --
223 -- In Arguments:
224 -- p_business_group_id
225 -- p_element_link_id
226 -- p_element_type_id
227 -- p_effective_start_date
228 -- p_effective_end_date
229 -- p_payroll_id
230 -- p_link_to_all_payrolls_flag
231 -- p_job_id
232 -- p_grade_id
233 -- p_position_id
234 -- p_organization_id
235 -- p_location_id
236 -- p_pay_basis_id
237 -- p_employment_category
238 -- p_people_group_id
239 --
240 -- Post Success:
241 -- Standard entries created
242 --
243 -- Post Failure:
244 -- Error raised.
245 --
246 -- Access Status:
247 -- Internal Development Use Only.
248 --
249 -- {End Of Comments}
250 -- ---------------------------------------------------------------------------
251 Procedure chk_standard_entries
252 ( p_business_group_id in number
253 ,p_element_link_id in number
254 ,p_element_type_id in number
255 ,p_effective_start_date in date
256 ,p_effective_end_date in date
257 ,p_payroll_id in number
258 ,p_link_to_all_payrolls_flag in varchar2
259 ,p_job_id in number
260 ,p_grade_id in number
261 ,p_position_id in number
262 ,p_organization_id in number
263 ,p_location_id in number
264 ,p_pay_basis_id in number
265 ,p_employment_category in varchar2
266 ,p_people_group_id in number
267 );
268
269 /* $Header: pypelrhi.pkh 120.2.12010000.1 2008/07/27 23:21:57 appldev ship $ */
270 --
271 -- ---------------------------------------------------------------------------
272 -- |----------------------< chk_asg_link_usages >--------------------------|
273 -- ---------------------------------------------------------------------------
274 -- {Start Of Comments}
275 --
276 -- Description:
277 -- Creates assignment link usages --
278 -- Prerequisites:
279 -- The primary key identified by p_element_type_id
280 -- already exists.
281 --
282 -- In Arguments:
283 -- p_business_group_id
284 -- p_people_group_id
285 -- p_element_link_id
286 -- p_effective_start_date
287 -- p_effective_end_date
288 --
289 -- Post Success:
290 -- Assignment Link Usages created
291 --
292 -- Post Failure:
293 -- Error raised.
294 --
295 -- Access Status:
296 -- Internal Development Use Only.
297 --
298 -- {End Of Comments}
299 -- ---------------------------------------------------------------------------
300
301 Procedure chk_asg_link_usages
302 (p_business_group_id in number,
303 p_people_group_id in number,
304 p_element_link_id in number,
305 p_effective_start_date in date,
306 p_effective_end_date in date);
307
308
309 -- ----------------------------------------------------------------------------
310 -- |---------------------------< insert_validate >----------------------------|
311 -- ----------------------------------------------------------------------------
312 --
313 -- Description:
314 -- This procedure controls the execution of all insert business rules
315 -- validation.
316 --
317 -- Prerequisites:
318 -- This private procedure is called from ins procedure.
319 --
320 -- In Parameters:
321 -- A Pl/Sql record structre.
322 --
323 -- Post Success:
324 -- Processing continues.
325 --
326 -- Post Failure:
327 -- If a business rules fails the error will not be handled by this procedure
328 -- unless explicity coded.
329 --
330 -- Developer Implementation Notes:
331 -- For insert, your business rules should be executed from this procedure and
332 -- should ideally (unless really necessary) just be straight procedure or
333 ----------------------------------------------------------------------------------------------------
334 -- function calls. Try and avoid using conditional branching logic.
335 -- -
336 -- Access Status:
337 -- Internal Row Handler Use Only.
338 -- {End Of Comments}
339 -- ----------------------------------------------------------------------------
340 Procedure insert_validate
341 (p_rec in pay_pel_shd.g_rec_type
342 ,p_effective_date in date
343 ,p_datetrack_mode in varchar2
344 ,p_validation_start_date in date
345 ,p_validation_end_date in date
346 );
347 --
348 -- ----------------------------------------------------------------------------
349 -- |---------------------------< update_validate >----------------------------|
350 -- ----------------------------------------------------------------------------
351 --
352 -- Description:
353 -- This procedure controls the execution of all update business rules
354 -- validation.
355 --
356 -- Prerequisites:
357 -- This private procedure is called from upd procedure.
358 --
359 -- In Parameters:
360 -- A Pl/Sql record structre.
361 --
362 -- Post Success:
363 -- Processing continues.
364 --
365 -- Post Failure:
366 -- If a business rules fails the error will not be handled by this procedure
367 -- unless explicity coded.
368 --
369 -- Developer Implementation Notes:
370 -- For update, your business rules should be executed from this procedure and
371 -- should ideally (unless really necessary) just be straight procedure or
372 -- function calls. Try and avoid using conditional branching logic.
373 --
374 -- Access Status:
375 -- Internal Row Handler Use Only.
376 --
377 -- ----------------------------------------------------------------------------
378 Procedure update_validate
379 (p_rec in pay_pel_shd.g_rec_type
380 ,p_effective_date in date
381 ,p_datetrack_mode in varchar2
382 ,p_validation_start_date in date
383 ,p_validation_end_date in date
384 );
385 --
386 -- ----------------------------------------------------------------------------
387 -- |---------------------------< delete_validate >----------------------------|
388 -- ----------------------------------------------------------------------------
389 --
390 -- Description:
391 -- This procedure controls the execution of all delete business rules
392 -- validation.
393 --
394 -- Prerequisites:
395 -- This private procedure is called from del procedure.
396 --
397 -- In Parameters:
398 -- A Pl/Sql record structure.
399 --
400 -- Post Success:
401 -- Processing continues.
402 --
403 -- Post Failure:
404 -- If a business rules fails the error will not be handled by this procedure
405 -- unless explicity coded.
406 --
407 -- Developer Implementation Notes:
408 -- For delete, your business rules should be executed from this procedure and
409 -- should ideally (unless really necessary) just be straight procedure or
410 -- function calls. Try and avoid using conditional branching logic.
411 --
412 -- Access Status:
413 -- Internal Row Handler Use Only.
414 --
415 -- ----------------------------------------------------------------------------
416 Procedure delete_validate
417 (p_rec in pay_pel_shd.g_rec_type
418 ,p_effective_date in date
419 ,p_datetrack_mode in varchar2
420 ,p_validation_start_date in date
421 ,p_validation_end_date in date
422 );
423 --
424 /* $Header: pypelrhi.pkh 120.2.12010000.1 2008/07/27 23:21:57 appldev ship $ */
425 --
426 -- ---------------------------------------------------------------------------
427 -- |----------------------< chk_date_eff_delete >--------------------------|
428 -- ---------------------------------------------------------------------------
429 --
430 -- Description:
431 -- Checks if entries exists whose earliest date is beyond the new end date or
432 -- if balance adjustment entries exist at all beyond the new end date
433 --
434 -- Prerequisites:
435 -- The primary key identified by p_element_type_id
436 -- already exists.
437 --
438 -- In Arguments:
439 -- p_element_link_id
440 -- p_delete_mode
441 -- p_validation_start_date
442 --
443 -- Post Success:
444 -- Does not raise an error
445 --
446 -- Post Failure:
447 -- Error raised.
448 --
449 -- Access Status:
450 -- Internal Development Use Only.
451 --
452 -- ---------------------------------------------------------------------------
453 procedure chk_date_eff_delete
454 (p_element_link_id in number,
455 p_delete_mode in varchar2,
456 p_validation_start_date in date
457 );
458
459 end pay_pel_bus;