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