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