DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_PMM_BUS

Source


1 Package Body ota_pmm_bus as
2 /* $Header: otpmm01t.pkb 115.2 99/07/16 00:53:06 porting ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  ota_pmm_bus.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |---------------------------< CHECK_DUPLICATE_MEMBER >---------------------|
12 -- ----------------------------------------------------------------------------
13 /*
14 CHECK_DUPLICATE_MEMBER
15 Duplicate events should not be allowed on any one Program
16 */
17 --
18 procedure CHECK_DUPLICATE_MEMBER (p_program_membership_id number
19                                  ,p_program_event_id      number
20                                  ,p_event_id              number) is
21 l_duplicate varchar2(1);
22 --
23 cursor get_duplicate is
24 select null
25 from   ota_program_memberships
26 where  program_event_id    = p_program_event_id
27 and    event_id            = p_event_id
28 and   (p_program_membership_id is null or
29       (p_program_membership_id is not null and
30        p_program_membership_id <> program_membership_id));
31 begin
32   open  get_duplicate;
33   fetch get_duplicate into l_duplicate;
34   if get_duplicate%found then
35      close get_duplicate;
36      fnd_message.set_name('OTA','OTA_13428_PMM_DUPLICATE');
37      fnd_message.raise_error;
38   end if;
39   close get_duplicate;
40 end CHECK_DUPLICATE_MEMBER;
41 --
42 -- ----------------------------------------------------------------------------
43 -- |------------------------< event_status_ok >--------------------------------
44 -- ----------------------------------------------------------------------------
45 --
46 -- Checks whether a program member has the correct event status based on the
47 -- event status of the program
48 --
49 procedure event_status_ok(p_event_id         in number,
50 			  p_program_event_id in number) is
51   --
52   l_dummy varchar2(1);
53   l_proc varchar2(72) := g_package||' event_status_ok';
54   l_error boolean := false;
55   --
56   cursor c1 is
57     select null
58     from   ota_events evt
59     where  evt.event_id = p_program_event_id
60     and    evt.event_status = 'N'
61     and    exists (select null
62 		   from   ota_events evt2
63 		   where  evt2.event_id = p_event_id
64 		   and    evt2.event_status = 'P');
65   --
66 begin
67   --
68   hr_utility.set_location('Entering :'||l_proc,10);
69   --
70   open c1;
71     --
72     fetch c1 into l_dummy;
73     if c1%found then
74       --
75       -- Event is planned whereas program is normal.
76       --
77       l_error := true;
78       --
79     end if;
80     --
81   close c1;
82   --
83   if l_error then
84     --
85     fnd_message.set_name('OTA','OTA_13607_PMM_EVENT_PLANNED');
86     fnd_message.raise_error;
87     --
88   end if;
89   --
90   hr_utility.set_location('Leaving :'||l_proc,10);
91   --
92 end event_status_ok;
93 --
94 -- ----------------------------------------------------------------------------
95 -- ----------------------------------------------------------------------------
96 -- |---------------------------< insert_validate >----------------------------|
97 -- ----------------------------------------------------------------------------
98 Procedure insert_validate(p_rec in ota_pmm_shd.g_rec_type) is
99 --
100   l_proc  varchar2(72) := g_package||'insert_validate';
101 --
102 Begin
103   hr_utility.set_location('Entering:'||l_proc, 5);
104   --
105   -- Call all supporting business operations
106   --
107   CHECK_DUPLICATE_MEMBER(p_program_membership_id => p_rec.program_membership_id
108                         ,p_program_event_id      => p_rec.program_event_id
109                         ,p_event_id              => p_rec.event_id);
110   --
111   event_status_ok(p_rec.event_id,
112 		  p_rec.program_event_id);
113   --
114   hr_utility.set_location(' Leaving:'||l_proc, 10);
115 End insert_validate;
116 --
117 -- ----------------------------------------------------------------------------
118 -- |---------------------------< update_validate >----------------------------|
119 -- ----------------------------------------------------------------------------
120 Procedure update_validate(p_rec in ota_pmm_shd.g_rec_type) is
121 --
122   l_proc  varchar2(72) := g_package||'update_validate';
123 --
124 Begin
125   hr_utility.set_location('Entering:'||l_proc, 5);
126   --
127   -- Call all supporting business operations
128   --
129   CHECK_DUPLICATE_MEMBER(p_program_membership_id => p_rec.program_membership_id
130                         ,p_program_event_id      => p_rec.program_event_id
131                         ,p_event_id              => p_rec.event_id);
132   --
133   event_status_ok(p_rec.event_id,
134 		  p_rec.program_event_id);
135   --
136   hr_utility.set_location(' Leaving:'||l_proc, 10);
137 End update_validate;
138 --
139 -- ----------------------------------------------------------------------------
140 -- |---------------------------< delete_validate >----------------------------|
141 -- ----------------------------------------------------------------------------
142 Procedure delete_validate(p_rec in ota_pmm_shd.g_rec_type) is
143 --
144   l_proc  varchar2(72) := g_package||'delete_validate';
145 --
146 Begin
147   hr_utility.set_location('Entering:'||l_proc, 5);
148   --
149   -- Call all supporting business operations
150   --
151   hr_utility.set_location(' Leaving:'||l_proc, 10);
152 End delete_validate;
153 --
154 end ota_pmm_bus;