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