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