DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_CALENDAR_ENTRY_SWI

Source


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