[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;