DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_POS_STRUCTURE_VERSION_SWI

Source


1 Package Body per_pos_structure_version_swi As
2 /* $Header: pepsvswi.pkb 115.4 2003/05/22 08:12:24 ndorai noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'per_pos_structure_version_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |---------------------< create_pos_structure_version >---------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_pos_structure_version
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_effective_date               in     date
14   ,p_position_structure_id        in     number
15   ,p_date_from                    in     date
16   ,p_version_number               in     number
17   ,p_copy_structure_version_id    in     number    default null
18   ,p_date_to                      in     date      default null
19   ,p_request_id                   in     number    default null
20   ,p_program_application_id       in     number    default null
21   ,p_program_id                   in     number    default null
22   ,p_program_update_date          in     date      default null
23   ,p_pos_structure_version_id        out nocopy number
24   ,p_object_version_number           out nocopy number
25   ,p_return_status                   out nocopy varchar2
26   ) is
27   --
28   -- Variables for API Boolean parameters
29   l_validate                      boolean;
30   l_gap_warning                   boolean;
31   --
32   -- Variables for IN/OUT parameters
33   --
34   -- Other variables
35   l_proc    varchar2(72) := g_package ||'create_pos_structure_version';
36 Begin
37   hr_utility.set_location(' Entering:' || l_proc,10);
38   --
39   -- Issue a savepoint
40   --
41   savepoint create_posstructureversion_swi;
42   --
43   -- Initialise Multiple Message Detection
44   --
45   hr_multi_message.enable_message_list;
46   --
47   -- Remember IN OUT parameter IN values
48   --
49   --
50   -- Convert constant values to their corresponding boolean value
51   --
52   l_validate :=
53     hr_api.constant_to_boolean
54       (p_constant_value => p_validate);
55   --
56   -- Register Surrogate ID or user key values
57   --
58   --
59   -- Call API
60   --
61   per_pos_structure_version_api.create_pos_structure_version
62     (p_validate                     => l_validate
63     ,p_effective_date               => p_effective_date
64     ,p_position_structure_id        => p_position_structure_id
65     ,p_date_from                    => p_date_from
66     ,p_version_number               => p_version_number
67     ,p_copy_structure_version_id    => p_copy_structure_version_id
68     ,p_date_to                      => p_date_to
69     ,p_request_id                   => p_request_id
70     ,p_program_application_id       => p_program_application_id
71     ,p_program_id                   => p_program_id
72     ,p_program_update_date          => p_program_update_date
73     ,p_pos_structure_version_id     => p_pos_structure_version_id
74     ,p_object_version_number        => p_object_version_number
75     ,p_gap_warning                  => l_gap_warning
76     );
77   --
78   -- Convert API warning boolean parameter values to specific
79   -- messages and add them to Multiple Message List
80   --
81   if l_gap_warning then
82      fnd_message.set_name('PAY', 'HR_PO_POS_GAP');
83       hr_multi_message.add
84         (p_message_type => hr_multi_message.g_warning_msg
85         );
86   end if;  --
87   -- Convert API non-warning boolean parameter values
88   --
89   --
90   -- Derive the API return status value based on whether
91   -- messages of any type exist in the Multiple Message List.
92   -- Also disable Multiple Message Detection.
93   --
94   p_return_status := hr_multi_message.get_return_status_disable;
95   hr_utility.set_location(' Leaving:' || l_proc,20);
96   --
97 exception
98   when hr_multi_message.error_message_exist then
99     --
100     -- Catch the Multiple Message List exception which
101     -- indicates API processing has been aborted because
102     -- at least one message exists in the list.
103     --
104     rollback to create_posstructureversion_swi;
105     --
106     -- Reset IN OUT parameters and set OUT parameters
107     --
108     p_pos_structure_version_id     := null;
109     p_object_version_number        := null;
110     p_return_status := hr_multi_message.get_return_status_disable;
111     hr_utility.set_location(' Leaving:' || l_proc, 30);
112   when others then
113     --
114     -- When Multiple Message Detection is enabled catch
115     -- any Application specific or other unexpected
116     -- exceptions.  Adding appropriate details to the
117     -- Multiple Message List.  Otherwise re-raise the
118     -- error.
119     --
120     rollback to create_posstructureversion_swi;
121     if hr_multi_message.unexpected_error_add(l_proc) then
122        hr_utility.set_location(' Leaving:' || l_proc,40);
123        raise;
124     end if;
125     --
126     -- Reset IN OUT and set OUT parameters
127     --
128     p_pos_structure_version_id     := null;
129     p_object_version_number        := null;
130     p_return_status := hr_multi_message.get_return_status_disable;
131     hr_utility.set_location(' Leaving:' || l_proc,50);
132 end create_pos_structure_version;
133 -- ----------------------------------------------------------------------------
134 -- |---------------------< delete_pos_structure_version >---------------------|
135 -- ----------------------------------------------------------------------------
136 PROCEDURE delete_pos_structure_version
137   (p_validate                     in     number    default hr_api.g_false_num
138   ,p_pos_structure_version_id     in     number
139   ,p_object_version_number        in     number
140   ,p_return_status                   out nocopy varchar2
141   ) is
142   --
143   -- Variables for API Boolean parameters
144   l_validate                      boolean;
145   --
146   -- Variables for IN/OUT parameters
147   --
148   -- Other variables
149   l_proc    varchar2(72) := g_package ||'delete_pos_structure_version';
150 Begin
151   hr_utility.set_location(' Entering:' || l_proc,10);
152   --
153   -- Issue a savepoint
154   --
155   savepoint delete_posstructureversion_swi;
156   --
157   -- Initialise Multiple Message Detection
158   --
159   hr_multi_message.enable_message_list;
160   --
161   -- Remember IN OUT parameter IN values
162   --
163   --
164   -- Convert constant values to their corresponding boolean value
165   --
166   l_validate :=
167     hr_api.constant_to_boolean
168       (p_constant_value => p_validate);
169   --
170   -- Register Surrogate ID or user key values
171   --
172   --
173   -- Call API
174   --
175   per_pos_structure_version_api.delete_pos_structure_version
176     (p_validate                     => l_validate
177     ,p_pos_structure_version_id     => p_pos_structure_version_id
178     ,p_object_version_number        => p_object_version_number
179     );
180   --
181   -- Convert API warning boolean parameter values to specific
182   -- messages and add them to Multiple Message List
183   --
184   --
185   -- Convert API non-warning boolean parameter values
186   --
187   --
188   -- Derive the API return status value based on whether
189   -- messages of any type exist in the Multiple Message List.
190   -- Also disable Multiple Message Detection.
191   --
192   p_return_status := hr_multi_message.get_return_status_disable;
193   hr_utility.set_location(' Leaving:' || l_proc,20);
194   --
195 exception
196   when hr_multi_message.error_message_exist then
197     --
198     -- Catch the Multiple Message List exception which
199     -- indicates API processing has been aborted because
200     -- at least one message exists in the list.
201     --
202     rollback to delete_posstructureversion_swi;
203     --
204     -- Reset IN OUT parameters and set OUT parameters
205     --
206     p_return_status := hr_multi_message.get_return_status_disable;
207     hr_utility.set_location(' Leaving:' || l_proc, 30);
208   when others then
209     --
210     -- When Multiple Message Detection is enabled catch
211     -- any Application specific or other unexpected
212     -- exceptions.  Adding appropriate details to the
213     -- Multiple Message List.  Otherwise re-raise the
214     -- error.
215     --
216     rollback to delete_posstructureversion_swi;
217     if hr_multi_message.unexpected_error_add(l_proc) then
218        hr_utility.set_location(' Leaving:' || l_proc,40);
219        raise;
220     end if;
221     --
222     -- Reset IN OUT and set OUT parameters
223     --
224     p_return_status := hr_multi_message.get_return_status_disable;
225     hr_utility.set_location(' Leaving:' || l_proc,50);
226 end delete_pos_structure_version;
227 -- ----------------------------------------------------------------------------
228 -- |---------------------< update_pos_structure_version >---------------------|
229 -- ----------------------------------------------------------------------------
230 PROCEDURE update_pos_structure_version
231   (p_validate                     in     number    default hr_api.g_false_num
232   ,p_effective_date               in     date
233   ,p_date_from                    in     date
234   ,p_version_number               in     number
235   ,p_copy_structure_version_id    in     number    default hr_api.g_number
236   ,p_date_to                      in     date      default hr_api.g_date
237   ,p_request_id                   in     number    default hr_api.g_number
238   ,p_program_application_id       in     number    default hr_api.g_number
239   ,p_program_id                   in     number    default hr_api.g_number
240   ,p_program_update_date          in     date      default hr_api.g_date
241   ,p_pos_structure_version_id     in     number
242   ,p_object_version_number        in out nocopy number
243   ,p_return_status                   out nocopy varchar2
244   ) is
245   --
246   -- Variables for API Boolean parameters
247   l_validate                      boolean;
248   l_gap_warning                   boolean;
249   --
250   -- Variables for IN/OUT parameters
251   l_object_version_number         number;
252   --
253   -- Other variables
254   l_proc    varchar2(72) := g_package ||'update_pos_structure_version';
255 Begin
256   hr_utility.set_location(' Entering:' || l_proc,10);
257   --
258   -- Issue a savepoint
259   --
260   savepoint update_posstructureversion_swi;
261   --
262   -- Initialise Multiple Message Detection
263   --
264   hr_multi_message.enable_message_list;
265   --
266   -- Remember IN OUT parameter IN values
267   --
268   l_object_version_number         := p_object_version_number;
269   --
270   -- Convert constant values to their corresponding boolean value
271   --
272   l_validate :=
273     hr_api.constant_to_boolean
274       (p_constant_value => p_validate);
275   --
276   -- Register Surrogate ID or user key values
277   --
278   --
279   -- Call API
280   --
281   per_pos_structure_version_api.update_pos_structure_version
282     (p_validate                     => l_validate
283     ,p_effective_date               => p_effective_date
284     ,p_date_from                    => p_date_from
285     ,p_version_number               => p_version_number
286     ,p_copy_structure_version_id    => p_copy_structure_version_id
287     ,p_date_to                      => p_date_to
288     ,p_request_id                   => p_request_id
289     ,p_program_application_id       => p_program_application_id
290     ,p_program_id                   => p_program_id
291     ,p_program_update_date          => p_program_update_date
292     ,p_pos_structure_version_id     => p_pos_structure_version_id
293     ,p_object_version_number        => p_object_version_number
294     ,p_gap_warning                  => l_gap_warning
295     );
296   --
297   -- Convert API warning boolean parameter values to specific
298   -- messages and add them to Multiple Message List
299   --
300   if l_gap_warning then
301      fnd_message.set_name('PAY', 'HR_PO_POS_GAP');
302       hr_multi_message.add
303         (p_message_type => hr_multi_message.g_warning_msg
304         );
305   end if;  --
306   -- Convert API non-warning boolean parameter values
307   --
308   --
309   -- Derive the API return status value based on whether
310   -- messages of any type exist in the Multiple Message List.
311   -- Also disable Multiple Message Detection.
312   --
313   p_return_status := hr_multi_message.get_return_status_disable;
314   hr_utility.set_location(' Leaving:' || l_proc,20);
315   --
316 exception
317   when hr_multi_message.error_message_exist then
318     --
319     -- Catch the Multiple Message List exception which
320     -- indicates API processing has been aborted because
321     -- at least one message exists in the list.
322     --
323     rollback to update_posstructureversion_swi;
324     --
325     -- Reset IN OUT parameters and set OUT parameters
326     --
327     p_object_version_number        := l_object_version_number;
328     p_return_status := hr_multi_message.get_return_status_disable;
329     hr_utility.set_location(' Leaving:' || l_proc, 30);
330   when others then
331     --
332     -- When Multiple Message Detection is enabled catch
333     -- any Application specific or other unexpected
334     -- exceptions.  Adding appropriate details to the
335     -- Multiple Message List.  Otherwise re-raise the
336     -- error.
337     --
338     rollback to update_posstructureversion_swi;
339     if hr_multi_message.unexpected_error_add(l_proc) then
340        hr_utility.set_location(' Leaving:' || l_proc,40);
341        raise;
342     end if;
343     --
344     -- Reset IN OUT and set OUT parameters
345     --
346     p_object_version_number        := l_object_version_number;
347     p_return_status := hr_multi_message.get_return_status_disable;
348     hr_utility.set_location(' Leaving:' || l_proc,50);
349 end update_pos_structure_version;
350 end per_pos_structure_version_swi;