DBA Data[Home] [Help]

PACKAGE BODY: APPS.AME_APPROVER_TYPE_SWI

Source


1 Package Body ame_approver_type_swi As
2 /* $Header: amaptswi.pkb 120.1 2006/04/21 08:41 avarri noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'ame_approver_type_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-----------------------< create_ame_approver_type >-----------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_ame_approver_type
12   (p_validate                      in            number    default hr_api.g_false_num
13   ,p_orig_system                   in            varchar2
14   ,p_approver_type_id              in            number
15   ,p_object_version_number         out nocopy    number
16   ,p_start_date                    out nocopy    date
17   ,p_end_date                      out nocopy    date
18   ,p_return_status                 out nocopy    varchar2
19   ) is
20   --
21   -- Variables for API Boolean parameters
22   l_validate                      boolean;
23   --
24   -- Variables for IN/OUT parameters
25   --
26   -- Other variables
27   l_approver_type_id             number;
28   l_proc    varchar2(72) := g_package ||'create_ame_approver_type';
29 Begin
30   hr_utility.set_location(' Entering:' || l_proc,10);
31   --
32   -- Issue a savepoint
33   --
34   savepoint create_ame_approver_type_swi;
35   --
36   -- Initialise Multiple Message Detection
37   --
38   hr_multi_message.enable_message_list;
39   --
40   -- Remember IN OUT parameter IN values
41   --
42   --
43   -- Convert constant values to their corresponding boolean value
44   --
45   l_validate :=
46     hr_api.constant_to_boolean
47       (p_constant_value => p_validate);
48   --
49   -- Register Surrogate ID or user key values
50   --
51   ame_apt_ins.set_base_key_value
52     (p_approver_type_id => p_approver_type_id
53     );
54   --
55   -- Call API
56   --
57   ame_approver_type_api.create_ame_approver_type
58     (p_validate                     => l_validate
59     ,p_orig_system                  => p_orig_system
60     ,p_approver_type_id             => l_approver_type_id
61     ,p_object_version_number        => p_object_version_number
62     ,p_start_date                   => p_start_date
63     ,p_end_date                     => p_end_date
64     );
65   --
66   -- Convert API warning boolean parameter values to specific
67   -- messages and add them to Multiple Message List
68   --
69   --
70   -- Convert API non-warning boolean parameter values
71   --
72   --
73   -- Derive the API return status value based on whether
74   -- messages of any type exist in the Multiple Message List.
75   -- Also disable Multiple Message Detection.
76   --
77   p_return_status := hr_multi_message.get_return_status_disable;
78   hr_utility.set_location(' Leaving:' || l_proc,20);
79   --
80 exception
81   when hr_multi_message.error_message_exist then
82     --
83     -- Catch the Multiple Message List exception which
84     -- indicates API processing has been aborted because
85     -- at least one message exists in the list.
86     --
87     rollback to create_ame_approver_type_swi;
88     --
89     -- Reset IN OUT parameters and set OUT parameters
90     --
91     p_object_version_number        := null;
92     p_start_date                   := null;
93     p_end_date                     := null;
94     p_return_status := hr_multi_message.get_return_status_disable;
95     hr_utility.set_location(' Leaving:' || l_proc, 30);
96   when others then
97     --
98     -- When Multiple Message Detection is enabled catch
99     -- any Application specific or other unexpected
100     -- exceptions.  Adding appropriate details to the
101     -- Multiple Message List.  Otherwise re-raise the
102     -- error.
103     --
104     rollback to create_ame_approver_type_swi;
105     if hr_multi_message.unexpected_error_add(l_proc) then
106        hr_utility.set_location(' Leaving:' || l_proc,40);
107        raise;
108     end if;
109     --
110     -- Reset IN OUT and set OUT parameters
111     --
112     p_object_version_number        := null;
113     p_start_date                   := null;
114     p_end_date                     := null;
115     p_return_status := hr_multi_message.get_return_status_disable;
116     hr_utility.set_location(' Leaving:' || l_proc,50);
117 end create_ame_approver_type;
118 --
119 -- ----------------------------------------------------------------------------
120 -- |------------------------< delete_ame_approver_type >----------------------|
121 -- ----------------------------------------------------------------------------
122 PROCEDURE delete_ame_approver_type
123   (p_validate                     in                    number    default hr_api.g_false_num
124   ,p_approver_type_id             in                    number
125   ,p_object_version_number        in out nocopy         number
126   ,p_start_date                   out    nocopy         date
127   ,p_end_date                     out    nocopy         date
128   ,p_return_status                out    nocopy         varchar2
129   ) is
130   --
131   -- Variables for API Boolean parameters
132   l_validate                      boolean;
133   --
134   -- Variables for IN/OUT parameters
135   l_object_version_number         number;
136   --
137   -- Other variables
138   l_proc    varchar2(72) := g_package ||'delete_ame_approver_type';
139 Begin
140   hr_utility.set_location(' Entering:' || l_proc,10);
141   --
142   -- Issue a savepoint
143   --
144   savepoint delete_ame_apt_type_swi;
145   --
146   -- Initialise Multiple Message Detection
147   --
148   hr_multi_message.enable_message_list;
149   --
150   -- Remember IN OUT parameter IN values
151   --
152   l_object_version_number         := p_object_version_number;
153   --
154   -- Convert constant values to their corresponding boolean value
155   --
156   l_validate :=
157     hr_api.constant_to_boolean
158       (p_constant_value => p_validate);
159   --
160   -- Register Surrogate ID or user key values
161   --
162   --
163   -- Call API
164   --
165   ame_approver_type_api.delete_ame_approver_type
166     (p_validate                     => l_validate
167     ,p_approver_type_id             => p_approver_type_id
168     ,p_object_version_number        => p_object_version_number
169     ,p_start_date                   => p_start_date
170     ,p_end_date                     => p_end_date
171     );
172   --
173   -- Convert API warning boolean parameter values to specific
174   -- messages and add them to Multiple Message List
175   --
176   --
177   -- Convert API non-warning boolean parameter values
178   --
179   --
180   -- Derive the API return status value based on whether
181   -- messages of any type exist in the Multiple Message List.
182   -- Also disable Multiple Message Detection.
183   --
184   p_return_status := hr_multi_message.get_return_status_disable;
185   hr_utility.set_location(' Leaving:' || l_proc,20);
186   --
187 exception
188   when hr_multi_message.error_message_exist then
189     --
190     -- Catch the Multiple Message List exception which
191     -- indicates API processing has been aborted because
192     -- at least one message exists in the list.
193     --
194     rollback to delete_ame_apt_type_swi;
195     --
196     -- Reset IN OUT parameters and set OUT parameters
197     --
198     p_object_version_number        := l_object_version_number;
199     p_start_date                   := null;
200     p_end_date                     := null;
201     p_return_status := hr_multi_message.get_return_status_disable;
202     hr_utility.set_location(' Leaving:' || l_proc, 30);
203   when others then
204     --
205     -- When Multiple Message Detection is enabled catch
206     -- any Application specific or other unexpected
207     -- exceptions.  Adding appropriate details to the
208     -- Multiple Message List.  Otherwise re-raise the
209     -- error.
210     --
211     rollback to delete_ame_apt_type_swi;
212     if hr_multi_message.unexpected_error_add(l_proc) then
213        hr_utility.set_location(' Leaving:' || l_proc,40);
214        raise;
215     end if;
216     --
217     -- Reset IN OUT and set OUT parameters
218     --
219     p_object_version_number        := l_object_version_number;
220     p_start_date                   := null;
221     p_end_date                     := null;
222     p_return_status := hr_multi_message.get_return_status_disable;
223     hr_utility.set_location(' Leaving:' || l_proc,50);
224 end delete_ame_approver_type;
225 
226 end ame_approver_type_swi;