DBA Data[Home] [Help]

PACKAGE BODY: APPS.GHR_POSITION_API

Source


1 Package Body ghr_position_api as
2 /* $Header: ghposapi.pkb 120.1.12020000.1 2012/06/29 04:33:52 appldev 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 NOCOPY number
83   ,p_object_version_number            out NOCOPY number
84   ,p_position_definition_id           out NOCOPY number
85   ,p_name                             out NOCOPY 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 NOCOPY 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  NOCOPY number
296   ,p_name                            out  NOCOPY varchar2
297   ,p_valid_grades_changed_warning    out  NOCOPY 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
332   ,p_frequency				=>	p_frequency
333   ,p_probation_period			=>	p_probation_period
334   ,p_probation_period_units		=>	p_probation_period_units
335   ,p_replacement_required_flag	=>	p_replacement_required_flag
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;