DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQH_DE_LEVEL_CODES_SWI

Source


1 Package Body pqh_de_level_codes_swi As
2 /* $Header: pqlcdswi.pkb 115.1 2002/12/03 00:07:55 rpasapul noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'pqh_de_level_codes_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |--------------------------< delete_level_codes >--------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE delete_level_codes
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_level_code_id                in     number
14   ,p_object_version_number        in     number
15   ,p_return_status                   out nocopy varchar2
16   ) is
17   --
18   -- Variables for API Boolean parameters
19   l_validate                      boolean;
20   --
21   -- Variables for IN/OUT parameters
22   --
23   -- Other variables
24   l_proc    varchar2(72) := g_package ||'delete_level_codes';
25 Begin
26   hr_utility.set_location(' Entering:' || l_proc,10);
27   --
28   -- Issue a savepoint
29   --
30   savepoint delete_level_codes_swi;
31   --
32   -- Initialise Multiple Message Detection
33   --
34   hr_multi_message.enable_message_list;
35   --
36   -- Remember IN OUT parameter IN values
37   --
38   --
39   -- Convert constant values to their corresponding boolean value
40   --
41   l_validate :=
42     hr_api.constant_to_boolean
43       (p_constant_value => p_validate);
44   --
45   -- Register Surrogate ID or user key values
46   --
47   --
48   -- Call API
49   --
50   pqh_de_level_codes_api.delete_level_codes
51     (p_validate                     => l_validate
52     ,p_level_code_id                => p_level_code_id
53     ,p_object_version_number        => p_object_version_number
54     );
55   --
56   -- Convert API warning boolean parameter values to specific
57   -- messages and add them to Multiple Message List
58   --
59   --
60   -- Convert API non-warning boolean parameter values
61   --
62   --
63   -- Derive the API return status value based on whether
64   -- messages of any type exist in the Multiple Message List.
65   -- Also disable Multiple Message Detection.
66   --
67   p_return_status := hr_multi_message.get_return_status_disable;
68   hr_utility.set_location(' Leaving:' || l_proc,20);
69   --
70 exception
71   when hr_multi_message.error_message_exist then
72     --
73     -- Catch the Multiple Message List exception which
74     -- indicates API processing has been aborted because
75     -- at least one message exists in the list.
76     --
77     rollback to delete_level_codes_swi;
78     --
79     -- Reset IN OUT parameters and set OUT parameters
80     --
81     p_return_status := hr_multi_message.get_return_status_disable;
82     hr_utility.set_location(' Leaving:' || l_proc, 30);
83   when others then
84     --
85     -- When Multiple Message Detection is enabled catch
86     -- any Application specific or other unexpected
87     -- exceptions.  Adding appropriate details to the
88     -- Multiple Message List.  Otherwise re-raise the
89     -- error.
90     --
91     rollback to delete_level_codes_swi;
92     if hr_multi_message.unexpected_error_add(l_proc) then
93        hr_utility.set_location(' Leaving:' || l_proc,40);
94        raise;
95     end if;
96     --
97     -- Reset IN OUT and set OUT parameters
98     --
99     p_return_status := hr_multi_message.get_return_status_disable;
100     hr_utility.set_location(' Leaving:' || l_proc,50);
101 end delete_level_codes;
102 -- ----------------------------------------------------------------------------
103 -- |--------------------------< insert_level_codes >--------------------------|
104 -- ----------------------------------------------------------------------------
105 PROCEDURE insert_level_codes
106   (p_validate                     in     number    default hr_api.g_false_num
107   ,p_effective_date               in     date
108   ,p_level_number_id              in     number
109   ,p_level_code                   in     varchar2
110   ,p_description                  in     varchar2
111   ,p_gradual_value_number         in     number
112   ,p_level_code_id                   out nocopy number
113   ,p_object_version_number           out nocopy number
114   ,p_return_status                   out nocopy varchar2
115   ) is
116   --
117   -- Variables for API Boolean parameters
118   l_validate                      boolean;
119   --
120   -- Variables for IN/OUT parameters
121   --
122   -- Other variables
123   l_proc    varchar2(72) := g_package ||'insert_level_codes';
124 Begin
125   hr_utility.set_location(' Entering:' || l_proc,10);
126   --
127   -- Issue a savepoint
128   --
129   savepoint insert_level_codes_swi;
130   --
131   -- Initialise Multiple Message Detection
132   --
133   hr_multi_message.enable_message_list;
134   --
135   -- Remember IN OUT parameter IN values
136   --
137   --
138   -- Convert constant values to their corresponding boolean value
139   --
140   l_validate :=
141     hr_api.constant_to_boolean
142       (p_constant_value => p_validate);
143   --
144   -- Register Surrogate ID or user key values
145   --
146   pqh_lcd_ins.set_base_key_value
147     (p_level_code_id => p_level_code_id
148    -- ,p_level_code_id => p_level_code_id
149     );
150   --
151   -- Call API
152   --
153   pqh_de_level_codes_api.insert_level_codes
154     (p_validate                     => l_validate
155     ,p_effective_date               => p_effective_date
156     ,p_level_number_id              => p_level_number_id
157     ,p_level_code                   => p_level_code
158     ,p_description                  => p_description
159     ,p_gradual_value_number         => p_gradual_value_number
160     ,p_level_code_id                => p_level_code_id
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 insert_level_codes_swi;
186     --
187     -- Reset IN OUT parameters and set OUT parameters
188     --
189     p_level_code_id                := null;
190     p_object_version_number        := null;
191     p_return_status := hr_multi_message.get_return_status_disable;
192     hr_utility.set_location(' Leaving:' || l_proc, 30);
193   when others then
194     --
195     -- When Multiple Message Detection is enabled catch
196     -- any Application specific or other unexpected
197     -- exceptions.  Adding appropriate details to the
198     -- Multiple Message List.  Otherwise re-raise the
199     -- error.
200     --
201     rollback to insert_level_codes_swi;
202     if hr_multi_message.unexpected_error_add(l_proc) then
203        hr_utility.set_location(' Leaving:' || l_proc,40);
204        raise;
205     end if;
206     --
207     -- Reset IN OUT and set OUT parameters
208     --
209     p_level_code_id                := null;
210     p_object_version_number        := null;
211     p_return_status := hr_multi_message.get_return_status_disable;
212     hr_utility.set_location(' Leaving:' || l_proc,50);
213 end insert_level_codes;
214 -- ----------------------------------------------------------------------------
215 -- |--------------------------< update_level_codes >--------------------------|
216 -- ----------------------------------------------------------------------------
217 PROCEDURE update_level_codes
218   (p_validate                     in     number    default hr_api.g_false_num
219   ,p_effective_date               in     date
220   ,p_level_code_id                in     number
221   ,p_object_version_number        in out nocopy number
222   ,p_level_number_id              in     number    default hr_api.g_number
223   ,p_level_code                   in     varchar2  default hr_api.g_varchar2
224   ,p_description                  in     varchar2  default hr_api.g_varchar2
225   ,p_gradual_value_number         in     number    default hr_api.g_number
226   ,p_return_status                   out nocopy varchar2
227   ) is
228   --
229   -- Variables for API Boolean parameters
230   l_validate                      boolean;
231   --
232   -- Variables for IN/OUT parameters
233   l_object_version_number         number;
234   --
235   -- Other variables
236   l_proc    varchar2(72) := g_package ||'update_level_codes';
237 Begin
238   hr_utility.set_location(' Entering:' || l_proc,10);
239   --
240   -- Issue a savepoint
241   --
242   savepoint update_level_codes_swi;
243   --
244   -- Initialise Multiple Message Detection
245   --
246   hr_multi_message.enable_message_list;
247   --
248   -- Remember IN OUT parameter IN values
249   --
250   l_object_version_number         := p_object_version_number;
251   --
252   -- Convert constant values to their corresponding boolean value
253   --
254   l_validate :=
255     hr_api.constant_to_boolean
256       (p_constant_value => p_validate);
257   --
258   -- Register Surrogate ID or user key values
259   --
260   --
261   -- Call API
262   --
263   pqh_de_level_codes_api.update_level_codes
264     (p_validate                     => l_validate
265     ,p_effective_date               => p_effective_date
266     ,p_level_code_id                => p_level_code_id
267     ,p_object_version_number        => p_object_version_number
268     ,p_level_number_id              => p_level_number_id
269     ,p_level_code                   => p_level_code
270     ,p_description                  => p_description
271     ,p_gradual_value_number         => p_gradual_value_number
272     );
273   --
274   -- Convert API warning boolean parameter values to specific
275   -- messages and add them to Multiple Message List
276   --
277   --
278   -- Convert API non-warning boolean parameter values
279   --
280   --
281   -- Derive the API return status value based on whether
282   -- messages of any type exist in the Multiple Message List.
283   -- Also disable Multiple Message Detection.
284   --
285   p_return_status := hr_multi_message.get_return_status_disable;
286   hr_utility.set_location(' Leaving:' || l_proc,20);
287   --
288 exception
289   when hr_multi_message.error_message_exist then
290     --
291     -- Catch the Multiple Message List exception which
292     -- indicates API processing has been aborted because
293     -- at least one message exists in the list.
294     --
295     rollback to update_level_codes_swi;
296     --
297     -- Reset IN OUT parameters and set OUT parameters
298     --
299     p_object_version_number        := l_object_version_number;
300     p_return_status := hr_multi_message.get_return_status_disable;
301     hr_utility.set_location(' Leaving:' || l_proc, 30);
302   when others then
303     --
304     -- When Multiple Message Detection is enabled catch
305     -- any Application specific or other unexpected
306     -- exceptions.  Adding appropriate details to the
307     -- Multiple Message List.  Otherwise re-raise the
308     -- error.
309     --
310     rollback to update_level_codes_swi;
311     if hr_multi_message.unexpected_error_add(l_proc) then
312        hr_utility.set_location(' Leaving:' || l_proc,40);
313        raise;
314     end if;
315     --
316     -- Reset IN OUT and set OUT parameters
317     --
318     p_object_version_number        := l_object_version_number;
319     p_return_status := hr_multi_message.get_return_status_disable;
320     hr_utility.set_location(' Leaving:' || l_proc,50);
321 end update_level_codes;
322 end pqh_de_level_codes_swi;