DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_FUNCTIONAL_AREAS_PKG

Source


1 PACKAGE BODY pay_functional_areas_pkg AS
2 -- $Header: pypfaapi.pkb 115.3 2002/12/11 15:13:18 exjones noship $
3 --
4 ----------------------------------------------------------------------------------
5 PROCEDURE lock_row(
6 		p_row_id	IN VARCHAR2,
7  		p_area_id	IN NUMBER,
8  		p_short_name	IN VARCHAR2,
9  		p_description 	IN VARCHAR2
10  	) IS
11  	  CURSOR csr_functional_area IS
12  	    SELECT  *
13  	    FROM    pay_functional_areas
14  	    WHERE   rowid = p_row_id
15  	    FOR UPDATE OF
16  	            area_id NOWAIT;
17  	  --
18  	  area_record csr_functional_area%ROWTYPE;
19  	  --
20 BEGIN
21     OPEN csr_functional_area;
22     FETCH csr_functional_area INTO area_record;
23     IF csr_functional_area%NOTFOUND THEN
24       CLOSE csr_functional_area;
25       Hr_Utility.Set_Message(801,'HR_6153_ALL_PROCEDURE_FAIL');
26       Hr_Utility.Set_Message_Token(
27         'PROCEDURE',
28         'PAY_FUNCTIONAL_AREAS_PKG.LOCK_ROW'
29       );
30     END IF;
31     CLOSE csr_functional_area;
32     --
33     IF  ((area_record.area_id = p_area_id) OR
34          (area_record.area_id IS NULL AND p_area_id IS NULL))
35     AND ((area_record.short_name = p_short_name) OR
36          (area_record.short_name IS NULL AND p_short_name IS NULL))
37     AND ((area_record.description = p_description) OR
38          (area_record.description IS NULL AND p_description IS NULL))
39     THEN
40       RETURN;
41     ELSE
42       Hr_Utility.Set_Message(0,'FORM_RECORD_CHANGED');
43       Hr_Utility.Raise_Error;
44     END IF;
45 END lock_row;
46 --
47 ----------------------------------------------------------------------------------
48 PROCEDURE insert_row(
49 		p_row_id        IN out nocopy VARCHAR2,
50  		p_area_id	IN out nocopy NUMBER,
51  		p_short_name	IN VARCHAR2,
52  		p_description 	IN VARCHAR2
53  	) IS
54  	  --
55  	  CURSOR csr_new_id IS
56  	    SELECT  pay_functional_areas_s.NEXTVAL
57  	    FROM    dual;
58  	  --
59  	  CURSOR csr_area_rowid IS
60  	    SELECT  rowid
61  	    FROM    pay_functional_areas
62  	    WHERE   area_id = p_area_id;
63  	  --
64  BEGIN
65     --
66     OPEN csr_new_id;
67     FETCH csr_new_id INTO p_area_id;
68     CLOSE csr_new_id;
69     --
70     INSERT INTO pay_functional_areas(
71       area_id,
72       short_name,
73       description
74     ) VALUES (
75       p_area_id,
76       p_short_name,
77       p_description
78     );
79     --
80     OPEN csr_area_rowid;
81     FETCH csr_area_rowid INTO p_row_id;
82     IF csr_area_rowid%NOTFOUND THEN
83       CLOSE csr_area_rowid;
84       Hr_Utility.Set_Message(801,'HR_6153_ALL_PROCEDURE_FAIL');
85       Hr_Utility.Set_Message_Token(
86         'PROCEDURE',
87         'PAY_FUNCTIONAL_AREAS_PKG.INSERT_ROW'
88       );
89     END IF;
90     CLOSE csr_area_rowid;
91     --
92  END insert_row;
93 --
94 ----------------------------------------------------------------------------------
95 PROCEDURE update_row(
96 		p_row_id        IN VARCHAR2,
97  		p_area_id	IN NUMBER,
98  		p_short_name	IN VARCHAR2,
99  		p_description 	IN VARCHAR2
100  	) IS
101  BEGIN
102     UPDATE  pay_functional_areas
103     SET     area_id                     = p_area_id,
104             short_name                  = p_short_name,
105             description                 = p_description
106     WHERE   rowid                       = p_row_id;
107     --
108     IF SQL%NOTFOUND THEN
109       Hr_Utility.Set_Message(801,'HR_6153_ALL_PROCEDURE_FAIL');
110       Hr_Utility.Set_Message_Token(
111         'PROCEDURE',
112         'PAY_FUNCTIONAL_AREAS_PKG.UPDATE_ROW'
113       );
114     END IF;
115  END update_row;
116 ----------------------------------------------------------------------------------
117 PROCEDURE delete_row(
118 		p_row_id        IN VARCHAR2,
119  		p_area_id	IN NUMBER
120  	) IS
121 BEGIN
122     DELETE
128       Hr_Utility.Set_Message_Token(
123     FROM    pay_functional_areas
124     WHERE   rowid = p_row_id;
125     --
126     IF SQL%NOTFOUND THEN
127       Hr_Utility.Set_Message(801,'HR_6153_ALL_PROCEDURE_FAIL');
129         'PROCEDURE',
130         'PAY_FUNCTIONAL_AREAS_PKG.DELETE_ROW'
131       );
132     END IF;
133 END delete_row;
134 -----------------------------------------------------------------------------------
135 FUNCTION name_is_not_unique (
141 -- Parameters are
136 --
137 --*********************************************************************************
138 --* Returns TRUE if the functional area short name has been duplicated            *
139 --*********************************************************************************
140 --
142 --
143 p_short_name      varchar2,
144 p_area_id         number     default null
145 --
146 		) return boolean is
147 --
151 cursor csr_duplicate is
148 v_name_duplicated boolean := FALSE;
149 l_dummy_number number;
150 --
152 	select null
153 	from pay_functional_areas pfa
154 	where pfa.short_name = p_short_name
155 	and (pfa.area_id <> p_area_id
156 	     or p_area_id is null);
157 --
158 begin
159 --
160   hr_utility.set_location('PAY_FUNCTIONAL_AREAS_PKG.NAME_IS_NOT_UNIQUE',1);
161 --
162   open csr_duplicate;
163   fetch csr_duplicate into l_dummy_number;
164   v_name_duplicated := csr_duplicate%found;
165   close csr_duplicate;
166 --
167   return v_name_duplicated;
168 --
169 end name_is_not_unique;
170 --
171 
172 END pay_functional_areas_pkg;