[Home] [Help]
PACKAGE BODY: APPS.HR_FORM_DATA_GROUPS_API
Source
1 Package Body hr_form_data_groups_api as
2 /* $Header: hrfdgapi.pkb 115.4 2002/12/16 09:50:41 hjonnala noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := ' hr_form_data_groups_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |--------------------------< create_form_data_group >--------------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_form_data_group
13 (p_validate in boolean default false
14 ,p_effective_date in date
15 ,p_language_code in varchar2 default hr_api.userenv_lang
16 ,p_application_id in number
17 ,p_form_id in number
18 ,p_data_group_name in varchar2
19 ,p_user_data_group_name in varchar2
20 ,p_description in varchar2 default null
21 ,p_form_data_group_id out nocopy number
22 ,p_object_version_number out nocopy number
23 ) is
24 --
25 -- Declare cursors and local variables
26 --
27
28 l_language_code fnd_languages.language_code%TYPE;
29 l_proc varchar2(72) := g_package||'create_form_data_group';
30 l_form_data_group_id number;
31 l_object_version_number number;
32 begin
33 hr_utility.set_location('Entering:'|| l_proc, 10);
34 --
35 -- Issue a savepoint
36 --
37 savepoint create_form_data_group;
38 --
39 -- Truncate the time portion from all IN date parameters
40 --
41 -- p_effective_date := TRUNC(p_effective_date);
42 --
43 -- Validate the language parameter. l_language_code should be passed
44 -- instead of p_language_code from now on, to allow an IN OUT parameter to
45 -- be passed through.
46 --
47 l_language_code := p_language_code;
48 hr_api.validate_language_code(p_language_code => l_language_code);
49 --
50 hr_utility.set_location(l_proc, 20);
51 --
52 --
53 -- Call Before Process User Hook
54 --
55 begin
56 hr_form_data_groups_api_bk1.create_form_data_group_b
57 (p_effective_date => TRUNC(p_effective_date)
58 ,p_language_code => l_language_code
59 ,p_application_id => p_application_id
60 ,p_form_id => p_form_id
61 ,p_data_group_name => p_data_group_name
62 ,p_user_data_group_name => p_user_data_group_name
63 ,p_description => p_description
64 );
65 exception
66 when hr_api.cannot_find_prog_unit then
67 hr_api.cannot_find_prog_unit_error
68 (p_module_name => 'create_form_data_group'
69 ,p_hook_type => 'BP'
70 );
71 end;
72
73 --
74 -- Process Logic
75 --
76 hr_utility.set_location('At:'|| l_proc, 15);
77
78 hr_fdg_ins.ins(p_application_id => p_application_id
79 ,p_form_id => p_form_id
80 ,p_data_group_name => p_data_group_name
81 ,p_form_data_group_id => l_form_data_group_id
82 ,p_object_version_number => l_object_version_number);
83
84 hr_utility.set_location('At:'|| l_proc, 20);
85
86 hr_fgt_ins.ins_tl( p_language_code => l_language_code
87 ,p_form_data_group_id => l_form_data_group_id
88 ,p_user_data_group_name => p_user_data_group_name
89 ,p_description => p_description);
90
91 hr_utility.set_location('At:'|| l_proc, 25);
92
93 --
94 -- Call After Process User Hook
95 --
96 begin
97 hr_form_data_groups_api_bk1.create_form_data_group_a
98 (p_effective_date => TRUNC(p_effective_date)
99 ,p_language_code => l_language_code
100 ,p_application_id => p_application_id
101 ,p_form_id => p_form_id
102 ,p_data_group_name => p_data_group_name
103 ,p_user_data_group_name => p_user_data_group_name
104 ,p_description => p_description
105 ,p_form_data_group_id => l_form_data_group_id
106 ,p_object_version_number => l_object_version_number
107 );
108 exception
109 when hr_api.cannot_find_prog_unit then
110 hr_api.cannot_find_prog_unit_error
111 (p_module_name => 'create_form_data_group'
112 ,p_hook_type => 'AP'
113 );
114 end;
115 --
116 -- When in validation only mode raise the Validate_Enabled exception
117 --
118 hr_utility.set_location('At:'|| l_proc, 30);
119
120 if p_validate then
121 raise hr_api.validate_enabled;
122 end if;
123 --
124 -- Set all output arguments
125 --
126 p_form_data_group_id := l_form_data_group_id;
127 p_object_version_number := l_object_version_number;
128 --
129 hr_utility.set_location(' Leaving:'||l_proc, 70);
130 exception
131 when hr_api.validate_enabled then
132 --
133 -- As the Validate_Enabled exception has been raised
134 -- we must rollback to the savepoint
135 --
136 rollback to create_form_data_group;
137 --
138 -- Only set output warning arguments
139 -- (Any key or derived arguments must be set to null
140 -- when validation only mode is being used.)
141 --
142 p_form_data_group_id := null;
143 p_object_version_number := null;
144 hr_utility.set_location(' Leaving:'||l_proc, 80);
145 when others then
146 --
147 -- A validation or unexpected error has occured
148 --
149 rollback to create_form_data_group;
150 -- Reset out parameters.
151 p_form_data_group_id := null;
152 p_object_version_number := null;
153 hr_utility.set_location(' Leaving:'||l_proc, 90);
154 raise;
155 end create_form_data_group;
156 --
157 -- ----------------------------------------------------------------------------
158 -- |------------------------< delete_form_data_group >------------------------|
159 -- ----------------------------------------------------------------------------
160 --
161 procedure delete_form_data_group
162 (p_validate in boolean default false
163 ,p_form_data_group_id in number
164 ,p_object_version_number in number
165 ) is
166 --
167 -- Declare cursors and local variables
168 --
169
170 CURSOR cur_data_group_item IS
171 SELECT form_data_group_item_id
172 ,object_version_number
173 FROM hr_form_data_group_items
174 WHERE form_data_group_id = p_form_data_group_id;
175
176 l_proc varchar2(72) := g_package||'delete_form_data_group';
177 begin
178 hr_utility.set_location('Entering:'|| l_proc, 10);
179 --
180 -- Issue a savepoint
181 --
182 savepoint delete_form_data_group;
183 --
184 -- Call Before Process User Hook
185 --
186 begin
187 hr_form_data_groups_api_bk2.delete_form_data_group_b
188 (p_form_data_group_id => p_form_data_group_id
189 ,p_object_version_number => p_object_version_number
190 );
191 exception
192 when hr_api.cannot_find_prog_unit then
193 hr_api.cannot_find_prog_unit_error
194 (p_module_name => 'delete_form_data_group'
195 ,p_hook_type => 'BP'
196 );
197 end;
198 --
199 -- Process Logic
200 --
201 hr_utility.set_location('At:'|| l_proc, 15);
202
203 hr_fdg_shd.lck( p_form_data_group_id => p_form_data_group_id
204 ,p_object_version_number => p_object_version_number);
205
206 hr_utility.set_location('At:'|| l_proc, 20);
207
208 FOR cur_rec IN cur_data_group_item LOOP
209
210 hr_form_data_group_items_api.delete_form_data_group_item(
211 p_form_data_group_item_id => cur_rec.form_data_group_item_id
212 ,p_object_version_number => cur_rec.object_version_number);
213
214 END LOOP;
215
216 hr_utility.set_location('At:'|| l_proc, 30);
217
218 hr_fgt_del.del_tl( p_form_data_group_id => p_form_data_group_id);
219
220 hr_utility.set_location('At:'|| l_proc, 40);
221
222 hr_fdg_del.del( p_form_data_group_id => p_form_data_group_id
223 ,p_object_version_number => p_object_version_number);
224
225 hr_utility.set_location('At:'|| l_proc, 50);
226
227 --
228 -- Call After Process User Hook
229 --
230 begin
231 hr_form_data_groups_api_bk2.delete_form_data_group_a
232 (p_form_data_group_id => p_form_data_group_id
233 ,p_object_version_number => p_object_version_number
234 );
235 exception
236 when hr_api.cannot_find_prog_unit then
237 hr_api.cannot_find_prog_unit_error
238 (p_module_name => 'delete_form_data_group'
239 ,p_hook_type => 'AP'
240 );
241 end;
242 --
243 -- When in validation only mode raise the Validate_Enabled exception
244 --
245 hr_utility.set_location('At:'|| l_proc, 60);
246
247 if p_validate then
248 raise hr_api.validate_enabled;
249 end if;
250 --
251 hr_utility.set_location(' Leaving:'||l_proc, 70);
252 exception
253 when hr_api.validate_enabled then
254 --
255 -- As the Validate_Enabled exception has been raised
256 -- we must rollback to the savepoint
257 --
258 rollback to delete_form_data_group;
259 --
260 -- Only set output warning arguments
261 -- (Any key or derived arguments must be set to null
262 -- when validation only mode is being used.)
263 --
264 hr_utility.set_location(' Leaving:'||l_proc, 80);
265 when others then
266 --
267 -- A validation or unexpected error has occured
268 --
269 rollback to delete_form_data_group;
270 hr_utility.set_location(' Leaving:'||l_proc, 90);
271 raise;
272 end delete_form_data_group;
273 --
274 -- ----------------------------------------------------------------------------
275 -- |------------------------< update_form_data_group >------------------------|
276 -- ----------------------------------------------------------------------------
277 --
278 procedure update_form_data_group
279 (p_validate in boolean default false
280 ,p_effective_date in date
281 ,p_language_code in varchar2 default hr_api.userenv_lang
282 --,p_application_id in number
283 --,p_form_id in number
284 ,p_form_data_group_id in number
285 ,p_data_group_name in varchar2 default hr_api.g_varchar2
286 ,p_user_data_group_name in varchar2 default hr_api.g_varchar2
287 ,p_description in varchar2 default hr_api.g_varchar2
288 ,p_object_version_number in out nocopy number
289 ) is
290 --
291 -- Declare cursors and local variables
292 --
293
294 l_language_code fnd_languages.language_code%TYPE;
295
296 l_proc varchar2(72) := g_package||'update_form_data_group';
297 l_object_version_number number;
298 l_temp_ovn number := p_object_version_number;
299 begin
300 hr_utility.set_location('Entering:'|| l_proc, 10);
301 --
302 -- Issue a savepoint
303 --
304 savepoint update_form_data_group;
305 --
306 -- Truncate the time portion from all IN date parameters
307 --
308 -- p_effective_date := TRUNC(p_effective_date);
309 l_object_version_number := p_object_version_number;
310 --
311 -- Validate the language parameter. l_language_code should be passed
312 -- instead of p_language_code from now on, to allow an IN OUT parameter to
313 -- be passed through.
314 --
315 l_language_code := p_language_code;
316 hr_api.validate_language_code(p_language_code => l_language_code);
317 --
318 hr_utility.set_location(l_proc, 20);
319 --
320 --
321 -- Call Before Process User Hook
322 --
323 begin
324 hr_form_data_groups_api_bk3.update_form_data_group_b
325 (p_effective_date => TRUNC(p_effective_date)
326 ,p_language_code => l_language_code
327 --,p_application_id => p_application_id
328 --,p_form_id => p_form_id
329 ,p_data_group_name => p_data_group_name
330 ,p_user_data_group_name => p_user_data_group_name
331 ,p_description => p_description
332 ,p_form_data_group_id => p_form_data_group_id
333 ,p_object_version_number => l_object_version_number
334 );
335 exception
336 when hr_api.cannot_find_prog_unit then
337 hr_api.cannot_find_prog_unit_error
338 (p_module_name => 'update_form_data_group'
339 ,p_hook_type => 'BP'
340 );
341 end;
342
343 --
344 -- Process Logic
345 --
346 hr_utility.set_location('At:'|| l_proc, 15);
347
348 hr_fdg_upd.upd( p_form_data_group_id => p_form_data_group_id
349 --,p_application_id => p_application_id
350 --,p_form_id => p_form_id
351 ,p_data_group_name => p_data_group_name
352 ,p_object_version_number => l_object_version_number);
353
354 hr_utility.set_location('At:'|| l_proc, 20);
355
356 hr_fgt_upd.upd_tl( p_language_code => l_language_code
357 ,p_form_data_group_id => p_form_data_group_id
358 ,p_user_data_group_name => p_user_data_group_name
359 ,p_description => p_description);
360
361 hr_utility.set_location('At:'|| l_proc, 30);
362
363 --
364 -- Call After Process User Hook
365 --
366 begin
367 hr_form_data_groups_api_bk3.update_form_data_group_a
368 (p_effective_date => TRUNC(p_effective_date)
369 ,p_language_code => l_language_code
370 --,p_application_id => p_application_id
371 --,p_form_id => p_form_id
372 ,p_form_data_group_id => p_form_data_group_id
373 ,p_data_group_name => p_data_group_name
374 ,p_user_data_group_name => p_user_data_group_name
375 ,p_description => p_description
376 ,p_object_version_number => l_object_version_number
377 );
378 exception
379 when hr_api.cannot_find_prog_unit then
380 hr_api.cannot_find_prog_unit_error
381 (p_module_name => 'update_form_data_group'
382 ,p_hook_type => 'AP'
383 );
384 end;
385 --
386 -- When in validation only mode raise the Validate_Enabled exception
387 --
388 hr_utility.set_location('At:'|| l_proc, 40);
389
390 if p_validate then
391 raise hr_api.validate_enabled;
392 end if;
393 --
394 -- Set all output arguments
395 --
396 p_object_version_number := l_object_version_number;
397 --
398 hr_utility.set_location(' Leaving:'||l_proc, 70);
399 exception
400 when hr_api.validate_enabled then
401 --
402 -- As the Validate_Enabled exception has been raised
403 -- we must rollback to the savepoint
404 --
405 rollback to update_form_data_group;
406 --
407 -- Only set output warning arguments
408 -- (Any key or derived arguments must be set to null
409 -- when validation only mode is being used.)
410 --
411 -- Reset all in out arguments
412 --
413 p_object_version_number := l_object_version_number;
414 hr_utility.set_location(' Leaving:'||l_proc, 80);
415 when others then
416 --
417 -- A validation or unexpected error has occured
418 --
419 rollback to update_form_data_group;
420 -- Reset all in out arguments
421 --
422 p_object_version_number := l_temp_ovn;
423 hr_utility.set_location(' Leaving:'||l_proc, 90);
424 raise;
425 end update_form_data_group;
426 --
427 end hr_form_data_groups_api;