DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_ANNOUNCEMENT_API

Source


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