DBA Data[Home] [Help]

PACKAGE BODY: APPS.IRC_AGENCY_VACANCIES_API

Source


4 -- Package Variables
1 Package Body IRC_AGENCY_VACANCIES_API as
2 /* $Header: iriavapi.pkb 120.0 2005/07/26 15:04:40 mbocutt noship $ */
3 --
5 --
6 g_package  varchar2(33) := 'IRC_AGENCY_VACANCIES_API';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |--------------------------< CREATE_AGENCY_VACANCY >- -------------------|
10 -- ----------------------------------------------------------------------------
14   ,p_agency_id                      in number
11 --
12 procedure create_agency_vacancy
13   (p_validate                       in boolean  default false
15   ,p_vacancy_id                     in number
16   ,p_start_date                     in date     default null
17   ,p_end_date                       in date     default null
18   ,p_max_allowed_applicants         in number   default null
19   ,p_manage_applicants_allowed      in varchar2 default 'N'
20   ,p_attribute_category             in varchar2 default null
21   ,p_attribute1                     in varchar2 default null
22   ,p_attribute2                     in varchar2 default null
23   ,p_attribute3                     in varchar2 default null
24   ,p_attribute4                     in varchar2 default null
25   ,p_attribute5                     in varchar2 default null
26   ,p_attribute6                     in varchar2 default null
27   ,p_attribute7                     in varchar2 default null
28   ,p_attribute8                     in varchar2 default null
29   ,p_attribute9                     in varchar2 default null
30   ,p_attribute10                    in varchar2 default null
31   ,p_attribute11                    in varchar2 default null
32   ,p_attribute12                    in varchar2 default null
33   ,p_attribute13                    in varchar2 default null
34   ,p_attribute14                    in varchar2 default null
35   ,p_attribute15                    in varchar2 default null
36   ,p_attribute16                    in varchar2 default null
37   ,p_attribute17                    in varchar2 default null
38   ,p_attribute18                    in varchar2 default null
39   ,p_attribute19                    in varchar2 default null
40   ,p_attribute20                    in varchar2 default null
41   ,p_attribute21                    in varchar2 default null
42   ,p_attribute22                    in varchar2 default null
43   ,p_attribute23                    in varchar2 default null
44   ,p_attribute24                    in varchar2 default null
45   ,p_attribute25                    in varchar2 default null
46   ,p_attribute26                    in varchar2 default null
47   ,p_attribute27                    in varchar2 default null
48   ,p_attribute28                    in varchar2 default null
49   ,p_attribute29                    in varchar2 default null
50   ,p_attribute30                    in varchar2 default null
51   ,p_object_version_number          out nocopy  number
52   ,p_agency_vacancy_id              out nocopy  number
53   ) is
54   --
55   -- Declare cursors and local variables
56   --
57   l_agency_vacancy_id      irc_agency_vacancies.agency_vacancy_id%type;
58   l_object_version_number  irc_agency_vacancies.object_version_number%type;
59   l_start_date             irc_agency_vacancies.start_date%type;
60   l_end_date               irc_agency_vacancies.end_date%type;
61   l_proc                   varchar2(72) := g_package||'.CREATE_AGENCY_VACANCY';
62   --
63 begin
64   hr_utility.set_location('Entering:'|| l_proc, 10);
65   --
66   -- Issue a savepoint
67   --
68   savepoint CREATE_AGENCY_VACANCY;
69   --
70   -- Truncate the time portion from all IN date parameters
71   --
72   l_start_date := trunc(p_start_date);
73   l_end_date   := trunc(p_end_date);
74   --
75   -- Call Before Process User Hook
76   --
77   begin
78     IRC_AGENCY_VACANCIES_BK1.CREATE_AGENCY_VACANCY_b
79       (p_agency_vacancy_id          =>  p_agency_vacancy_id
80       ,p_agency_id                  =>  p_agency_id
81       ,p_vacancy_id                 =>  p_vacancy_id
82       ,p_start_date                 =>  l_start_date
83       ,p_end_date                   =>  l_end_date
84       ,p_max_allowed_applicants     =>  p_max_allowed_applicants
85       ,p_manage_applicants_allowed  =>  p_manage_applicants_allowed
86       ,p_attribute_category         =>  p_attribute_category
87       ,p_attribute1                 =>  p_attribute1
88       ,p_attribute2                 =>  p_attribute2
89       ,p_attribute3                 =>  p_attribute3
90       ,p_attribute4                 =>  p_attribute4
91       ,p_attribute5                 =>  p_attribute5
92       ,p_attribute6                 =>  p_attribute6
93       ,p_attribute7                 =>  p_attribute7
94       ,p_attribute8                 =>  p_attribute8
95       ,p_attribute9                 =>  p_attribute9
96       ,p_attribute10                =>  p_attribute10
97       ,p_attribute11                =>  p_attribute11
98       ,p_attribute12                =>  p_attribute12
99       ,p_attribute13                =>  p_attribute13
100       ,p_attribute14                =>  p_attribute14
101       ,p_attribute15                =>  p_attribute15
102       ,p_attribute16                =>  p_attribute16
103       ,p_attribute17                =>  p_attribute17
104       ,p_attribute18                =>  p_attribute18
105       ,p_attribute19                =>  p_attribute19
106       ,p_attribute20                =>  p_attribute20
107       ,p_attribute21                =>  p_attribute21
108       ,p_attribute22                =>  p_attribute22
109       ,p_attribute23                =>  p_attribute23
110       ,p_attribute24                =>  p_attribute24
111       ,p_attribute25                =>  p_attribute25
112       ,p_attribute26                =>  p_attribute26
113       ,p_attribute27                =>  p_attribute27
114       ,p_attribute28                =>  p_attribute28
115       ,p_attribute29                =>  p_attribute29
116       ,p_attribute30                =>  p_attribute30
117       );
118   exception
119     when hr_api.cannot_find_prog_unit then
120       hr_api.cannot_find_prog_unit_error
121         (p_module_name => 'CREATE_AGENCY_VACANCY'
122         ,p_hook_type   => 'BP'
123         );
124   end;
125   --
126   -- Process Logic
127   --
128   irc_iav_ins.ins
132       ,p_end_date                   =>  l_end_date
129       (p_agency_id                  =>  p_agency_id
130       ,p_vacancy_id                 =>  p_vacancy_id
131       ,p_start_date                 =>  l_start_date
133       ,p_max_allowed_applicants     =>  p_max_allowed_applicants
134       ,p_manage_applicants_allowed  =>  p_manage_applicants_allowed
135       ,p_attribute_category         =>  p_attribute_category
136       ,p_attribute1                 =>  p_attribute1
137       ,p_attribute2                 =>  p_attribute2
138       ,p_attribute3                 =>  p_attribute3
139       ,p_attribute4                 =>  p_attribute4
140       ,p_attribute5                 =>  p_attribute5
141       ,p_attribute6                 =>  p_attribute6
142       ,p_attribute7                 =>  p_attribute7
143       ,p_attribute8                 =>  p_attribute8
144       ,p_attribute9                 =>  p_attribute9
145       ,p_attribute10                =>  p_attribute10
146       ,p_attribute11                =>  p_attribute11
147       ,p_attribute12                =>  p_attribute12
148       ,p_attribute13                =>  p_attribute13
149       ,p_attribute14                =>  p_attribute14
150       ,p_attribute15                =>  p_attribute15
151       ,p_attribute16                =>  p_attribute16
152       ,p_attribute17                =>  p_attribute17
153       ,p_attribute18                =>  p_attribute18
154       ,p_attribute19                =>  p_attribute19
155       ,p_attribute20                =>  p_attribute20
156       ,p_attribute21                =>  p_attribute21
157       ,p_attribute22                =>  p_attribute22
158       ,p_attribute23                =>  p_attribute23
159       ,p_attribute24                =>  p_attribute24
160       ,p_attribute25                =>  p_attribute25
161       ,p_attribute26                =>  p_attribute26
162       ,p_attribute27                =>  p_attribute27
163       ,p_attribute28                =>  p_attribute28
164       ,p_attribute29                =>  p_attribute29
165       ,p_attribute30                =>  p_attribute30
166       ,p_object_version_number      =>  l_object_version_number
167       ,p_agency_vacancy_id          =>  l_agency_vacancy_id
168       );
169 
170   --
171   -- Call After Process User Hook
172   --
173   begin
174     IRC_AGENCY_VACANCIES_BK1.CREATE_AGENCY_VACANCY_a
175       (p_agency_vacancy_id          =>  l_agency_vacancy_id
176       ,p_agency_id                  =>  p_agency_id
177       ,p_vacancy_id                 =>  p_vacancy_id
178       ,p_start_date                 =>  l_start_date
179       ,p_end_date                   =>  l_end_date
180       ,p_max_allowed_applicants     =>  p_max_allowed_applicants
181       ,p_manage_applicants_allowed  =>  p_manage_applicants_allowed
182       ,p_attribute_category         =>  p_attribute_category
183       ,p_attribute1                 =>  p_attribute1
184       ,p_attribute2                 =>  p_attribute2
185       ,p_attribute3                 =>  p_attribute3
186       ,p_attribute4                 =>  p_attribute4
187       ,p_attribute5                 =>  p_attribute5
188       ,p_attribute6                 =>  p_attribute6
189       ,p_attribute7                 =>  p_attribute7
190       ,p_attribute8                 =>  p_attribute8
191       ,p_attribute9                 =>  p_attribute9
192       ,p_attribute10                =>  p_attribute10
193       ,p_attribute11                =>  p_attribute11
194       ,p_attribute12                =>  p_attribute12
195       ,p_attribute13                =>  p_attribute13
196       ,p_attribute14                =>  p_attribute14
197       ,p_attribute15                =>  p_attribute15
198       ,p_attribute16                =>  p_attribute16
199       ,p_attribute17                =>  p_attribute17
200       ,p_attribute18                =>  p_attribute18
201       ,p_attribute19                =>  p_attribute19
202       ,p_attribute20                =>  p_attribute20
203       ,p_attribute21                =>  p_attribute21
204       ,p_attribute22                =>  p_attribute22
205       ,p_attribute23                =>  p_attribute23
206       ,p_attribute24                =>  p_attribute24
207       ,p_attribute25                =>  p_attribute25
208       ,p_attribute26                =>  p_attribute26
209       ,p_attribute27                =>  p_attribute27
210       ,p_attribute28                =>  p_attribute28
211       ,p_attribute29                =>  p_attribute29
212       ,p_attribute30                =>  p_attribute30
213       ,p_object_version_number      => l_object_version_number
214       );
215   exception
216     when hr_api.cannot_find_prog_unit then
217       hr_api.cannot_find_prog_unit_error
218         (p_module_name => 'CREATE_AGENCY_VACANCY'
219         ,p_hook_type   => 'AP'
220         );
221   end;
222   --
223   -- When in validation only mode raise the Validate_Enabled exception
224   --
225   if p_validate then
226     raise hr_api.validate_enabled;
227   end if;
228   --
229   -- Set all IN OUT and OUT parameters with out values
230   --
231   p_object_version_number  := l_object_version_number;
232   p_agency_vacancy_id      := l_agency_vacancy_id;
233   --
234   hr_utility.set_location(' Leaving:'||l_proc, 70);
235 exception
236   when hr_api.validate_enabled then
237     --
238     -- As the Validate_Enabled exception has been raised
239     -- we must rollback to the savepoint
240     --
241     rollback to CREATE_AGENCY_VACANCY;
242     --
243     -- Reset IN OUT parameters and set OUT parameters
244     -- (Any key or derived arguments must be set to null
245     -- when validation only mode is being used.)
246     --
247     p_object_version_number  := null;
248     p_agency_vacancy_id      := null;
249     hr_utility.set_location(' Leaving:'||l_proc, 80);
253     --
250   when others then
251     --
252     -- A validation or unexpected error has occured
254     rollback to CREATE_AGENCY_VACANCY;
255     --
256     -- Reset IN OUT parameters and set all
257     -- OUT parameters, including warnings, to null
258     --
259     p_object_version_number  := null;
260     p_agency_vacancy_id      := null;
261     hr_utility.set_location(' Leaving:'||l_proc, 90);
262     raise;
263 end create_agency_vacancy;
264 --
265 -- ----------------------------------------------------------------------------
266 -- |--------------------------< UPDATE_AGENCY_VACANCY >- -------------------|
267 -- ----------------------------------------------------------------------------
268 --
269 procedure update_agency_vacancy
270   (p_validate                       in boolean  default false
271   ,p_agency_vacancy_id              in number
272   ,p_agency_id                      in number
273   ,p_vacancy_id                     in number
274   ,p_start_date                     in date
275   ,p_end_date                       in date
276   ,p_max_allowed_applicants         in number   default hr_api.g_number
277   ,p_manage_applicants_allowed      in varchar2 default 'N'
278   ,p_attribute_category             in varchar2 default hr_api.g_varchar2
279   ,p_attribute1                     in varchar2 default hr_api.g_varchar2
283   ,p_attribute5                     in varchar2 default hr_api.g_varchar2
280   ,p_attribute2                     in varchar2 default hr_api.g_varchar2
281   ,p_attribute3                     in varchar2 default hr_api.g_varchar2
282   ,p_attribute4                     in varchar2 default hr_api.g_varchar2
284   ,p_attribute6                     in varchar2 default hr_api.g_varchar2
285   ,p_attribute7                     in varchar2 default hr_api.g_varchar2
286   ,p_attribute8                     in varchar2 default hr_api.g_varchar2
287   ,p_attribute9                     in varchar2 default hr_api.g_varchar2
288   ,p_attribute10                    in varchar2 default hr_api.g_varchar2
289   ,p_attribute11                    in varchar2 default hr_api.g_varchar2
290   ,p_attribute12                    in varchar2 default hr_api.g_varchar2
291   ,p_attribute13                    in varchar2 default hr_api.g_varchar2
292   ,p_attribute14                    in varchar2 default hr_api.g_varchar2
293   ,p_attribute15                    in varchar2 default hr_api.g_varchar2
294   ,p_attribute16                    in varchar2 default hr_api.g_varchar2
295   ,p_attribute17                    in varchar2 default hr_api.g_varchar2
296   ,p_attribute18                    in varchar2 default hr_api.g_varchar2
297   ,p_attribute19                    in varchar2 default hr_api.g_varchar2
298   ,p_attribute20                    in varchar2 default hr_api.g_varchar2
299   ,p_attribute21                    in varchar2 default hr_api.g_varchar2
300   ,p_attribute22                    in varchar2 default hr_api.g_varchar2
301   ,p_attribute23                    in varchar2 default hr_api.g_varchar2
302   ,p_attribute24                    in varchar2 default hr_api.g_varchar2
303   ,p_attribute25                    in varchar2 default hr_api.g_varchar2
304   ,p_attribute26                    in varchar2 default hr_api.g_varchar2
305   ,p_attribute27                    in varchar2 default hr_api.g_varchar2
306   ,p_attribute28                    in varchar2 default hr_api.g_varchar2
307   ,p_attribute29                    in varchar2 default hr_api.g_varchar2
308   ,p_attribute30                    in varchar2 default hr_api.g_varchar2
309   ,p_object_version_number          in out nocopy  number
310   ) is
311   --
312   -- Declare cursors and local variables
313   --
314   l_object_version_number  irc_agency_vacancies.object_version_number%type
315                               := p_object_version_number;
316   l_start_date             irc_agency_vacancies.start_date%type;
317   l_end_date               irc_agency_vacancies.end_date%type;
318   l_proc                varchar2(72) := g_package||'UPDATE_AGENCY_VACANCY';
319   --
320 begin
321   hr_utility.set_location('Entering:'|| l_proc, 10);
322   --
323   -- Issue a savepoint
324   --
325   savepoint UPDATE_AGENCY_VACANCY;
326   --
327   -- Truncate the time portion from all IN date parameters
328   --
329   l_start_date := trunc(p_start_date);
330   l_end_date   := trunc(p_end_date);
331   --
332   -- Call Before Process User Hook
333   --
334   begin
335     IRC_AGENCY_VACANCIES_BK2.UPDATE_AGENCY_VACANCY_b
336       (p_agency_vacancy_id          =>  p_agency_vacancy_id
337       ,p_agency_id                  =>  p_agency_id
338       ,p_vacancy_id                 =>  p_vacancy_id
339       ,p_start_date                 =>  l_start_date
340       ,p_end_date                   =>  l_end_date
341       ,p_max_allowed_applicants     =>  p_max_allowed_applicants
345       ,p_attribute2                 =>  p_attribute2
342       ,p_manage_applicants_allowed  =>  p_manage_applicants_allowed
343       ,p_attribute_category         =>  p_attribute_category
344       ,p_attribute1                 =>  p_attribute1
346       ,p_attribute3                 =>  p_attribute3
347       ,p_attribute4                 =>  p_attribute4
348       ,p_attribute5                 =>  p_attribute5
349       ,p_attribute6                 =>  p_attribute6
350       ,p_attribute7                 =>  p_attribute7
351       ,p_attribute8                 =>  p_attribute8
352       ,p_attribute9                 =>  p_attribute9
353       ,p_attribute10                =>  p_attribute10
354       ,p_attribute11                =>  p_attribute11
355       ,p_attribute12                =>  p_attribute12
356       ,p_attribute13                =>  p_attribute13
357       ,p_attribute14                =>  p_attribute14
358       ,p_attribute15                =>  p_attribute15
359       ,p_attribute16                =>  p_attribute16
360       ,p_attribute17                =>  p_attribute17
361       ,p_attribute18                =>  p_attribute18
362       ,p_attribute19                =>  p_attribute19
363       ,p_attribute20                =>  p_attribute20
364       ,p_attribute21                =>  p_attribute21
365       ,p_attribute22                =>  p_attribute22
366       ,p_attribute23                =>  p_attribute23
367       ,p_attribute24                =>  p_attribute24
368       ,p_attribute25                =>  p_attribute25
369       ,p_attribute26                =>  p_attribute26
370       ,p_attribute27                =>  p_attribute27
371       ,p_attribute28                =>  p_attribute28
372       ,p_attribute29                =>  p_attribute29
373       ,p_attribute30                =>  p_attribute30
374       ,p_object_version_number      =>  l_object_version_number
375       );
376   exception
377     when hr_api.cannot_find_prog_unit then
378       hr_api.cannot_find_prog_unit_error
379         (p_module_name => 'UPDATE_AGENCY_VACANCY'
380         ,p_hook_type   => 'BP'
381         );
382   end;
383   --
384   -- Validation in addition to Row Handlers
385   --
386 
387   --
388   -- Process Logic
389   --
390   irc_iav_upd.upd
391       (p_agency_vacancy_id          =>  p_agency_vacancy_id
392       ,p_agency_id                  =>  p_agency_id
393       ,p_vacancy_id                 =>  p_vacancy_id
394       ,p_start_date                 =>  l_start_date
395       ,p_end_date                   =>  l_end_date
396       ,p_max_allowed_applicants     =>  p_max_allowed_applicants
397       ,p_manage_applicants_allowed  =>  p_manage_applicants_allowed
398       ,p_attribute_category         =>  p_attribute_category
399       ,p_attribute1                 =>  p_attribute1
400       ,p_attribute2                 =>  p_attribute2
401       ,p_attribute3                 =>  p_attribute3
402       ,p_attribute4                 =>  p_attribute4
403       ,p_attribute5                 =>  p_attribute5
404       ,p_attribute6                 =>  p_attribute6
405       ,p_attribute7                 =>  p_attribute7
406       ,p_attribute8                 =>  p_attribute8
407       ,p_attribute9                 =>  p_attribute9
408       ,p_attribute10                =>  p_attribute10
409       ,p_attribute11                =>  p_attribute11
410       ,p_attribute12                =>  p_attribute12
411       ,p_attribute13                =>  p_attribute13
412       ,p_attribute14                =>  p_attribute14
413       ,p_attribute15                =>  p_attribute15
414       ,p_attribute16                =>  p_attribute16
415       ,p_attribute17                =>  p_attribute17
416       ,p_attribute18                =>  p_attribute18
417       ,p_attribute19                =>  p_attribute19
418       ,p_attribute20                =>  p_attribute20
419       ,p_attribute21                =>  p_attribute21
420       ,p_attribute22                =>  p_attribute22
421       ,p_attribute23                =>  p_attribute23
422       ,p_attribute24                =>  p_attribute24
423       ,p_attribute25                =>  p_attribute25
424       ,p_attribute26                =>  p_attribute26
425       ,p_attribute27                =>  p_attribute27
426       ,p_attribute28                =>  p_attribute28
427       ,p_attribute29                =>  p_attribute29
428       ,p_attribute30                =>  p_attribute30
429       ,p_object_version_number      =>  l_object_version_number
430       );
431 
432   --
433   -- Call After Process User Hook
434   --
435   begin
436     IRC_AGENCY_VACANCIES_BK2.UPDATE_AGENCY_VACANCY_a
437       (p_agency_vacancy_id          =>  p_agency_vacancy_id
438       ,p_agency_id                  =>  p_agency_id
439       ,p_vacancy_id                 =>  p_vacancy_id
440       ,p_start_date                 =>  l_start_date
441       ,p_end_date                   =>  l_end_date
442       ,p_max_allowed_applicants     =>  p_max_allowed_applicants
443       ,p_manage_applicants_allowed  =>  p_manage_applicants_allowed
444       ,p_attribute_category         =>  p_attribute_category
445       ,p_attribute1                 =>  p_attribute1
446       ,p_attribute2                 =>  p_attribute2
447       ,p_attribute3                 =>  p_attribute3
448       ,p_attribute4                 =>  p_attribute4
449       ,p_attribute5                 =>  p_attribute5
450       ,p_attribute6                 =>  p_attribute6
451       ,p_attribute7                 =>  p_attribute7
452       ,p_attribute8                 =>  p_attribute8
453       ,p_attribute9                 =>  p_attribute9
454       ,p_attribute10                =>  p_attribute10
455       ,p_attribute11                =>  p_attribute11
456       ,p_attribute12                =>  p_attribute12
457       ,p_attribute13                =>  p_attribute13
461       ,p_attribute17                =>  p_attribute17
458       ,p_attribute14                =>  p_attribute14
459       ,p_attribute15                =>  p_attribute15
460       ,p_attribute16                =>  p_attribute16
462       ,p_attribute18                =>  p_attribute18
463       ,p_attribute19                =>  p_attribute19
464       ,p_attribute20                =>  p_attribute20
465       ,p_attribute21                =>  p_attribute21
466       ,p_attribute22                =>  p_attribute22
467       ,p_attribute23                =>  p_attribute23
468       ,p_attribute24                =>  p_attribute24
469       ,p_attribute25                =>  p_attribute25
470       ,p_attribute26                =>  p_attribute26
471       ,p_attribute27                =>  p_attribute27
472       ,p_attribute28                =>  p_attribute28
473       ,p_attribute29                =>  p_attribute29
474       ,p_attribute30                =>  p_attribute30
475       ,p_object_version_number      => l_object_version_number
476       );
477   exception
478     when hr_api.cannot_find_prog_unit then
479       hr_api.cannot_find_prog_unit_error
480         (p_module_name => 'UPDATE_AGENCY_VACANCY'
481         ,p_hook_type   => 'AP'
482         );
483   end;
484   --
485   -- When in validation only mode raise the Validate_Enabled exception
486   --
487   if p_validate then
488     raise hr_api.validate_enabled;
489   end if;
490   --
491   -- Set all IN OUT and OUT parameters with out values
492   --
493   p_object_version_number  := l_object_version_number;
494   --
495   hr_utility.set_location(' Leaving:'||l_proc, 70);
496 exception
497   when hr_api.validate_enabled then
498     --
499     -- As the Validate_Enabled exception has been raised
500     -- we must rollback to the savepoint
501     --
502     rollback to UPDATE_AGENCY_VACANCY;
503     --
504     -- Reset IN OUT parameters and set OUT parameters
505     -- (Any key or derived arguments must be set to null
506     -- when validation only mode is being used.)
507     --
508     p_object_version_number := l_object_version_number;
509     hr_utility.set_location(' Leaving:'||l_proc, 80);
510   when others then
511     --
512     -- A validation or unexpected error has occured
513     --
514     rollback to UPDATE_AGENCY_VACANCY;
515     --
516     -- Reset IN OUT parameters and set all
517     -- OUT parameters, including warnings, to null
518     --
519     p_object_version_number := l_object_version_number;
520     hr_utility.set_location(' Leaving:'||l_proc, 90);
521     raise;
522 end update_agency_vacancy;
523 --
524 -- ----------------------------------------------------------------------------
525 -- |--------------------------< DELETE_AGENCY_VACANCY >- -------------------|
526 -- ----------------------------------------------------------------------------
527 --
528 procedure delete_agency_vacancy
529   (p_validate                       in boolean  default false
530   ,p_agency_vacancy_id              in number
531   ,p_object_version_number          in number
532   ) is
533   --
534   -- Declare cursors and local variables
535   --
536   l_proc                varchar2(72) := g_package||'DELETE_AGENCY_VACANCY';
537   --
538 begin
539   hr_utility.set_location('Entering:'|| l_proc, 10);
540   --
541   -- Issue a savepoint
542   --
543   savepoint DELETE_AGENCY_VACANCY;
544   --
545   -- Call Before Process User Hook
546   --
547   begin
548     IRC_AGENCY_VACANCIES_BK3.DELETE_AGENCY_VACANCY_b
549       (p_agency_vacancy_id     =>  p_agency_vacancy_id
550       ,p_object_version_number => p_object_version_number
551       );
552   exception
553     when hr_api.cannot_find_prog_unit then
554       hr_api.cannot_find_prog_unit_error
555         (p_module_name => 'DELETE_AGENCY_VACANCY'
556         ,p_hook_type   => 'BP'
557         );
558   end;
559   --
560   -- Process Logic
561   --
562   irc_iav_del.del
563       (p_agency_vacancy_id     =>  p_agency_vacancy_id
564       ,p_object_version_number => p_object_version_number
565       );
566 
567   --
568   -- Call After Process User Hook
569   --
570   begin
571     IRC_AGENCY_VACANCIES_BK3.DELETE_AGENCY_VACANCY_a
572       (p_agency_vacancy_id          =>  p_agency_vacancy_id
573       ,p_object_version_number      =>  p_object_version_number
574       );
575   exception
576     when hr_api.cannot_find_prog_unit then
577       hr_api.cannot_find_prog_unit_error
578         (p_module_name => 'DELETE_AGENCY_VACANCY'
579         ,p_hook_type   => 'AP'
580         );
581   end;
582   --
583   -- When in validation only mode raise the Validate_Enabled exception
584   --
585   if p_validate then
586     raise hr_api.validate_enabled;
587   end if;
588   --
589   hr_utility.set_location(' Leaving:'||l_proc, 70);
590 exception
591   when hr_api.validate_enabled then
592     --
593     -- As the Validate_Enabled exception has been raised
594     -- we must rollback to the savepoint
595     --
596     rollback to DELETE_AGENCY_VACANCY;
597     --
598     hr_utility.set_location(' Leaving:'||l_proc, 80);
599   when others then
600     --
601     -- A validation or unexpected error has occured
602     --
603     rollback to DELETE_AGENCY_VACANCY;
604     --
605     hr_utility.set_location(' Leaving:'||l_proc, 90);
606     raise;
607 end delete_agency_vacancy;
608 --
609 end IRC_AGENCY_VACANCIES_API;