[Home] [Help]
PACKAGE BODY: APPS.PQH_RNG_SHD
Source
1 Package Body pqh_rng_shd as
2 /* $Header: pqrngrhi.pkb 115.18 2004/06/24 16:51:43 srajakum noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' pqh_rng_shd.'; -- Global package name
9 --
10 --
11 -- ----------------------------------------------------------------------------
12 -- |---------------------------< constraint_error >---------------------------|
13 -- ----------------------------------------------------------------------------
14 Procedure constraint_error
15 (p_constraint_name in all_constraints.constraint_name%TYPE) Is
16 --
17 l_proc varchar2(72) := g_package||'constraint_error';
18 --
19 Begin
20 hr_utility.set_location('Entering:'||l_proc, 5);
21 --
22 If (p_constraint_name = 'PQH_ATTRIBUTE_RANGES_FK1') Then
23 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
24 hr_utility.set_message_token('PROCEDURE', l_proc);
25 hr_utility.set_message_token('STEP','5');
26 hr_utility.raise_error;
27 ElsIf (p_constraint_name = 'PQH_ATTRIBUTE_RANGES_FK2') Then
28 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
29 hr_utility.set_message_token('PROCEDURE', l_proc);
30 hr_utility.set_message_token('STEP','10');
31 hr_utility.raise_error;
32 ElsIf (p_constraint_name = 'PQH_ATTRIBUTE_RANGES_FK3') Then
33 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
34 hr_utility.set_message_token('PROCEDURE', l_proc);
35 hr_utility.set_message_token('STEP','15');
36 hr_utility.raise_error;
37 ElsIf (p_constraint_name = 'PQH_ATTRIBUTE_RANGES_FK4') Then
38 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
39 hr_utility.set_message_token('PROCEDURE', l_proc);
40 hr_utility.set_message_token('STEP','20');
41 hr_utility.raise_error;
42 ElsIf (p_constraint_name = 'PQH_ATTRIBUTE_RANGES_PK') Then
43 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
44 hr_utility.set_message_token('PROCEDURE', l_proc);
45 hr_utility.set_message_token('STEP','25');
46 hr_utility.raise_error;
47 Else
48 hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
49 hr_utility.set_message_token('PROCEDURE', l_proc);
50 hr_utility.set_message_token('CONSTRAINT_NAME', p_constraint_name);
51 hr_utility.raise_error;
52 End If;
53 --
54 hr_utility.set_location(' Leaving:'||l_proc, 10);
55 End constraint_error;
56 --
57 -- ----------------------------------------------------------------------------
58 -- |-----------------------------< api_updating >-----------------------------|
59 -- ----------------------------------------------------------------------------
60 Function api_updating
61 (
62 p_attribute_range_id in number,
63 p_object_version_number in number
64 ) Return Boolean Is
65 --
66 --
67 -- Cursor selects the 'current' row from the HR Schema
68 --
69 Cursor C_Sel1 is
70 select
71 attribute_range_id,
72 approver_flag,
73 enable_flag,
74 delete_flag,
75 assignment_id,
76 attribute_id,
77 from_char,
78 from_date,
79 from_number,
80 position_id,
81 range_name,
82 routing_category_id,
83 routing_list_member_id,
84 to_char,
85 to_date,
86 to_number,
87 object_version_number
88 from pqh_attribute_ranges
89 where attribute_range_id = p_attribute_range_id;
90 --
91 l_proc varchar2(72) := g_package||'api_updating';
92 l_fct_ret boolean;
93 --
94 Begin
95 hr_utility.set_location('Entering:'||l_proc, 5);
96 --
97 If (
98 p_attribute_range_id is null and
99 p_object_version_number is null
100 ) Then
101 --
102 -- One of the primary key arguments is null therefore we must
103 -- set the returning function value to false
104 --
105 l_fct_ret := false;
106 Else
107 If (
108 p_attribute_range_id = g_old_rec.attribute_range_id and
109 p_object_version_number = g_old_rec.object_version_number
110 ) Then
111 hr_utility.set_location(l_proc, 10);
112 --
113 -- The g_old_rec is current therefore we must
114 -- set the returning function to true
115 --
116 l_fct_ret := true;
117 Else
118 --
119 -- Select the current row into g_old_rec
120 --
121 Open C_Sel1;
122 Fetch C_Sel1 Into g_old_rec;
123 If C_Sel1%notfound Then
124 Close C_Sel1;
125 --
126 -- The primary key is invalid therefore we must error
127 --
128 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
129 hr_utility.raise_error;
130 End If;
131 Close C_Sel1;
132 If (p_object_version_number <> g_old_rec.object_version_number) Then
133 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
134 hr_utility.raise_error;
135 End If;
136 hr_utility.set_location(l_proc, 15);
137 l_fct_ret := true;
138 End If;
139 End If;
140 hr_utility.set_location(' Leaving:'||l_proc, 20);
141 Return (l_fct_ret);
142 --
143 End api_updating;
144 --
145 -- ----------------------------------------------------------------------------
146 -- |---------------------------------< lck >----------------------------------|
147 -- ----------------------------------------------------------------------------
148 Procedure lck
149 (
150 p_attribute_range_id in number,
151 p_object_version_number in number
152 ) is
153 --
154 -- Cursor selects the 'current' row from the HR Schema
155 --
156 Cursor C_Sel1 is
157 select attribute_range_id,
158 approver_flag,
159 enable_flag,
160 delete_flag,
161 assignment_id,
162 attribute_id,
163 from_char,
164 from_date,
165 from_number,
166 position_id,
167 range_name,
168 routing_category_id,
169 routing_list_member_id,
170 to_char,
171 to_date,
172 to_number,
173 object_version_number
174 from pqh_attribute_ranges
175 where attribute_range_id = p_attribute_range_id
176 for update nowait;
177 --
178 l_proc varchar2(72) := g_package||'lck';
179 --
180 Begin
181 hr_utility.set_location('Entering:'||l_proc, 5);
182 --
183 -- Add any mandatory argument checking here:
184 -- Example:
185 -- hr_api.mandatory_arg_error
186 -- (p_api_name => l_proc,
187 -- p_argument => 'object_version_number',
188 -- p_argument_value => p_object_version_number);
189 --
190 Open C_Sel1;
191 Fetch C_Sel1 Into g_old_rec;
192 If C_Sel1%notfound then
193 Close C_Sel1;
194 --
195 -- The primary key is invalid therefore we must error
196 --
197 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
198 hr_utility.raise_error;
199 End If;
200 Close C_Sel1;
201 If (p_object_version_number <> g_old_rec.object_version_number) Then
202 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
203 hr_utility.raise_error;
204 End If;
205 --
206 hr_utility.set_location(' Leaving:'||l_proc, 10);
207 --
208 -- We need to trap the ORA LOCK exception
209 --
210 Exception
211 When HR_Api.Object_Locked then
212 --
213 -- The object is locked therefore we need to supply a meaningful
214 -- error message.
215 --
216 hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
217 hr_utility.set_message_token('TABLE_NAME', 'pqh_attribute_ranges');
218 hr_utility.raise_error;
219 End lck;
220 --
221 -- ----------------------------------------------------------------------------
222 -- |-----------------------------< convert_args >-----------------------------|
223 -- ----------------------------------------------------------------------------
224 Function convert_args
225 (
226 p_attribute_range_id in number,
227 p_approver_flag in varchar2,
228 p_enable_flag in varchar2,
229 p_delete_flag in varchar2,
230 p_assignment_id in number,
231 p_attribute_id in number,
232 p_from_char in varchar2,
233 p_from_date in date,
234 p_from_number in number,
235 p_position_id in number,
236 p_range_name in varchar2,
237 p_routing_category_id in number,
238 p_routing_list_member_id in number,
239 p_to_char in varchar2,
240 p_to_date in date,
241 p_to_number in number,
242 p_object_version_number in number
243 )
244 Return g_rec_type is
245 --
246 l_rec g_rec_type;
247 l_proc varchar2(72) := g_package||'convert_args';
248 --
249 Begin
250 --
251 hr_utility.set_location('Entering:'||l_proc, 5);
252 --
253 -- Convert arguments into local l_rec structure.
254 --
255 l_rec.attribute_range_id := p_attribute_range_id;
256 l_rec.approver_flag := p_approver_flag;
257 l_rec.enable_flag := p_enable_flag;
258 l_rec.delete_flag := p_delete_flag;
259 l_rec.assignment_id := p_assignment_id;
260 l_rec.attribute_id := p_attribute_id;
261 l_rec.from_char := p_from_char;
262 l_rec.from_date := p_from_date;
263 l_rec.from_number := p_from_number;
264 l_rec.position_id := p_position_id;
265 l_rec.range_name := p_range_name;
266 l_rec.routing_category_id := p_routing_category_id;
267 l_rec.routing_list_member_id := p_routing_list_member_id;
268 l_rec.to_char := p_to_char;
269 l_rec.to_date := p_to_date;
270 l_rec.to_number := p_to_number;
271 l_rec.object_version_number := p_object_version_number;
272 --
273 -- Return the plsql record structure.
274 --
275 hr_utility.set_location(' Leaving:'||l_proc, 10);
276 Return(l_rec);
277 --
278 End convert_args;
279 --
280 end pqh_rng_shd;