DBA Data[Home] [Help]

PACKAGE BODY: APPS.GHR_POSNDT_API

Source


1 Package Body ghr_posndt_api as
2 /* $Header: ghposndt.pkb 120.2 2005/10/06 09:42:02 vravikan noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := 'ghr_posndt_api.';
7 --
8 -- ---------------------------------------------------------------------------
9 -- |--------------------------< create_position >-----------------------------|
10 -- ---------------------------------------------------------------------------
11 --
12 procedure create_position
13   (p_position_id                    out nocopy number
14   ,p_effective_start_date           out nocopy date
15   ,p_effective_end_date             out nocopy date
16   ,p_position_definition_id         out nocopy number
17   ,p_name                           out nocopy varchar2
18   ,p_object_version_number          out nocopy number
19   ,p_job_id                         in  number
20   ,p_organization_id                in  number
21   ,p_effective_date                 in  date
22   ,p_date_effective                 in  date
23   ,p_validate                       in  boolean   default false
24   ,p_availability_status_id         in  number    default null
25   ,p_business_group_id              in  number    default null
26   ,p_entry_step_id                  in  number    default null
27   ,p_entry_grade_rule_id            in  number    default null
28   ,p_location_id                    in  number    default null
29   ,p_pay_freq_payroll_id            in  number    default null
30   ,p_position_transaction_id        in  number    default null
31   ,p_prior_position_id              in  number    default null
32   ,p_relief_position_id             in  number    default null
33   ,p_entry_grade_id                 in  number    default null
34   ,p_successor_position_id          in  number    default null
35   ,p_supervisor_position_id         in  number    default null
36   ,p_amendment_date                 in  date      default null
37   ,p_amendment_recommendation       in  varchar2  default null
38   ,p_amendment_ref_number           in  varchar2  default null
39   ,p_bargaining_unit_cd             in  varchar2  default null
40   ,p_comments                       in  long      default null
41   ,p_current_job_prop_end_date      in  date      default null
42   ,p_current_org_prop_end_date      in  date      default null
43   ,p_avail_status_prop_end_date     in  date      default null
44   ,p_date_end                       in  date      default null
45   ,p_earliest_hire_date             in  date      default null
46   ,p_fill_by_date                   in  date      default null
47   ,p_frequency                      in  varchar2  default null
48   ,p_fte                            in  number    default null
49   ,p_max_persons                    in  number    default null
50   ,p_overlap_period                 in  number    default null
51   ,p_overlap_unit_cd                in  varchar2  default null
52   ,p_pay_term_end_day_cd            in  varchar2  default null
53   ,p_pay_term_end_month_cd          in  varchar2  default null
54   ,p_permanent_temporary_flag       in  varchar2  default null
55   ,p_permit_recruitment_flag        in  varchar2  default null
56   ,p_position_type                  in  varchar2  default 'NONE'
57   ,p_posting_description            in  varchar2  default null
58   ,p_probation_period               in  number    default null
59   ,p_probation_period_unit_cd       in  varchar2  default null
60   ,p_replacement_required_flag      in  varchar2  default null
61   ,p_review_flag                    in  varchar2  default null
62   ,p_seasonal_flag                  in  varchar2  default null
63   ,p_security_requirements          in  varchar2  default null
64   ,p_status                         in  varchar2  default null
65   ,p_term_start_day_cd              in  varchar2  default null
66   ,p_term_start_month_cd            in  varchar2  default null
67   ,p_time_normal_finish             in  varchar2  default null
68   ,p_time_normal_start              in  varchar2  default null
69   ,p_update_source_cd               in  varchar2  default null
70   ,p_working_hours                  in  number    default null
71   ,p_works_council_approval_flag    in  varchar2  default null
72   ,p_work_period_type_cd            in  varchar2  default null
73   ,p_work_term_end_day_cd           in  varchar2  default null
74   ,p_work_term_end_month_cd         in  varchar2  default null
75   ,p_proposed_fte_for_layoff        in  number    default null
76   ,p_proposed_date_for_layoff       in  date      default null
77   ,p_pay_basis_id                   in  number    default null
78   ,p_supervisor_id                  in  number    default null
79   ,p_information1                   in  varchar2  default null
80   ,p_information2                   in  varchar2  default null
81   ,p_information3                   in  varchar2  default null
82   ,p_information4                   in  varchar2  default null
83   ,p_information5                   in  varchar2  default null
84   ,p_information6                   in  varchar2  default null
85   ,p_information7                   in  varchar2  default null
86   ,p_information8                   in  varchar2  default null
87   ,p_information9                   in  varchar2  default null
88   ,p_information10                  in  varchar2  default null
89   ,p_information11                  in  varchar2  default null
90   ,p_information12                  in  varchar2  default null
91   ,p_information13                  in  varchar2  default null
92   ,p_information14                  in  varchar2  default null
93   ,p_information15                  in  varchar2  default null
94   ,p_information16                  in  varchar2  default null
95   ,p_information17                  in  varchar2  default null
96   ,p_information18                  in  varchar2  default null
97   ,p_information19                  in  varchar2  default null
98   ,p_information20                  in  varchar2  default null
99   ,p_information21                  in  varchar2  default null
100   ,p_information22                  in  varchar2  default null
101   ,p_information23                  in  varchar2  default null
102   ,p_information24                  in  varchar2  default null
103   ,p_information25                  in  varchar2  default null
104   ,p_information26                  in  varchar2  default null
105   ,p_information27                  in  varchar2  default null
106   ,p_information28                  in  varchar2  default null
107   ,p_information29                  in  varchar2  default null
108   ,p_information30                  in  varchar2  default null
109   ,p_information_category           in  varchar2  default null
110   ,p_attribute1                     in  varchar2  default null
111   ,p_attribute2                     in  varchar2  default null
112   ,p_attribute3                     in  varchar2  default null
113   ,p_attribute4                     in  varchar2  default null
114   ,p_attribute5                     in  varchar2  default null
115   ,p_attribute6                     in  varchar2  default null
116   ,p_attribute7                     in  varchar2  default null
117   ,p_attribute8                     in  varchar2  default null
118   ,p_attribute9                     in  varchar2  default null
119   ,p_attribute10                    in  varchar2  default null
120   ,p_attribute11                    in  varchar2  default null
121   ,p_attribute12                    in  varchar2  default null
122   ,p_attribute13                    in  varchar2  default null
123   ,p_attribute14                    in  varchar2  default null
124   ,p_attribute15                    in  varchar2  default null
125   ,p_attribute16                    in  varchar2  default null
126   ,p_attribute17                    in  varchar2  default null
127   ,p_attribute18                    in  varchar2  default null
128   ,p_attribute19                    in  varchar2  default null
129   ,p_attribute20                    in  varchar2  default null
130   ,p_attribute21                    in  varchar2  default null
131   ,p_attribute22                    in  varchar2  default null
132   ,p_attribute23                    in  varchar2  default null
133   ,p_attribute24                    in  varchar2  default null
134   ,p_attribute25                    in  varchar2  default null
135   ,p_attribute26                    in  varchar2  default null
136   ,p_attribute27                    in  varchar2  default null
137   ,p_attribute28                    in  varchar2  default null
138   ,p_attribute29                    in  varchar2  default null
139   ,p_attribute30                    in  varchar2  default null
140   ,p_attribute_category             in  varchar2  default null
141   ,p_segment1                       in  varchar2  default null
142   ,p_segment2                       in  varchar2  default null
143   ,p_segment3                       in  varchar2  default null
144   ,p_segment4                       in  varchar2  default null
145   ,p_segment5                       in  varchar2  default null
146   ,p_segment6                       in  varchar2  default null
147   ,p_segment7                       in  varchar2  default null
148   ,p_segment8                       in  varchar2  default null
149   ,p_segment9                       in  varchar2  default null
150   ,p_segment10                      in  varchar2  default null
151   ,p_segment11                      in  varchar2  default null
152   ,p_segment12                      in  varchar2  default null
153   ,p_segment13                      in  varchar2  default null
154   ,p_segment14                      in  varchar2  default null
155   ,p_segment15                      in  varchar2  default null
156   ,p_segment16                      in  varchar2  default null
157   ,p_segment17                      in  varchar2  default null
158   ,p_segment18                      in  varchar2  default null
159   ,p_segment19                      in  varchar2  default null
160   ,p_segment20                      in  varchar2  default null
161   ,p_segment21                      in  varchar2  default null
162   ,p_segment22                      in  varchar2  default null
163   ,p_segment23                      in  varchar2  default null
164   ,p_segment24                      in  varchar2  default null
165   ,p_segment25                      in  varchar2  default null
166   ,p_segment26                      in  varchar2  default null
167   ,p_segment27                      in  varchar2  default null
168   ,p_segment28                      in  varchar2  default null
169   ,p_segment29                      in  varchar2  default null
170   ,p_segment30                      in  varchar2  default null
171   ,p_concat_segments                in  varchar2  default null
172   ,p_request_id                     in  number    default null
173   ,p_program_application_id         in  number    default null
174   ,p_program_id                     in  number    default null
175   ,p_program_update_date            in  date      default null
176   ) is
177 
178   --
179   -- Declare cursors and local variables
180   --
181   l_proc                    varchar2(72);
182   l_position_id                    number;
183   l_effective_start_date           date;
184   l_effective_end_date             date;
185   l_position_definition_id         number;
186   l_name                           varchar2(2000);
187   l_object_version_number          number;
188 
189 
190   --
191 begin
192   l_proc := g_package||'create_position';
193   hr_utility.set_location('Entering:'|| l_proc, 5);
194   --
195   -- Issue a savepoint if operating in validation only mode.
196   --
197     savepoint ghr_create_position;
198   --
199   hr_utility.set_location(l_proc, 10);
200   --
201 
202   -- Set Session Variable so that DB triggers populate hisotry
203   -- correctly for the Federal product.
204 
205   ghr_Session.set_session_var_for_core
206   (p_effective_date    =>  p_date_effective);
207   --
208  hr_position_api.create_position
209   (
210      p_position_id                    => l_position_id
211     ,p_effective_start_date           => l_effective_start_date
212     ,p_effective_end_date             => l_effective_end_date
213     ,p_position_definition_id         => l_position_definition_id
214     ,p_name                           => l_name
215     ,p_object_version_number          => l_object_version_number
216     ,p_job_id                         => p_job_id
217     ,p_organization_id                => p_organization_id
218     ,p_effective_date                 => p_effective_date
219     ,p_date_effective                 => p_date_effective
220     ,p_validate                       => FALSE
221     ,p_availability_status_id         => p_availability_status_id
222     ,p_business_group_id              => p_business_group_id
223     ,p_entry_step_id                  => p_entry_step_id
224     ,p_entry_grade_rule_id            => p_entry_grade_rule_id
225     ,p_location_id                    => p_location_id
226     ,p_pay_freq_payroll_id            => p_pay_freq_payroll_id
227     ,p_position_transaction_id        => p_position_transaction_id
228     ,p_prior_position_id              => p_prior_position_id
229     ,p_relief_position_id             => p_relief_position_id
230     ,p_entry_grade_id                 => p_entry_grade_id
231     ,p_successor_position_id          => p_successor_position_id
232     ,p_supervisor_position_id         => p_supervisor_position_id
233     ,p_amendment_date                 => p_amendment_date
234     ,p_amendment_recommendation       => p_amendment_recommendation
235     ,p_amendment_ref_number           => p_amendment_ref_number
236     ,p_bargaining_unit_cd             => p_bargaining_unit_cd
237     ,p_comments                       => p_comments
238     ,p_current_job_prop_end_date      => p_current_job_prop_end_date
239     ,p_current_org_prop_end_date      => p_current_org_prop_end_date
240     ,p_avail_status_prop_end_date     => p_avail_status_prop_end_date
241     ,p_date_end                       => p_date_end
242     ,p_earliest_hire_date             => p_earliest_hire_date
243     ,p_fill_by_date                   => p_fill_by_date
244     ,p_frequency                      => p_frequency
245     ,p_fte                            => p_fte
246     ,p_max_persons                    => p_max_persons
247     ,p_overlap_period                 => p_overlap_period
248     ,p_overlap_unit_cd                => p_overlap_unit_cd
249     ,p_pay_term_end_day_cd            => p_pay_term_end_day_cd
250     ,p_pay_term_end_month_cd          => p_pay_term_end_month_cd
251     ,p_permanent_temporary_flag       => p_permanent_temporary_flag
252     ,p_permit_recruitment_flag        => p_permit_recruitment_flag
253     ,p_position_type                  => p_position_type
254     ,p_posting_description            => p_posting_description
255     ,p_probation_period               => p_probation_period
256     ,p_probation_period_unit_cd       => p_probation_period_unit_cd
257     ,p_replacement_required_flag      => p_replacement_required_flag
258     ,p_review_flag                    => p_review_flag
259     ,p_seasonal_flag                  => p_seasonal_flag
260     ,p_security_requirements          => p_security_requirements
261     ,p_status                         => p_status
262     ,p_term_start_day_cd              => p_term_start_day_cd
263     ,p_term_start_month_cd            => p_term_start_month_cd
264     ,p_time_normal_finish             => p_time_normal_finish
265     ,p_time_normal_start              => p_time_normal_start
266     ,p_update_source_cd               => p_update_source_cd
267     ,p_working_hours                  => p_working_hours
268     ,p_works_council_approval_flag    => p_works_council_approval_flag
269     ,p_work_period_type_cd            => p_work_period_type_cd
270     ,p_work_term_end_day_cd           => p_work_term_end_day_cd
271     ,p_work_term_end_month_cd         => p_work_term_end_month_cd
272     ,p_proposed_fte_for_layoff        => p_proposed_fte_for_layoff
273     ,p_proposed_date_for_layoff       => p_proposed_date_for_layoff
274     ,p_pay_basis_id                   => p_pay_basis_id
275     ,p_supervisor_id                  => p_supervisor_id
276     ,p_information1                   => p_information1
277     ,p_information2                   => p_information2
278     ,p_information3                   => p_information3
279     ,p_information4                   => p_information4
280     ,p_information5                   => p_information5
281     ,p_information6                   => p_information6
282     ,p_information7                   => p_information7
283     ,p_information8                   => p_information8
284     ,p_information9                   => p_information9
285     ,p_information10                  => p_information10
286     ,p_information11                  => p_information11
287     ,p_information12                  => p_information12
288     ,p_information13                  => p_information13
292     ,p_information17                  => p_information17
289     ,p_information14                  => p_information14
290     ,p_information15                  => p_information15
291     ,p_information16                  => p_information16
293     ,p_information18                  => p_information18
294     ,p_information19                  => p_information19
295     ,p_information20                  => p_information20
296     ,p_information21                  => p_information21
297     ,p_information22                  => p_information22
298     ,p_information23                  => p_information23
299     ,p_information24                  => p_information24
300     ,p_information25                  => p_information25
301     ,p_information26                  => p_information26
302     ,p_information27                  => p_information27
303     ,p_information28                  => p_information29
304     ,p_information29                  => p_information29
305     ,p_information30                  => p_information30
306     ,p_information_category           => p_information_category
307     ,p_attribute1                     => p_attribute1
308     ,p_attribute2                     => p_attribute2
309     ,p_attribute3                     => p_attribute3
310     ,p_attribute4                     => p_attribute4
311     ,p_attribute5                     => p_attribute5
312     ,p_attribute6                     => p_attribute6
313     ,p_attribute7                     => p_attribute7
314     ,p_attribute8                     => p_attribute8
315     ,p_attribute9                     => p_attribute9
316     ,p_attribute10                    => p_attribute10
317     ,p_attribute11                    => p_attribute11
318     ,p_attribute12                    => p_attribute12
319     ,p_attribute13                    => p_attribute13
320     ,p_attribute14                    => p_attribute14
321     ,p_attribute15                    => p_attribute15
322     ,p_attribute16                    => p_attribute16
323     ,p_attribute17                    => p_attribute17
324     ,p_attribute18                    => p_attribute18
325     ,p_attribute19                    => p_attribute19
326     ,p_attribute20                    => p_attribute20
327     ,p_attribute21                    => p_attribute21
328     ,p_attribute22                    => p_attribute22
329     ,p_attribute23                    => p_attribute23
330     ,p_attribute24                    => p_attribute24
331     ,p_attribute25                    => p_attribute25
332     ,p_attribute26                    => p_attribute26
333     ,p_attribute27                    => p_attribute27
334     ,p_attribute28                    => p_attribute28
335     ,p_attribute29                    => p_attribute29
336     ,p_attribute30                    => p_attribute30
337     ,p_attribute_category             => p_attribute_category
338     ,p_segment1                       => p_segment1
339     ,p_segment2                       => p_segment2
340     ,p_segment3                       => p_segment3
341     ,p_segment4                       => p_segment4
342     ,p_segment5                       => p_segment5
343     ,p_segment6                       => p_segment6
344     ,p_segment7                       => p_segment7
345     ,p_segment8                       => p_segment8
346     ,p_segment9                       => p_segment9
347     ,p_segment10                      => p_segment10
348     ,p_segment11                      => p_segment11
349     ,p_segment12                      => p_segment12
350     ,p_segment13                      => p_segment13
351     ,p_segment14                      => p_segment14
352     ,p_segment15                      => p_segment15
353     ,p_segment16                      => p_segment16
354     ,p_segment17                      => p_segment17
355     ,p_segment18                      => p_segment18
356     ,p_segment19                      => p_segment19
357     ,p_segment20                      => p_segment20
358     ,p_segment21                      => p_segment21
359     ,p_segment22                      => p_segment22
360     ,p_segment23                      => p_segment23
361     ,p_segment24                      => p_segment24
362     ,p_segment25                      => p_segment25
363     ,p_segment26                      => p_segment26
364     ,p_segment27                      => p_segment27
365     ,p_segment28                      => p_segment28
366     ,p_segment29                      => p_segment29
367     ,p_segment30                      => p_segment30
368     ,p_concat_segments                => p_concat_segments
369     ,p_request_id                     => p_request_id
370     ,p_program_application_id         => p_program_application_id
371     ,p_program_id                     => p_program_id
372     ,p_program_update_date            => p_program_update_date
373 );
374 
375   p_position_id := l_position_id;
376   p_effective_start_date := l_effective_start_date;
377   p_effective_end_date := l_effective_end_date;
378   p_position_definition_id := l_position_definition_id;
379   p_name := l_name;
380   p_object_version_number := l_object_version_number;
381 
382   hr_utility.set_location(l_proc, 20);
383   --
384     ghr_history_api.post_update_process;
385 
386   -- When in validation only mode raise the Validate_Enabled exception
387   --
388   if p_validate then
389     raise hr_api.validate_enabled;
390   end if;
391    p_position_definition_id  :=  p_position_definition_id;
392    p_name := p_name;
393 --
394   hr_utility.set_location(' Leaving:'||l_proc, 50);
395 exception
396   when hr_api.validate_enabled then
397     --
401     ROLLBACK TO ghr_create_position;
398     -- As the Validate_Enabled exception has been raised
399     -- we must rollback to the savepoint
400     --
402     --
403     -- Only set output warning arguments
404     -- (Any key or derived arguments must be set to null
405     -- when validation only mode is being used.)
406     --
407     p_name			:= null;
408     p_position_id               := null;
409     p_position_definition_id    := null;
410     p_object_version_number 	:= null;
411     p_effective_start_date      := null;
412     p_effective_end_date        := null;
413     --
414    When others then
415      ROLLBACK TO ghr_create_position;
416      --
417      -- Reset IN OUT parameters and set OUT parameters
418      --
419      p_name			:= null;
420      p_position_id              := null;
421      p_position_definition_id   := null;
422      p_object_version_number 	:= null;
423      p_effective_start_date     := null;
424      p_effective_end_date       := null;
425     --
426      raise;
427 END create_position;
428 --
429 
430 procedure update_position
431   (p_position_id                    in  number
432   ,p_effective_start_date           out nocopy date
433   ,p_effective_end_date             out nocopy date
434   ,p_position_definition_id         in out nocopy number
435   ,p_name                           in out nocopy varchar2
436   ,p_object_version_number          in out nocopy number
437   ,p_effective_date                 in  date
438   ,p_date_effective                 in  date
439   ,p_validate                       in  boolean   default false
440   ,p_availability_status_id         in  number    default null
441   ,p_entry_step_id                  in  number    default null
442   ,p_entry_grade_rule_id            in  number    default null
443   ,p_location_id                    in  number    default null
444   ,p_pay_freq_payroll_id            in  number    default null
445   ,p_position_transaction_id        in  number    default null
446   ,p_prior_position_id              in  number    default null
447   ,p_relief_position_id             in  number    default null
448   ,p_entry_grade_id                 in  number    default null
449   ,p_successor_position_id          in  number    default null
450   ,p_supervisor_position_id         in  number    default null
451   ,p_amendment_date                 in  date      default null
452   ,p_amendment_recommendation       in  varchar2  default null
453   ,p_amendment_ref_number           in  varchar2  default null
454   ,p_bargaining_unit_cd             in  varchar2  default null
455   ,p_comments                       in  long      default null
456   ,p_current_job_prop_end_date      in  date      default null
457   ,p_current_org_prop_end_date      in  date      default null
458   ,p_avail_status_prop_end_date     in  date      default null
459   ,p_date_end                       in  date      default null
460   ,p_earliest_hire_date             in  date      default null
461   ,p_fill_by_date                   in  date      default null
462   ,p_frequency                      in  varchar2  default null
463   ,p_fte                            in  number    default null
464   ,p_max_persons                    in  number    default null
465   ,p_overlap_period                 in  number    default null
466   ,p_overlap_unit_cd                in  varchar2  default null
467   ,p_pay_term_end_day_cd            in  varchar2  default null
468   ,p_pay_term_end_month_cd          in  varchar2  default null
469   ,p_permanent_temporary_flag       in  varchar2  default null
470   ,p_permit_recruitment_flag        in  varchar2  default null
471   ,p_position_type                  in  varchar2  default 'NONE'
472   ,p_posting_description            in  varchar2  default null
473   ,p_probation_period               in  number    default null
474   ,p_probation_period_unit_cd       in  varchar2  default null
475   ,p_replacement_required_flag      in  varchar2  default null
476   ,p_review_flag                    in  varchar2  default null
477   ,p_seasonal_flag                  in  varchar2  default null
478   ,p_security_requirements          in  varchar2  default null
479   ,p_status                         in  varchar2  default null
480   ,p_term_start_day_cd              in  varchar2  default null
481   ,p_term_start_month_cd            in  varchar2  default null
482   ,p_time_normal_finish             in  varchar2  default null
483   ,p_time_normal_start              in  varchar2  default null
484   ,p_update_source_cd               in  varchar2  default null
485   ,p_working_hours                  in  number    default null
486   ,p_works_council_approval_flag    in  varchar2  default null
487   ,p_work_period_type_cd            in  varchar2  default null
488   ,p_work_term_end_day_cd           in  varchar2  default null
489   ,p_work_term_end_month_cd         in  varchar2  default null
490   ,p_proposed_fte_for_layoff        in  number    default null
491   ,p_proposed_date_for_layoff       in  date      default null
492   ,p_pay_basis_id                   in  number    default null
493   ,p_supervisor_id                  in  number    default null
494   ,p_information1                   in  varchar2  default null
495   ,p_information2                   in  varchar2  default null
496   ,p_information3                   in  varchar2  default null
497   ,p_information4                   in  varchar2  default null
498   ,p_information5                   in  varchar2  default null
499   ,p_information6                   in  varchar2  default null
500   ,p_information7                   in  varchar2  default null
501   ,p_information8                   in  varchar2  default null
502   ,p_information9                   in  varchar2  default null
503   ,p_information10                  in  varchar2  default null
504   ,p_information11                  in  varchar2  default null
505   ,p_information12                  in  varchar2  default null
506   ,p_information13                  in  varchar2  default null
507   ,p_information14                  in  varchar2  default null
508   ,p_information15                  in  varchar2  default null
509   ,p_information16                  in  varchar2  default null
510   ,p_information17                  in  varchar2  default null
511   ,p_information18                  in  varchar2  default null
512   ,p_information19                  in  varchar2  default null
513   ,p_information20                  in  varchar2  default null
514   ,p_information21                  in  varchar2  default null
515   ,p_information22                  in  varchar2  default null
516   ,p_information23                  in  varchar2  default null
517   ,p_information24                  in  varchar2  default null
518   ,p_information25                  in  varchar2  default null
519   ,p_information26                  in  varchar2  default null
523   ,p_information30                  in  varchar2  default null
520   ,p_information27                  in  varchar2  default null
521   ,p_information28                  in  varchar2  default null
522   ,p_information29                  in  varchar2  default null
524   ,p_information_category           in  varchar2  default null
525   ,p_attribute1                     in  varchar2  default null
526   ,p_attribute2                     in  varchar2  default null
527   ,p_attribute3                     in  varchar2  default null
528   ,p_attribute4                     in  varchar2  default null
529   ,p_attribute5                     in  varchar2  default null
530   ,p_attribute6                     in  varchar2  default null
531   ,p_attribute7                     in  varchar2  default null
532   ,p_attribute8                     in  varchar2  default null
533   ,p_attribute9                     in  varchar2  default null
534   ,p_attribute10                    in  varchar2  default null
535   ,p_attribute11                    in  varchar2  default null
536   ,p_attribute12                    in  varchar2  default null
537   ,p_attribute13                    in  varchar2  default null
538   ,p_attribute14                    in  varchar2  default null
539   ,p_attribute15                    in  varchar2  default null
540   ,p_attribute16                    in  varchar2  default null
541   ,p_attribute17                    in  varchar2  default null
542   ,p_attribute18                    in  varchar2  default null
543   ,p_attribute19                    in  varchar2  default null
544   ,p_attribute20                    in  varchar2  default null
545   ,p_attribute21                    in  varchar2  default null
546   ,p_attribute22                    in  varchar2  default null
547   ,p_attribute23                    in  varchar2  default null
548   ,p_attribute24                    in  varchar2  default null
549   ,p_attribute25                    in  varchar2  default null
550   ,p_attribute26                    in  varchar2  default null
551   ,p_attribute27                    in  varchar2  default null
552   ,p_attribute28                    in  varchar2  default null
553   ,p_attribute29                    in  varchar2  default null
554   ,p_attribute30                    in  varchar2  default null
555   ,p_attribute_category             in  varchar2  default null
556   ,p_segment1                       in  varchar2  default null
557   ,p_segment2                       in  varchar2  default null
558   ,p_segment3                       in  varchar2  default null
559   ,p_segment4                       in  varchar2  default null
560   ,p_segment5                       in  varchar2  default null
561   ,p_segment6                       in  varchar2  default null
562   ,p_segment7                       in  varchar2  default null
563   ,p_segment8                       in  varchar2  default null
564   ,p_segment9                       in  varchar2  default null
565   ,p_segment10                      in  varchar2  default null
566   ,p_segment11                      in  varchar2  default null
567   ,p_segment12                      in  varchar2  default null
568   ,p_segment13                      in  varchar2  default null
569   ,p_segment14                      in  varchar2  default null
570   ,p_segment15                      in  varchar2  default null
571   ,p_segment16                      in  varchar2  default null
572   ,p_segment17                      in  varchar2  default null
573   ,p_segment18                      in  varchar2  default null
574   ,p_segment19                      in  varchar2  default null
575   ,p_segment20                      in  varchar2  default null
576   ,p_segment21                      in  varchar2  default null
577   ,p_segment22                      in  varchar2  default null
578   ,p_segment23                      in  varchar2  default null
579   ,p_segment24                      in  varchar2  default null
580   ,p_segment25                      in  varchar2  default null
581   ,p_segment26                      in  varchar2  default null
582   ,p_segment27                      in  varchar2  default null
583   ,p_segment28                      in  varchar2  default null
584   ,p_segment29                      in  varchar2  default null
585   ,p_segment30                      in  varchar2  default null
586   ,p_concat_segments                in  varchar2  default null
587   ,p_request_id                     in  number    default null
588   ,p_program_application_id         in  number    default null
589   ,p_program_id                     in  number    default null
590   ,p_program_update_date            in  date      default null
591   ,p_datetrack_mode                 in  varchar2
592   ,p_valid_grades_changed_warning  out nocopy boolean
593   ) IS
594 
595   l_proc VARCHAR2(200);
596   l_effective_start_date           hr_all_positions_f.effective_start_date%type;
597   l_effective_end_date             hr_all_positions_f.effective_end_date%type;
598   l_position_definition_id         hr_all_positions_f.position_definition_id%type;
599   l_name                           hr_positions_f.name%type;
600   l_object_version_number          hr_all_positions_f.object_version_number%type;
601   l_valid_grades_changed_warning   BOOLEAN;
602 
603   BEGIN
604 	l_proc := 'update_position';
605 	hr_utility.set_location('Entering:'|| l_proc, 5);
606 
607 	l_position_definition_id := p_position_definition_id;
608 	l_name			 := p_name;
609 	l_object_version_number  := p_object_version_number;
610 
611   --
612   -- Issue a savepoint if operating in validation only mode.
613   --
614 	savepoint ghr_update_position;
615   --
616 	hr_utility.set_location(l_proc, 10);
617   --
618   -- Set Session Variable so that DB triggers populate hisotry
619   -- correctly for the Federal product.
620 
621 	ghr_Session.set_session_var_for_core
622 	  (p_effective_date    =>  p_date_effective);
623 
624 	-- Calling update position API
625 	hr_position_api.update_position
629 	  ,p_effective_end_date             => l_effective_end_date
626 	  (p_validate                       => FALSE
627 	  ,p_position_id                    => p_position_id
628 	  ,p_effective_start_date           => l_effective_start_date
630 	  ,p_position_definition_id         => p_position_definition_id
631 	  ,p_valid_grades_changed_warning   => l_valid_grades_changed_warning
632 	  ,p_name                           => p_name
633 	  ,p_availability_status_id         => p_availability_status_id
634 	  ,p_entry_step_id                  => p_entry_step_id
635 	  ,p_entry_grade_rule_id            => p_entry_grade_rule_id
636 	  ,p_location_id                    => p_location_id
637 	  ,p_pay_freq_payroll_id            => p_pay_freq_payroll_id
638 	  ,p_position_transaction_id        => p_position_transaction_id
639 	  ,p_prior_position_id              => p_prior_position_id
640 	  ,p_relief_position_id             => p_relief_position_id
641 	  ,p_entry_grade_id                 => p_entry_grade_id
642 	  ,p_successor_position_id          => p_successor_position_id
643 	  ,p_supervisor_position_id         => p_supervisor_position_id
644 	  ,p_amendment_date                 => p_amendment_date
645 	  ,p_amendment_recommendation       => p_amendment_recommendation
646 	  ,p_amendment_ref_number           => p_amendment_ref_number
647 	  ,p_bargaining_unit_cd             => p_bargaining_unit_cd
648 	  ,p_comments                       => p_comments
649 	  ,p_current_job_prop_end_date      => p_current_job_prop_end_date
650 	  ,p_current_org_prop_end_date      => p_current_org_prop_end_date
651 	  ,p_avail_status_prop_end_date     => p_avail_status_prop_end_date
652 	  ,p_date_effective                 => p_date_effective
653 	  ,p_date_end                       => p_date_end
654 	  ,p_earliest_hire_date             => p_earliest_hire_date
655 	  ,p_fill_by_date                   => p_fill_by_date
656 	  ,p_frequency                      => p_frequency
657 	  ,p_fte                            => p_fte
658 	  ,p_max_persons                    => p_max_persons
659 	  ,p_overlap_period                 => p_overlap_period
660 	  ,p_overlap_unit_cd                => p_overlap_unit_cd
661 	  ,p_pay_term_end_day_cd            => p_pay_term_end_day_cd
662 	  ,p_pay_term_end_month_cd          => p_pay_term_end_month_cd
663 	  ,p_permanent_temporary_flag       => p_permanent_temporary_flag
664 	  ,p_permit_recruitment_flag        => p_permit_recruitment_flag
665 	  ,p_position_type                  => p_position_type
666 	  ,p_posting_description            => p_posting_description
667 	  ,p_probation_period               => p_probation_period
668 	  ,p_probation_period_unit_cd       => p_probation_period_unit_cd
669 	  ,p_replacement_required_flag      => p_replacement_required_flag
670 	  ,p_review_flag                    => p_review_flag
671 	  ,p_seasonal_flag                  => p_seasonal_flag
672 	  ,p_security_requirements          => p_security_requirements
673 	  ,p_status                         => p_status
674 	  ,p_term_start_day_cd              => p_term_start_day_cd
675 	  ,p_term_start_month_cd            => p_term_start_month_cd
676 	  ,p_time_normal_finish             => p_time_normal_finish
677 	  ,p_time_normal_start              => p_time_normal_start
678 	  ,p_update_source_cd               => p_update_source_cd
679 	  ,p_working_hours                  => p_working_hours
680 	  ,p_works_council_approval_flag    => p_works_council_approval_flag
681 	  ,p_work_period_type_cd            => p_work_period_type_cd
682 	  ,p_work_term_end_day_cd           => p_work_term_end_day_cd
683 	  ,p_work_term_end_month_cd         => p_work_term_end_month_cd
684 	  ,p_proposed_fte_for_layoff        => p_proposed_fte_for_layoff
685 	  ,p_proposed_date_for_layoff       => p_proposed_date_for_layoff
686 	  ,p_pay_basis_id                   => p_pay_basis_id
687 	  ,p_supervisor_id                  => p_supervisor_id
688 	  ,p_information1                   => p_information1
689 	  ,p_information2                   => p_information2
690 	  ,p_information3                   => p_information3
691 	  ,p_information4                   => p_information4
692 	  ,p_information5                   => p_information5
693 	  ,p_information6                   => p_information6
694 	  ,p_information7                   => p_information7
695 	  ,p_information8                   => p_information8
696 	  ,p_information9                   => p_information9
697 	  ,p_information10                  => p_information10
698 	  ,p_information11                  => p_information11
699 	  ,p_information12                  => p_information12
700 	  ,p_information13                  => p_information13
701 	  ,p_information14                  => p_information14
702 	  ,p_information15                  => p_information15
703 	  ,p_information16                  => p_information16
704 	  ,p_information17                  => p_information17
705 	  ,p_information18                  => p_information18
706 	  ,p_information19                  => p_information19
707 	  ,p_information20                  => p_information20
708 	  ,p_information21                  => p_information21
709 	  ,p_information22                  => p_information22
710 	  ,p_information23                  => p_information23
711 	  ,p_information24                  => p_information24
712 	  ,p_information25                  => p_information25
713 	  ,p_information26                  => p_information26
714 	  ,p_information27                  => p_information27
715 	  ,p_information28                  => p_information28
716 	  ,p_information29                  => p_information29
717 	  ,p_information30                  => p_information30
718 	  ,p_information_category           => p_information_category
719 	  ,p_attribute1                     => p_attribute1
720 	  ,p_attribute2                     => p_attribute2
721 	  ,p_attribute3                     => p_attribute3
722 	  ,p_attribute4                     => p_attribute4
723 	  ,p_attribute5                     => p_attribute5
724 	  ,p_attribute6                     => p_attribute6
725 	  ,p_attribute7                     => p_attribute7
726 	  ,p_attribute8                     => p_attribute8
727 	  ,p_attribute9                     => p_attribute9
728 	  ,p_attribute10                    => p_attribute10
729 	  ,p_attribute11                    => p_attribute11
730 	  ,p_attribute12                    => p_attribute12
731 	  ,p_attribute13                    => p_attribute13
732 	  ,p_attribute14                    => p_attribute14
733 	  ,p_attribute15                    => p_attribute15
734 	  ,p_attribute16                    => p_attribute16
735 	  ,p_attribute17                    => p_attribute17
736 	  ,p_attribute18                    => p_attribute18
737 	  ,p_attribute19                    => p_attribute19
738 	  ,p_attribute20                    => p_attribute20
739 	  ,p_attribute21                    => p_attribute21
740 	  ,p_attribute22                    =>  p_attribute22
741 	  ,p_attribute23                    =>  p_attribute23
742 	  ,p_attribute24                    =>  p_attribute24
743 	  ,p_attribute25                    =>  p_attribute25
744 	  ,p_attribute26                    =>  p_attribute26
745 	  ,p_attribute27                    =>  p_attribute27
746 	  ,p_attribute28                    =>  p_attribute28
747 	  ,p_attribute29                    =>  p_attribute29
748 	  ,p_attribute30                    =>  p_attribute30
749 	  ,p_attribute_category             =>  p_attribute_category
750 	  ,p_segment1                       =>  p_segment1
751 	  ,p_segment2                       =>  p_segment2
752 	  ,p_segment3                       =>  p_segment3
753 	  ,p_segment4                       =>  p_segment4
754 	  ,p_segment5                       =>  p_segment5
755 	  ,p_segment6                       =>  p_segment6
756 	  ,p_segment7                       =>  p_segment7
757 	  ,p_segment8                       =>  p_segment8
758 	  ,p_segment9                       =>  p_segment9
759 	  ,p_segment10                      =>  p_segment10
760 	  ,p_segment11                      =>  p_segment11
761 	  ,p_segment12                      =>  p_segment12
762 	  ,p_segment13                      =>  p_segment13
763 	  ,p_segment14                      =>  p_segment14
764 	  ,p_segment15                      =>  p_segment15
765 	  ,p_segment16                      =>  p_segment16
766 	  ,p_segment17                      =>  p_segment17
767 	  ,p_segment18                      =>  p_segment18
768 	  ,p_segment19                      =>  p_segment19
769 	  ,p_segment20                      =>  p_segment20
770 	  ,p_segment21                      =>  p_segment21
771 	  ,p_segment22                      =>  p_segment22
772 	  ,p_segment23                      =>  p_segment23
773 	  ,p_segment24                      =>  p_segment24
774 	  ,p_segment25                      =>  p_segment25
775 	  ,p_segment26                      =>  p_segment26
776 	  ,p_segment27                      =>  p_segment27
777 	  ,p_segment28                      =>  p_segment28
778 	  ,p_segment29                      =>  p_segment29
779 	  ,p_segment30                      =>  p_segment30
780 	  ,p_concat_segments                =>  p_concat_segments
781 	  ,p_request_id                     =>  p_request_id
782 	  ,p_program_application_id         =>  p_program_application_id
783 	  ,p_program_id                     =>  p_program_id
784 	  ,p_program_update_date            =>  p_program_update_date
785 	  ,p_object_version_number          =>  p_object_version_number
786 	  ,p_effective_date                 =>  p_effective_date
787 	  ,p_datetrack_mode                 =>  p_datetrack_mode
788 	  );
789 
790 	  if p_validate then
791 	    raise hr_api.validate_enabled;
792 	  end if;
793 	  p_effective_start_date := l_effective_start_date;
794 	  p_effective_end_date := l_effective_end_date;
795 	  l_valid_grades_changed_warning := p_valid_grades_changed_warning;
796 --
797   hr_utility.set_location(l_proc, 20);
798   --
799     ghr_history_api.post_update_process;
800   --
801   hr_utility.set_location(' Leaving:'||l_proc, 50);
802 exception
803   when hr_api.validate_enabled then
804     --
805     -- As the Validate_Enabled exception has been raised
806     -- we must rollback to the savepoint
807     --
808     ROLLBACK TO ghr_update_position;
809     --
810     -- Only set output warning arguments
811     -- (Any key or derived arguments must be set to null
812     -- when validation only mode is being used.)
813     --
814     p_effective_start_date      := null;
815     p_effective_end_date        := null;
816     p_position_definition_id    := l_position_definition_id;
817     p_name			:= l_name;
818     p_object_version_number     := l_object_version_number;
819     p_valid_grades_changed_warning := NULL;
820 
821     --
822    When others then
823      ROLLBACK TO ghr_update_position;
824      --
825      -- Reset IN OUT parameters and set OUT parameters
826      p_effective_start_date     := null;
827      p_effective_end_date       := null;
828      p_position_definition_id   := l_position_definition_id;
829      p_name			:= l_name;
830      p_object_version_number    := l_object_version_number;
831      p_valid_grades_changed_warning := NULL;
832     --
833      RAISE;
834 
835   END update_position;
836 
837 
838 END ghr_posndt_api;