DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_TIME_DEFINITION_SWI

Source


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