DBA Data[Home] [Help]

PACKAGE BODY: APPS.PSP_TEMPLATE_DETAILS_SWI

Source


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