1 PACKAGE BODY hr_it_extra_assgt_rules AS
2 /* $Header: hritexas.pkb 115.2 2002/01/04 05:57:54 pkm ship $ */
3 --
4 --
5 -- Service functions to return TRUE if the value passed has been changed.
6 --
7 FUNCTION val_changed(p_value IN NUMBER) RETURN BOOLEAN IS
8 BEGIN
9 RETURN (p_value IS NULL OR p_value <> hr_api.g_number);
10 END val_changed;
11 --
12 FUNCTION val_changed(p_value IN VARCHAR2) RETURN BOOLEAN IS
13 BEGIN
14 RETURN (p_value IS NULL OR p_value <> hr_api.g_varchar2);
15 END val_changed;
16 --
17 FUNCTION val_changed(p_value IN DATE) RETURN BOOLEAN IS
18 BEGIN
19 RETURN (p_value IS NULL OR p_value <> hr_api.g_date);
20 END val_changed;
21 --
22 --
23 -- Employment category:
24 --
25 -- It is validated against the list of values held in the lookup type IT_EMP_CAT.
26 --
27 -- Note: Supports both real and API system values (these are passed when the value has not
28 -- been changed.
29 --
30 PROCEDURE extra_assignment_checks
31 (p_employment_category IN VARCHAR2) IS
32 --
33 --
34 -- Local variables.
35 --
36 l_emp_cat VARCHAR2(40);
37 BEGIN
38 IF val_changed(p_employment_category) AND p_employment_category IS NOT NULL THEN
39 BEGIN
40 SELECT lookup_code
41 INTO l_emp_cat
42 FROM hr_lookups
43 WHERE lookup_type = 'IT_EMP_CAT'
44 AND lookup_code = p_employment_category;
45 EXCEPTION
46 WHEN no_data_found THEN
47 hr_utility.set_message(800, 'HR_IT_INVALID_EMP_CAT');
48 hr_utility.raise_error;
49 END;
50 END IF;
51 END extra_assignment_checks;
52 END hr_it_extra_assgt_rules;