1 Package body FF_FUNCTION_CONTEXT_USG_API as
2 /* $Header: fffcuapi.pkb 120.0 2005/05/27 23:22:38 appldev noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := ' FF_FUNCTION_CONTEXT_USG_API.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |--------------------------< CREATE_CONTEXT >------------------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure CREATE_CONTEXT
13 (p_validate in boolean default false
14 ,p_function_id in number
15 ,p_context_id in number
16 ,p_sequence_number out nocopy number
17 ,p_object_version_number out nocopy number
18 ) is
19
20 l_object_version_number ff_function_context_usages.object_version_number%type;
21 l_sequence_number ff_function_context_usages.sequence_number%type;
22
23 l_proc varchar2(72) := g_package||'CREATE_CONTEXT';
24 begin
25 hr_utility.set_location('Entering:'|| l_proc, 10);
26 --
27 -- Issue a savepoint
28 --
29 savepoint CREATE_CONTEXT;
30 --
31 -- Remember IN OUT parameter IN values
32 --
33 --
34 -- Truncate the time portion from all IN date parameters
35 --
36 --
37 -- Call Before Process User Hook
38 --
39 begin
40 FF_FUNCTION_CONTEXT_USG_BK1.CREATE_CONTEXT_b
41 (p_function_id => p_function_id
42 ,p_context_id => p_context_id
43 );
44 exception
45 when hr_api.cannot_find_prog_unit then
46 hr_api.cannot_find_prog_unit_error
47 (p_module_name => 'CREATE_CONTEXT'
48 ,p_hook_type => 'BP'
49 );
50 end;
51 --
52 -- Validation in addition to Row Handlers
53 --
54
55
56
57 --
58 -- Process Logic
59 --
60 ff_fcu_ins.ins
61 (p_function_id => p_function_id
62 ,p_context_id => p_context_id
63 ,p_sequence_number => l_sequence_number
64 ,p_object_version_number => l_object_version_number
65 );
66
67 --
68 -- Call After Process User Hook
69 --
70 begin
71 FF_FUNCTION_CONTEXT_USG_BK1.CREATE_CONTEXT_a
72 (p_function_id => p_function_id
73 ,p_context_id => p_context_id
74 ,p_sequence_number => l_sequence_number
75 ,p_object_version_number => l_object_version_number
76 );
77 exception
78 when hr_api.cannot_find_prog_unit then
79 hr_api.cannot_find_prog_unit_error
80 (p_module_name => 'CREATE_CONTEXT'
81 ,p_hook_type => 'AP'
82 );
83 end;
84 --
85 -- When in validation only mode raise the Validate_Enabled exception
86 --
87 if p_validate then
88 raise hr_api.validate_enabled;
89 end if;
90 --
91 -- Set all IN OUT and OUT parameters with out values
92 --
93 p_sequence_number := l_sequence_number;
94 p_object_version_number := l_object_version_number;
95 --
96 hr_utility.set_location(' Leaving:'||l_proc, 70);
97 exception
98 when hr_api.validate_enabled then
99 --
100 -- As the Validate_Enabled exception has been raised
101 -- we must rollback to the savepoint
102 --
103 rollback to CREATE_CONTEXT;
104 --
105 -- Reset IN OUT parameters and set OUT parameters
106 -- (Any key or derived arguments must be set to null
107 -- when validation only mode is being used.)
108 --
109 p_sequence_number := null;
110 p_object_version_number := null;
111
112 hr_utility.set_location(' Leaving:'||l_proc, 80);
113 when others then
114 --
115 -- A validation or unexpected error has occured
116 --
117 rollback to CREATE_CONTEXT;
118 --
119 -- Reset IN OUT parameters and set all
120 -- OUT parameters, including warnings, to null
121 --
122 p_sequence_number := null;
123 p_object_version_number := null;
124 hr_utility.set_location(' Leaving:'||l_proc, 90);
125 raise;
126 end CREATE_CONTEXT;
127 --
128 -- ----------------------------------------------------------------------------
129 -- |--------------------------< UPDATE_CONTEXT >------------------------------|
130 -- ----------------------------------------------------------------------------
131 --
132 procedure UPDATE_CONTEXT
133 (p_validate in boolean default false
134 ,p_function_id in number
135 ,p_sequence_number in number
136 ,p_object_version_number in out nocopy number
137 ,p_context_id in number default hr_api.g_number
138 ) is
139 --
140 -- Declare cursors and local variables
141 --
142 l_object_version_number ff_function_context_usages.object_version_number%type;
143 l_proc varchar2(72) := g_package||'UPDATE_CONTEXT';
144 begin
145 hr_utility.set_location('Entering:'|| l_proc, 10);
146 --
147 -- Issue a savepoint
148 --
149 savepoint UPDATE_CONTEXT;
150 --
151 -- Remember IN OUT parameter IN values
152 --
153 l_object_version_number := p_object_version_number;
154
155 --
156 -- Truncate the time portion from all IN date parameters
157 --
158 --
159 -- Call Before Process User Hook
160 --
161 begin
162 FF_FUNCTION_CONTEXT_USG_BK2.UPDATE_CONTEXT_b
163 (p_function_id => p_function_id
164 ,p_sequence_number => p_sequence_number
165 ,p_object_version_number => l_object_version_number
166 ,p_context_id => p_context_id
167 );
168 exception
169 when hr_api.cannot_find_prog_unit then
170 hr_api.cannot_find_prog_unit_error
171 (p_module_name => 'UPDATE_CONTEXT'
172 ,p_hook_type => 'BP'
173 );
174 end;
175 --
176 -- Validation in addition to Row Handlers
177 --
178
179
180
181 --
182 -- Process Logic
183 --
184 ff_fcu_upd.upd
185 (p_function_id => p_function_id
186 ,p_sequence_number => p_sequence_number
187 ,p_object_version_number => l_object_version_number
188 ,p_context_id => p_context_id
189 );
190
191
192 --
193 -- Call After Process User Hook
194 --
195 begin
196 FF_FUNCTION_CONTEXT_USG_BK2.UPDATE_CONTEXT_a
197 (p_function_id => p_function_id
198 ,p_sequence_number => p_sequence_number
199 ,p_object_version_number => l_object_version_number
200 ,p_context_id => p_context_id
201 );
202 exception
203 when hr_api.cannot_find_prog_unit then
204 hr_api.cannot_find_prog_unit_error
205 (p_module_name => 'UPDATE_CONTEXT'
206 ,p_hook_type => 'AP'
207 );
208 end;
209 --
210 -- When in validation only mode raise the Validate_Enabled exception
211 --
212 if p_validate then
213 raise hr_api.validate_enabled;
214 end if;
215 --
216 -- Set all IN OUT and OUT parameters with out values
217 --
218 p_object_version_number := l_object_version_number;
219 --
220 hr_utility.set_location(' Leaving:'||l_proc, 70);
221 exception
222 when hr_api.validate_enabled then
223 --
224 -- As the Validate_Enabled exception has been raised
225 -- we must rollback to the savepoint
226 --
227 rollback to UPDATE_CONTEXT;
228 --
229 -- Reset IN OUT parameters and set OUT parameters
230 -- (Any key or derived arguments must be set to null
231 -- when validation only mode is being used.)
232 --
233 p_object_version_number := null;
234 hr_utility.set_location(' Leaving:'||l_proc, 80);
235 when others then
236 --
237 -- A validation or unexpected error has occured
238 --
239 rollback to UPDATE_CONTEXT;
240 --
241 -- Reset IN OUT parameters and set all
242 -- OUT parameters, including warnings, to null
243 --
244 p_object_version_number := null;
245 hr_utility.set_location(' Leaving:'||l_proc, 90);
246 raise;
247 end UPDATE_CONTEXT;
248 --
249 -- ----------------------------------------------------------------------------
250 -- |--------------------------< DELETE_CONTEXT >--------------------------|
251 -- ----------------------------------------------------------------------------
252 --
253 procedure DELETE_CONTEXT
254 (p_validate in boolean default false
255 ,p_function_id in number
256 ,p_sequence_number in number
257 ,p_object_version_number in number
258 ) is
259 --
260 -- Declare cursors and local variables
261 --
262
263 l_proc varchar2(72) := g_package||'DELETE_CONTEXT';
264 begin
265 hr_utility.set_location('Entering:'|| l_proc, 10);
266 --
267 -- Issue a savepoint
268 --
269 savepoint DELETE_CONTEXT;
270 --
271 -- Remember IN OUT parameter IN values
272 --
273 -- Truncate the time portion from all IN date parameters
274 --
275 --
276 -- Call Before Process User Hook
277 --
278 begin
279 FF_FUNCTION_CONTEXT_USG_BK3.DELETE_CONTEXT_b
280 (p_function_id => p_function_id
281 ,p_sequence_number => p_sequence_number
282 ,p_object_version_number => p_object_version_number
283 );
284 exception
285 when hr_api.cannot_find_prog_unit then
286 hr_api.cannot_find_prog_unit_error
287 (p_module_name => 'DELETE_CONTEXT'
288 ,p_hook_type => 'BP'
289 );
290 end;
291 --
292 -- Validation in addition to Row Handlers
293 --
294
295
296
297 --
298 -- Process Logic
299 --
300 ff_fcu_del.del
301 (p_function_id => p_function_id
302 ,p_sequence_number => p_sequence_number
303 ,p_object_version_number => p_object_version_number
304 );
305
306
307 --
308 -- Call After Process User Hook
309 --
310 begin
311 FF_FUNCTION_CONTEXT_USG_BK3.DELETE_CONTEXT_a
312 (p_function_id => p_function_id
313 ,p_sequence_number => p_sequence_number
314 ,p_object_version_number => p_object_version_number
315 );
316 exception
317 when hr_api.cannot_find_prog_unit then
318 hr_api.cannot_find_prog_unit_error
319 (p_module_name => 'DELETE_CONTEXT'
320 ,p_hook_type => 'AP'
321 );
322 end;
323 --
324 -- When in validation only mode raise the Validate_Enabled exception
325 --
326 if p_validate then
327 raise hr_api.validate_enabled;
328 end if;
329 --
330 -- Set all IN OUT and OUT parameters with out values
331 --
332 --
333 hr_utility.set_location(' Leaving:'||l_proc, 70);
334 exception
335 when hr_api.validate_enabled then
336 --
337 -- As the Validate_Enabled exception has been raised
338 -- we must rollback to the savepoint
339 --
340 rollback to DELETE_CONTEXT;
341 --
342 -- Reset IN OUT parameters and set OUT parameters
343 -- (Any key or derived arguments must be set to null
344 -- when validation only mode is being used.)
345 --
346 hr_utility.set_location(' Leaving:'||l_proc, 80);
347 when others then
348 --
349 -- A validation or unexpected error has occured
350 --
351 rollback to DELETE_CONTEXT;
352 --
353 -- Reset IN OUT parameters and set all
354 -- OUT parameters, including warnings, to null
355 --
356 hr_utility.set_location(' Leaving:'||l_proc, 90);
357 raise;
358 end DELETE_CONTEXT;
359 --
360
361 end FF_FUNCTION_CONTEXT_USG_API;