[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;