1 PACKAGE BODY hr_de_extra_assignment_checks AS
2 /* $Header: pedeasgv.pkb 120.1 2006/09/12 09:58:34 abppradh noship $ */
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 RETURN (NVL(p_value, 1) <> hr_api.g_number); END val_changed;
9 --
10 FUNCTION val_changed(p_value IN VARCHAR2) RETURN BOOLEAN IS
11 BEGIN RETURN (NVL(p_value, 'a') <> hr_api.g_varchar2); END val_changed;
12 --
13 FUNCTION val_changed(p_value IN DATE) RETURN BOOLEAN IS
14 BEGIN RETURN (NVL(p_value, sysdate) <> hr_api.g_date); END val_changed;
15 --
16 --
17 -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
18 -- Assignment checks.
19 --
20 -- 1. Union Membership cannot be recorded.
21 -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
22 --
23 PROCEDURE assignment_checks
24 (p_labour_union_member_flag IN VARCHAR2) IS
25 BEGIN
26 --
27 --
28 -- Check if DE is installed
29 IF hr_utility.chk_product_install('Oracle Human Resources', 'DE') THEN
30
31 -- Check that the union member flag has not been set.
32 --
33 If val_changed(p_labour_union_member_flag) AND p_labour_union_member_flag IS NOT NULL THEN
34 hr_utility.set_message(800, 'HR_DE_INVALID_UNION_FLAG');
35 hr_utility.raise_error;
36 END IF;
37
38 END IF;
39 END assignment_checks;
40 END hr_de_extra_assignment_checks;