DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_TIME_DEF_USAGE_SWI

Source


1 Package Body pay_time_def_usage_swi As
2 /* $Header: pytduswi.pkb 120.1 2005/06/14 14:36 tvankayl noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'pay_time_def_usage_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-------------------------< create_time_def_usage >------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_time_def_usage
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_effective_date               in     date
14   ,p_time_definition_id           in     number
15   ,p_usage_type                   in     varchar2
16   ,p_object_version_number           out nocopy number
17   ,p_return_status                   out nocopy varchar2
18   ) is
19   --
20   -- Variables for API Boolean parameters
21   l_validate                      boolean;
22   --
23   -- Variables for IN/OUT parameters
24   --
25   l_proc    varchar2(72) := g_package ||'create_time_def_usage';
26 Begin
27 
28   hr_utility.set_location(' Entering:' || l_proc,10);
29   --
30   -- Issue a savepoint
31   --
32   savepoint create_time_def_usage_swi;
33   --
34   -- Initialise Multiple Message Detection
35   --
36   hr_multi_message.enable_message_list;
37   --
38   -- Remember IN OUT parameter IN values
39   --
40   --
41   -- Convert constant values to their corresponding boolean value
42   --
43   l_validate :=
44     hr_api.constant_to_boolean
45       (p_constant_value => p_validate);
46   --
47   -- Register Surrogate ID or user key values
48   --
49   pay_tdu_ins.set_base_key_value
50     (p_time_definition_id => p_time_definition_id
51     ,p_usage_type => p_usage_type
52     );
53   --
54   -- Call API
55   --
56   pay_time_def_usage_api.create_time_def_usage
57     (p_validate                     => l_validate
58     ,p_effective_date               => p_effective_date
59     ,p_time_definition_id           => p_time_definition_id
60     ,p_usage_type                   => p_usage_type
61     ,p_object_version_number        => p_object_version_number
62     );
63   --
64   -- Convert API warning boolean parameter values to specific
65   -- messages and add them to Multiple Message List
66   --
67   --
68   -- Convert API non-warning boolean parameter values
69   --
70   --
71   -- Derive the API return status value based on whether
72   -- messages of any type exist in the Multiple Message List.
73   -- Also disable Multiple Message Detection.
74   --
75   p_return_status := hr_multi_message.get_return_status_disable;
76   hr_utility.set_location(' Leaving:' || l_proc,20);
77   --
78 exception
79   when hr_multi_message.error_message_exist then
80     --
81     -- Catch the Multiple Message List exception which
82     -- indicates API processing has been aborted because
83     -- at least one message exists in the list.
84     --
85     rollback to create_time_def_usage_swi;
86     --
87     -- Reset IN OUT parameters and set OUT parameters
88     --
89     p_object_version_number        := null;
90     p_return_status := hr_multi_message.get_return_status_disable;
91     hr_utility.set_location(' Leaving:' || l_proc, 30);
92   when others then
93     --
94     -- When Multiple Message Detection is enabled catch
95     -- any Application specific or other unexpected
96     -- exceptions.  Adding appropriate details to the
97     -- Multiple Message List.  Otherwise re-raise the
98     -- error.
99     --
100     rollback to create_time_def_usage_swi;
101     if hr_multi_message.unexpected_error_add(l_proc) then
102        hr_utility.set_location(' Leaving:' || l_proc,40);
103        raise;
104     end if;
105     --
106     -- Reset IN OUT and set OUT parameters
107     --
108     p_object_version_number        := null;
109     p_return_status := hr_multi_message.get_return_status_disable;
110     hr_utility.set_location(' Leaving:' || l_proc,50);
111 end create_time_def_usage;
112 -- ----------------------------------------------------------------------------
113 -- |-------------------------< delete_time_def_usage >------------------------|
114 -- ----------------------------------------------------------------------------
115 PROCEDURE delete_time_def_usage
116   (p_validate                     in     number    default hr_api.g_false_num
117   ,p_effective_date               in     date
118   ,p_time_definition_id           in     number
119   ,p_usage_type                   in     varchar2
120   ,p_object_version_number        in     number
121   ,p_return_status                   out nocopy varchar2
122   ) is
123   --
124   -- Variables for API Boolean parameters
125   l_validate                      boolean;
126   --
127   -- Variables for IN/OUT parameters
128   --
129   -- Other variables
130   l_proc    varchar2(72) := g_package ||'delete_time_def_usage';
131 Begin
132   hr_utility.set_location(' Entering:' || l_proc,10);
133   --
134   -- Issue a savepoint
135   --
136   savepoint delete_time_def_usage_swi;
137   --
138   -- Initialise Multiple Message Detection
139   --
140   hr_multi_message.enable_message_list;
141   --
142   -- Remember IN OUT parameter IN values
143   --
144   --
145   -- Convert constant values to their corresponding boolean value
146   --
147   l_validate :=
148     hr_api.constant_to_boolean
149       (p_constant_value => p_validate);
150   --
151   -- Register Surrogate ID or user key values
152   --
153   --
154   -- Call API
155   --
156   pay_time_def_usage_api.delete_time_def_usage
157     (p_validate                     => l_validate
158     ,p_effective_date               => p_effective_date
159     ,p_time_definition_id           => p_time_definition_id
160     ,p_usage_type                   => p_usage_type
161     ,p_object_version_number        => p_object_version_number
162     );
163   --
164   -- Convert API warning boolean parameter values to specific
165   -- messages and add them to Multiple Message List
166   --
167   --
168   -- Convert API non-warning boolean parameter values
169   --
170   --
171   -- Derive the API return status value based on whether
172   -- messages of any type exist in the Multiple Message List.
173   -- Also disable Multiple Message Detection.
174   --
175   p_return_status := hr_multi_message.get_return_status_disable;
176   hr_utility.set_location(' Leaving:' || l_proc,20);
177   --
178 exception
179   when hr_multi_message.error_message_exist then
180     --
181     -- Catch the Multiple Message List exception which
182     -- indicates API processing has been aborted because
183     -- at least one message exists in the list.
184     --
185     rollback to delete_time_def_usage_swi;
186     --
187     -- Reset IN OUT parameters and set OUT parameters
188     --
189     p_return_status := hr_multi_message.get_return_status_disable;
190     hr_utility.set_location(' Leaving:' || l_proc, 30);
191   when others then
192     --
193     -- When Multiple Message Detection is enabled catch
194     -- any Application specific or other unexpected
195     -- exceptions.  Adding appropriate details to the
196     -- Multiple Message List.  Otherwise re-raise the
197     -- error.
198     --
199     rollback to delete_time_def_usage_swi;
200     if hr_multi_message.unexpected_error_add(l_proc) then
201        hr_utility.set_location(' Leaving:' || l_proc,40);
202        raise;
203     end if;
204     --
205     -- Reset IN OUT and set OUT parameters
206     --
207     p_return_status := hr_multi_message.get_return_status_disable;
208     hr_utility.set_location(' Leaving:' || l_proc,50);
209 end delete_time_def_usage;
210 end pay_time_def_usage_swi;