[Home] [Help]
PACKAGE BODY: APPS.GHR_POSITION_API
Source
1 Package Body ghr_position_api as
2 /* $Header: ghposapi.pkb 115.1 1999/11/09 16:03:36 pkm ship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := 'ghr_position_api.';
7 --
8 -- ---------------------------------------------------------------------------
9 -- |--------------------------< create_position >-----------------------------|
10 -- ---------------------------------------------------------------------------
11 --
12 procedure create_position
13 (p_validate in boolean default false
14 ,p_job_id in number
15 ,p_organization_id in number
16 ,p_date_effective in date
17 ,p_successor_position_id in number default null
18 ,p_relief_position_id in number default null
19 ,p_location_id in number default null
20 ,p_comments in varchar2 default null
21 ,p_date_end in date default null
22 ,p_frequency in varchar2 default null
23 ,p_probation_period in number default null
24 ,p_probation_period_units in varchar2 default null
25 ,p_replacement_required_flag in varchar2 default null
26 ,p_time_normal_finish in varchar2 default null
27 ,p_time_normal_start in varchar2 default null
28 ,p_status in varchar2 default null
29 ,p_working_hours in number default null
30 ,p_attribute_category in varchar2 default null
31 ,p_attribute1 in varchar2 default null
32 ,p_attribute2 in varchar2 default null
33 ,p_attribute3 in varchar2 default null
34 ,p_attribute4 in varchar2 default null
35 ,p_attribute5 in varchar2 default null
36 ,p_attribute6 in varchar2 default null
37 ,p_attribute7 in varchar2 default null
38 ,p_attribute8 in varchar2 default null
39 ,p_attribute9 in varchar2 default null
40 ,p_attribute10 in varchar2 default null
41 ,p_attribute11 in varchar2 default null
42 ,p_attribute12 in varchar2 default null
43 ,p_attribute13 in varchar2 default null
44 ,p_attribute14 in varchar2 default null
45 ,p_attribute15 in varchar2 default null
46 ,p_attribute16 in varchar2 default null
47 ,p_attribute17 in varchar2 default null
48 ,p_attribute18 in varchar2 default null
49 ,p_attribute19 in varchar2 default null
50 ,p_attribute20 in varchar2 default null
51 ,p_segment1 in varchar2 default null
52 ,p_segment2 in varchar2 default null
53 ,p_segment3 in varchar2 default null
54 ,p_segment4 in varchar2 default null
55 ,p_segment5 in varchar2 default null
56 ,p_segment6 in varchar2 default null
57 ,p_segment7 in varchar2 default null
58 ,p_segment8 in varchar2 default null
59 ,p_segment9 in varchar2 default null
60 ,p_segment10 in varchar2 default null
61 ,p_segment11 in varchar2 default null
62 ,p_segment12 in varchar2 default null
63 ,p_segment13 in varchar2 default null
64 ,p_segment14 in varchar2 default null
65 ,p_segment15 in varchar2 default null
66 ,p_segment16 in varchar2 default null
67 ,p_segment17 in varchar2 default null
68 ,p_segment18 in varchar2 default null
69 ,p_segment19 in varchar2 default null
70 ,p_segment20 in varchar2 default null
71 ,p_segment21 in varchar2 default null
72 ,p_segment22 in varchar2 default null
73 ,p_segment23 in varchar2 default null
74 ,p_segment24 in varchar2 default null
75 ,p_segment25 in varchar2 default null
76 ,p_segment26 in varchar2 default null
77 ,p_segment27 in varchar2 default null
78 ,p_segment28 in varchar2 default null
79 ,p_segment29 in varchar2 default null
80 ,p_segment30 in varchar2 default null
81 ,p_concat_segments in varchar2 default null
82 ,p_position_id out number
83 ,p_object_version_number out number
84 ,p_position_definition_id out number
85 ,p_name out varchar2
86 ) is
87
88 --
89 -- Declare cursors and local variables
90 --
91 l_proc varchar2(72) := g_package||'create_position';
92 l_name per_positions.name%type;
93 l_position_definition_id per_positions.position_definition_id%type;
94 --
95 begin
96 hr_utility.set_location('Entering:'|| l_proc, 5);
97 --
98 -- Issue a savepoint if operating in validation only mode.
99 --
100 savepoint ghr_create_position;
101 --
102 hr_utility.set_location(l_proc, 10);
103 --
104
105 ghr_Session.set_session_var_for_core
106 (p_effective_date => p_date_effective
107 );
108 --
109 hr_position_api.create_position
110 (p_validate => FALSE
111 ,p_job_id => p_job_id
112 ,p_organization_id => p_organization_id
113 ,p_date_effective => p_date_effective
114 ,p_successor_position_id => p_successor_position_id
115 ,p_relief_position_id => p_relief_position_id
116 ,p_location_id => p_location_id
117 ,p_comments => p_comments
118 ,p_date_end => p_date_end
119 ,p_frequency => p_frequency
120 ,p_probation_period => p_probation_period
121 ,p_probation_period_units => p_probation_period_units
122 ,p_replacement_required_flag => p_replacement_required_flag
123 ,p_time_normal_finish => p_time_normal_finish
124 ,p_time_normal_start => p_time_normal_start
125 ,p_status => p_status
126 ,p_working_hours => p_working_hours
127 ,p_attribute_category => p_attribute_category
128 ,p_attribute1 => p_attribute1
129 ,p_attribute2 => p_attribute2
130 ,p_attribute3 => p_attribute3
131 ,p_attribute4 => p_attribute4
132 ,p_attribute5 => p_attribute5
133 ,p_attribute6 => p_attribute6
134 ,p_attribute7 => p_attribute7
135 ,p_attribute8 => p_attribute8
136 ,p_attribute9 => p_attribute9
137 ,p_attribute10 => p_attribute10
138 ,p_attribute11 => p_attribute11
139 ,p_attribute12 => p_attribute12
140 ,p_attribute13 => p_attribute13
141 ,p_attribute14 => p_attribute14
142 ,p_attribute15 => p_attribute15
143 ,p_attribute16 => p_attribute16
144 ,p_attribute17 => p_attribute17
145 ,p_attribute18 => p_attribute18
146 ,p_attribute19 => p_attribute19
147 ,p_attribute20 => p_attribute20
148 ,p_segment1 => p_segment1
149 ,p_segment2 => p_segment2
150 ,p_segment3 => p_segment3
151 ,p_segment4 => p_segment4
152 ,p_segment5 => p_segment5
153 ,p_segment6 => p_segment6
154 ,p_segment7 => p_segment7
155 ,p_segment8 => p_segment8
156 ,p_segment9 => p_segment9
157 ,p_segment10 => p_segment10
158 ,p_segment11 => p_segment11
159 ,p_segment12 => p_segment12
160 ,p_segment13 => p_segment13
161 ,p_segment14 => p_segment14
162 ,p_segment15 => p_segment15
163 ,p_segment16 => p_segment16
164 ,p_segment17 => p_segment17
165 ,p_segment18 => p_segment18
166 ,p_segment19 => p_segment19
167 ,p_segment20 => p_segment20
168 ,p_segment21 => p_segment21
169 ,p_segment22 => p_segment22
170 ,p_segment23 => p_segment23
171 ,p_segment24 => p_segment24
172 ,p_segment25 => p_segment25
173 ,p_segment26 => p_segment26
174 ,p_segment27 => p_segment27
175 ,p_segment28 => p_segment28
176 ,p_segment29 => p_segment29
177 ,p_segment30 => p_segment30
178 -- ,p_concat_segments => p_concat_segments
179 ,p_position_id => p_position_id
180 ,p_object_version_number => p_object_version_number
181 ,p_position_definition_id => l_position_definition_id
182 ,p_name => l_name
183 );
184
185 hr_utility.set_location(l_proc, 20);
186 --
187 ghr_history_api.post_update_process;
188
189 -- When in validation only mode raise the Validate_Enabled exception
190 --
191 if p_validate then
192 raise hr_api.validate_enabled;
193 end if;
194 p_position_definition_id := l_position_definition_id;
195 p_name := l_name;
196 --
197 hr_utility.set_location(' Leaving:'||l_proc, 50);
198 exception
199 when hr_api.validate_enabled then
200 --
201 -- As the Validate_Enabled exception has been raised
202 -- we must rollback to the savepoint
203 --
204 ROLLBACK TO ghr_create_position;
205 --
206 -- Only set output warning arguments
207 -- (Any key or derived arguments must be set to null
208 -- when validation only mode is being used.)
209 --
210 p_name := null;
211 p_position_id := null;
212 p_position_definition_id := null;
213 p_object_version_number := null;
214 --
215 When others then
216 ROLLBACK TO ghr_create_position;
217 raise;
218 end create_position;
219
220 --
221 -- ---------------------------------------------------------------------------
222 -- |--------------------------< update_position >-----------------------------|
223 -- ---------------------------------------------------------------------------
224 --
225 procedure update_position
226 (p_validate in boolean default false
227 ,p_position_id in number
228 ,p_object_version_number in out number
229 ,p_successor_position_id in number default hr_api.g_number
230 ,p_relief_position_id in number default hr_api.g_number
231 ,p_location_id in number default hr_api.g_number
232 ,p_date_effective in date default hr_api.g_date
233 ,p_comments in varchar2 default hr_api.g_varchar2
234 ,p_date_end in date default hr_api.g_date
235 ,p_frequency in varchar2 default hr_api.g_varchar2
236 ,p_probation_period in number default hr_api.g_number
237 ,p_probation_period_units in varchar2 default hr_api.g_varchar2
238 ,p_replacement_required_flag in varchar2 default hr_api.g_varchar2
239 ,p_time_normal_finish in varchar2 default hr_api.g_varchar2
240 ,p_time_normal_start in varchar2 default hr_api.g_varchar2
241 ,p_status in varchar2 default hr_api.g_varchar2
242 ,p_working_hours in number default hr_api.g_number
243 ,p_attribute_category in varchar2 default hr_api.g_varchar2
244 ,p_attribute1 in varchar2 default hr_api.g_varchar2
245 ,p_attribute2 in varchar2 default hr_api.g_varchar2
246 ,p_attribute3 in varchar2 default hr_api.g_varchar2
247 ,p_attribute4 in varchar2 default hr_api.g_varchar2
248 ,p_attribute5 in varchar2 default hr_api.g_varchar2
249 ,p_attribute6 in varchar2 default hr_api.g_varchar2
250 ,p_attribute7 in varchar2 default hr_api.g_varchar2
251 ,p_attribute8 in varchar2 default hr_api.g_varchar2
252 ,p_attribute9 in varchar2 default hr_api.g_varchar2
253 ,p_attribute10 in varchar2 default hr_api.g_varchar2
254 ,p_attribute11 in varchar2 default hr_api.g_varchar2
255 ,p_attribute12 in varchar2 default hr_api.g_varchar2
256 ,p_attribute13 in varchar2 default hr_api.g_varchar2
257 ,p_attribute14 in varchar2 default hr_api.g_varchar2
258 ,p_attribute15 in varchar2 default hr_api.g_varchar2
259 ,p_attribute16 in varchar2 default hr_api.g_varchar2
260 ,p_attribute17 in varchar2 default hr_api.g_varchar2
261 ,p_attribute18 in varchar2 default hr_api.g_varchar2
262 ,p_attribute19 in varchar2 default hr_api.g_varchar2
263 ,p_attribute20 in varchar2 default hr_api.g_varchar2
264 ,p_segment1 in varchar2 default hr_api.g_varchar2
265 ,p_segment2 in varchar2 default hr_api.g_varchar2
266 ,p_segment3 in varchar2 default hr_api.g_varchar2
267 ,p_segment4 in varchar2 default hr_api.g_varchar2
268 ,p_segment5 in varchar2 default hr_api.g_varchar2
269 ,p_segment6 in varchar2 default hr_api.g_varchar2
270 ,p_segment7 in varchar2 default hr_api.g_varchar2
271 ,p_segment8 in varchar2 default hr_api.g_varchar2
272 ,p_segment9 in varchar2 default hr_api.g_varchar2
273 ,p_segment10 in varchar2 default hr_api.g_varchar2
274 ,p_segment11 in varchar2 default hr_api.g_varchar2
275 ,p_segment12 in varchar2 default hr_api.g_varchar2
276 ,p_segment13 in varchar2 default hr_api.g_varchar2
277 ,p_segment14 in varchar2 default hr_api.g_varchar2
278 ,p_segment15 in varchar2 default hr_api.g_varchar2
279 ,p_segment16 in varchar2 default hr_api.g_varchar2
280 ,p_segment17 in varchar2 default hr_api.g_varchar2
281 ,p_segment18 in varchar2 default hr_api.g_varchar2
282 ,p_segment19 in varchar2 default hr_api.g_varchar2
283 ,p_segment20 in varchar2 default hr_api.g_varchar2
284 ,p_segment21 in varchar2 default hr_api.g_varchar2
285 ,p_segment22 in varchar2 default hr_api.g_varchar2
286 ,p_segment23 in varchar2 default hr_api.g_varchar2
287 ,p_segment24 in varchar2 default hr_api.g_varchar2
288 ,p_segment25 in varchar2 default hr_api.g_varchar2
289 ,p_segment26 in varchar2 default hr_api.g_varchar2
290 ,p_segment27 in varchar2 default hr_api.g_varchar2
291 ,p_segment28 in varchar2 default hr_api.g_varchar2
292 ,p_segment29 in varchar2 default hr_api.g_varchar2
293 ,p_segment30 in varchar2 default hr_api.g_varchar2
294 ,p_concat_segments in varchar2 default hr_api.g_varchar2
295 ,p_position_definition_id out number
296 ,p_name out varchar2
297 ,p_valid_grades_changed_warning out boolean
298 ) is
299
300 --
301 -- Declare cursors and local variables
302 --
303 l_name per_positions.name%type;
304 l_position_definition_id per_positions.position_definition_id%type;
305 l_object_version_number per_positions.object_version_number%type;
306 l_proc varchar2(72) := g_package||'update_position';
307 --
308 begin
309 hr_utility.set_location('Entering:'|| l_proc, 5);
310 --
311 -- Issue a savepoint if operating in validation only mode.
312 --
313 savepoint ghr_update_position;
314 --
315 hr_utility.set_location(l_proc, 10);
316 --
317
318 ghr_Session.set_session_var_for_core
319 (p_effective_date => p_date_effective
320 );
321 --
322 l_object_version_number := p_object_version_number;
323 hr_position_api.update_position
324 (p_position_id => p_position_id
325 ,p_object_version_number => l_object_version_number
326 ,p_successor_position_id => p_successor_position_id
327 ,p_relief_position_id => p_relief_position_id
328 ,p_location_id => p_location_id
329 ,p_date_effective => p_date_effective
330 ,p_comments => p_comments
331 ,p_date_end => p_date_end
335 ,p_replacement_required_flag => p_replacement_required_flag
332 ,p_frequency => p_frequency
333 ,p_probation_period => p_probation_period
334 ,p_probation_period_units => p_probation_period_units
336 ,p_time_normal_finish => p_time_normal_finish
337 ,p_time_normal_start => p_time_normal_start
338 ,p_status => p_status
339 ,p_working_hours => p_working_hours
340 ,p_attribute_category => p_attribute_category
341 ,p_attribute1 => p_attribute1
342 ,p_attribute2 => p_attribute2
343 ,p_attribute3 => p_attribute3
344 ,p_attribute4 => p_attribute4
345 ,p_attribute5 => p_attribute5
346 ,p_attribute6 => p_attribute6
347 ,p_attribute7 => p_attribute7
348 ,p_attribute8 => p_attribute8
349 ,p_attribute9 => p_attribute9
350 ,p_attribute10 => p_attribute10
351 ,p_attribute11 => p_attribute11
352 ,p_attribute12 => p_attribute12
353 ,p_attribute13 => p_attribute13
354 ,p_attribute14 => p_attribute14
355 ,p_attribute15 => p_attribute15
356 ,p_attribute16 => p_attribute16
357 ,p_attribute17 => p_attribute17
358 ,p_attribute18 => p_attribute18
359 ,p_attribute19 => p_attribute19
360 ,p_attribute20 => p_attribute20
361 ,p_segment1 => p_segment1
362 ,p_segment2 => p_segment2
363 ,p_segment3 => p_segment3
364 ,p_segment4 => p_segment4
365 ,p_segment5 => p_segment5
366 ,p_segment6 => p_segment6
367 ,p_segment7 => p_segment7
368 ,p_segment8 => p_segment8
369 ,p_segment9 => p_segment9
370 ,p_segment10 => p_segment10
371 ,p_segment11 => p_segment11
372 ,p_segment12 => p_segment12
373 ,p_segment13 => p_segment13
374 ,p_segment14 => p_segment14
375 ,p_segment15 => p_segment15
376 ,p_segment16 => p_segment16
377 ,p_segment17 => p_segment17
378 ,p_segment18 => p_segment18
379 ,p_segment19 => p_segment19
380 ,p_segment20 => p_segment20
381 ,p_segment21 => p_segment21
382 ,p_segment22 => p_segment22
383 ,p_segment23 => p_segment23
384 ,p_segment24 => p_segment24
385 ,p_segment25 => p_segment25
386 ,p_segment26 => p_segment26
387 ,p_segment27 => p_segment27
388 ,p_segment28 => p_segment28
389 ,p_segment29 => p_segment29
390 ,p_segment30 => p_segment30
391 -- ,p_concat_segments => p_concat_segments
392 ,p_position_definition_id => l_position_definition_id
393 ,p_name => l_name
394 ,p_valid_grades_changed_warning => p_valid_grades_changed_warning
395 );
396
397 hr_utility.set_location(l_proc, 20);
398 --
399 ghr_history_api.post_update_process;
400
401 -- When in validation only mode raise the Validate_Enabled exception
402 --
403 if p_validate then
404 raise hr_api.validate_enabled;
405 end if;
406 p_object_version_number := l_object_version_number;
407 p_position_definition_id := l_position_definition_id;
408 p_name := l_name;
409 --
410 hr_utility.set_location(' Leaving:'||l_proc, 50);
411 exception
412 when hr_api.validate_enabled then
413 --
414 -- As the Validate_Enabled exception has been raised
415 -- we must rollback to the savepoint
416 --
417 ROLLBACK TO ghr_update_position;
418 --
419 -- Only set output warning arguments
420 -- (Any key or derived arguments must be set to null
421 -- when validation only mode is being used.)
422 --
423 p_name := null;
424 p_position_definition_id := null;
425 p_object_version_number := p_object_version_number;
426 when others then
427 ROLLBACK TO ghr_update_position;
428 raise;
429 --
430 end update_position;
431 --
432 --
433 end ghr_position_api;