DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_SA_PERIODS_OF_SERVICE_API

Source


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