DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_FR_PERIODS_OF_SERVICE_API

Source


1 Package Body hr_fr_periods_of_service_api as
2 /* $Header: pepdsfri.pkb 115.3 2002/12/16 14:58:13 sfmorris noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := 'hr_fr_periods_of_service_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-----------------------< update_fr_pds_details >-----------------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure update_fr_pds_details
13   (p_validate                      in     boolean  default false
14   ,p_effective_date                in     date
15   ,p_period_of_service_id          in     number
16   ,p_termination_accepted_person   in     number   default hr_api.g_number
17   ,p_accepted_termination_date     in     date     default hr_api.g_date
18   ,p_object_version_number         in out nocopy number
19   ,p_comments                      in     varchar2 default hr_api.g_varchar2
20   ,p_leaving_reason                in     varchar2 default hr_api.g_varchar2
21   ,p_notified_termination_date     in     date     default hr_api.g_date
22   ,p_projected_termination_date    in     date     default hr_api.g_date
23   ,p_attribute_category            in varchar2     default hr_api.g_varchar2
24   ,p_attribute1                    in varchar2     default hr_api.g_varchar2
25   ,p_attribute2                    in varchar2     default hr_api.g_varchar2
26   ,p_attribute3                    in varchar2     default hr_api.g_varchar2
27   ,p_attribute4                    in varchar2     default hr_api.g_varchar2
28   ,p_attribute5                    in varchar2     default hr_api.g_varchar2
29   ,p_attribute6                    in varchar2     default hr_api.g_varchar2
30   ,p_attribute7                    in varchar2     default hr_api.g_varchar2
31   ,p_attribute8                    in varchar2     default hr_api.g_varchar2
32   ,p_attribute9                    in varchar2     default hr_api.g_varchar2
33   ,p_attribute10                   in varchar2     default hr_api.g_varchar2
34   ,p_attribute11                   in varchar2     default hr_api.g_varchar2
35   ,p_attribute12                   in varchar2     default hr_api.g_varchar2
36   ,p_attribute13                   in varchar2     default hr_api.g_varchar2
37   ,p_attribute14                   in varchar2     default hr_api.g_varchar2
38   ,p_attribute15                   in varchar2     default hr_api.g_varchar2
39   ,p_attribute16                   in varchar2     default hr_api.g_varchar2
40   ,p_attribute17                   in varchar2     default hr_api.g_varchar2
41   ,p_attribute18                   in varchar2     default hr_api.g_varchar2
42   ,p_attribute19                   in varchar2     default hr_api.g_varchar2
43   ,p_attribute20                   in varchar2     default hr_api.g_varchar2
44   ,p_starting_reason               in varchar2     default hr_api.g_varchar2
45   ,p_ending_reason                 in varchar2     default hr_api.g_varchar2
46   ,p_qualification_level           in varchar2     default hr_api.g_varchar2
47   ,p_type_work                     in varchar2     default hr_api.g_varchar2
48   ,p_employee_status               in varchar2     default hr_api.g_varchar2
49   ,p_affiliated_alsace_moselle     in varchar2     default hr_api.g_varchar2
50   ,p_relationship_MD               in varchar2     default hr_api.g_varchar2
51   ,p_final_payment_schedule        in varchar2     default hr_api.g_varchar2
52   ,p_social_plan                   in varchar2     default hr_api.g_varchar2
53  ) is
54   --
55   -- Declare cursors and local variables
56   --
57   l_business_group_id per_contracts_f.business_group_id%TYPE;
58   l_proc                 varchar2(72) := g_package||'update_fr_pds_details';
59   l_legislation_code     varchar2(2);
60 
61   --
62   cursor csr_get_business_group_id is
63     select pds.business_group_id
64     from per_periods_of_service pds
65     where pds.period_of_service_id = p_period_of_service_id;
66   --
67   cursor csr_bg is
68     select legislation_code
69     from per_business_groups pbg
70     where pbg.business_group_id = l_business_group_id;
71   --
72 begin
73 
74   hr_utility.set_location('Entering:'|| l_proc, 10);
75   --
76   -- Issue a savepoint if operating in validation only mode
77   --
78   savepoint create_contract;
79   --
80   hr_utility.set_location(l_proc, 20);
81   --
82   -- Process Logic
83   --
84   -- Get person details.
85   --
86   open  csr_get_business_group_id;
87   fetch csr_get_business_group_id
88    into l_business_group_id;
89   --
90   if csr_get_business_group_id%NOTFOUND then
91     --
92     close csr_get_business_group_id;
93     --
94     hr_utility.set_location(l_proc, 30);
95     --
96     hr_utility.set_message(801,'HR_7432_ASG_INVALID_PERSON');
97     hr_utility.raise_error;
98   end if;
99   --
100   close csr_get_business_group_id;
101   --
102   hr_utility.set_location(l_proc, 40);
103   --
104   -- Check that the specified business group is valid.
105   --
106   open csr_bg;
107   fetch csr_bg
108   into l_legislation_code;
109   if csr_bg%notfound then
110     close csr_bg;
111     hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
112     hr_utility.raise_error;
113   end if;
114   close csr_bg;
115   hr_utility.set_location(l_proc, 50);
116   --
117   -- Check that the legislation of the specified business group is 'FR'.
118   --
119   if l_legislation_code <> 'FR' then
120     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
121     hr_utility.set_message_token('LEG_CODE','FR');
122     hr_utility.raise_error;
123   end if;
124   hr_utility.set_location(l_proc, 60);
125   --
126   -- Call the contract business process
127   --
128    hr_periods_of_service_api.update_pds_details
129     ( p_validate 		      => p_validate
130      ,p_effective_date                => p_effective_date
131      ,p_period_of_service_id          => p_period_of_service_id
132      ,p_termination_accepted_person   => p_termination_accepted_person
133      ,p_accepted_termination_date     => p_accepted_termination_date
134      ,p_comments                      => p_comments
135      ,p_leaving_reason                => p_leaving_reason
136      ,p_notified_termination_date     => p_notified_termination_date
137      ,p_projected_termination_date    => p_projected_termination_date
138      ,p_attribute_category            => p_attribute_category
139      ,p_attribute1                    => p_attribute1
140      ,p_attribute2                    => p_attribute2
141      ,p_attribute3                    => p_attribute3
142      ,p_attribute4                    => p_attribute4
143      ,p_attribute5                    => p_attribute5
144      ,p_attribute6                    => p_attribute6
145      ,p_attribute7                    => p_attribute7
146      ,p_attribute8                    => p_attribute8
147      ,p_attribute9                    => p_attribute9
148      ,p_attribute10                   => p_attribute10
149      ,p_attribute11                   => p_attribute11
150      ,p_attribute12                   => p_attribute12
151      ,p_attribute13                   => p_attribute13
152      ,p_attribute14                   => p_attribute14
153      ,p_attribute15                   => p_attribute15
154      ,p_attribute16                   => p_attribute16
155      ,p_attribute17                   => p_attribute17
156      ,p_attribute18                   => p_attribute18
157      ,p_attribute19                   => p_attribute19
158      ,p_attribute20                   => p_attribute20
159      ,p_pds_information_category      => 'FR'
160      ,p_pds_information1              => p_starting_reason
161      ,p_pds_information2              => p_ending_reason
162      ,p_pds_information3              => p_qualification_level
163      ,p_pds_information4              => p_type_work
164      ,p_pds_information5              => p_employee_status
165      ,p_pds_information6              => p_affiliated_alsace_moselle
166      ,p_pds_information7              => p_relationship_MD
167      ,p_pds_information11             => p_final_payment_schedule
168      ,p_pds_information12             => p_social_plan
169      ,p_object_version_number         => p_object_version_number
170      );
171   --
172   hr_utility.set_location(' Leaving:'||l_proc, 7);
173 end update_fr_pds_details;
174 --
175 end hr_fr_periods_of_service_api;