[Home] [Help]
PACKAGE BODY: APPS.OTA_PMM_API
Source
1 package body ota_pmm_api as
2 /* $Header: otpmm02t.pkb 120.1 2006/08/18 11:49:26 niarora noship $ */
3 --
4 procedure ins
5 (
6 p_program_membership_id out nocopy number,
7 p_event_id in out nocopy number,
8 p_program_event_id in number,
9 p_object_version_number out nocopy number,
10 p_comments in varchar2 default null,
11 p_group_name in varchar2 default null,
12 p_required_flag in varchar2 default null,
13 p_role in varchar2 default null,
14 p_sequence in number default null,
15 p_pmm_information_category in varchar2 default null,
16 p_pmm_information1 in varchar2 default null,
17 p_pmm_information2 in varchar2 default null,
18 p_pmm_information3 in varchar2 default null,
19 p_pmm_information4 in varchar2 default null,
20 p_pmm_information5 in varchar2 default null,
21 p_pmm_information6 in varchar2 default null,
22 p_pmm_information7 in varchar2 default null,
23 p_pmm_information8 in varchar2 default null,
24 p_pmm_information9 in varchar2 default null,
25 p_pmm_information10 in varchar2 default null,
26 p_pmm_information11 in varchar2 default null,
27 p_pmm_information12 in varchar2 default null,
28 p_pmm_information13 in varchar2 default null,
29 p_pmm_information14 in varchar2 default null,
30 p_pmm_information15 in varchar2 default null,
31 p_pmm_information16 in varchar2 default null,
32 p_pmm_information17 in varchar2 default null,
33 p_pmm_information18 in varchar2 default null,
34 p_pmm_information19 in varchar2 default null,
35 p_pmm_information20 in varchar2 default null,
36 p_activity_version_id in number default null,
37 p_business_group_id in number default null,
38 p_organization_id in number default null,
39 p_title in varchar2 default null,
40 p_course_end_date in date default null,
41 p_course_start_date in date default null,
42 p_duration in number default null,
43 p_duration_units in varchar2 default null,
44 p_enrolment_end_date in date default null,
45 p_enrolment_start_date in date default null,
46 p_language_id in number default null,
47 p_vendor_id in number default null,
48 p_event_status in varchar2 default null,
49 p_maximum_attendees in number default null,
50 p_maximum_internal_attendees in number default null,
51 p_minimum_attendees in number default null,
52 p_parent_offering_id in number default null, --upg_classic
53 p_validate in boolean default false ,
54 p_timezone in varchar2 default null
55 ) is
56
57 cursor c_default_values is
58 select public_event_flag,
59 enrolment_start_date,
60 enrolment_end_date,
61 organization_id,
62 secure_event_flag
63 from ota_events
64 where event_id = p_program_event_id;
65
66 cursor c_effective_date is
67 select effective_date
68 from fnd_sessions
69 where session_id=userenv('SESSIONID');
70
71 l_default_data c_default_values%rowtype;
72 l_object_version_number number;
73 l_effective_date date;
74
75 /* bug no 3891115 */
76 l_err_code varchar2(72);
77 l_err_msg varchar2(2000);
78
79
80 l_add_struct_d hr_dflex_utility.l_ignore_dfcode_varray :=
81 hr_dflex_utility.l_ignore_dfcode_varray();
82
83 /* bug no 3891115 */
84
85
86 begin
87 --
88 /* bug no 3891115 */
89
90 l_add_struct_d.extend(1);
91 l_add_struct_d(l_add_struct_d.count) := 'OTA_EVENTS';
92 hr_dflex_utility.create_ignore_df_validation(p_rec => l_add_struct_d);
93 /* bug no 3891115 */
94 if p_event_id is null then
95 --
96 open c_default_values;
97 fetch c_default_values into l_default_data;
98 close c_default_values;
99
100 open c_effective_date;
101 fetch c_effective_date into l_effective_date;
102 close c_effective_date;
103
104
105 ota_evt_ins.ins
106 (p_event_id => p_event_id
107 ,p_activity_version_id => p_activity_version_id
108 ,p_business_group_id => p_business_group_id
109 ,p_organization_id => l_default_data.organization_id
110 ,p_event_type => 'SCHEDULED'
111 ,p_object_version_number => l_object_version_number
112 ,p_title => p_title
113 ,p_course_end_date => p_course_end_date
114 ,p_course_start_date => p_course_start_date
115 ,p_duration => p_duration
116 ,p_duration_units => p_duration_units
117 ,p_enrolment_end_date => l_default_data.enrolment_end_date
118 ,p_enrolment_start_date => l_default_data.enrolment_start_date
119 ,p_language_id => p_language_id
120 ,p_vendor_id => p_vendor_id
121 ,p_event_status => p_event_status
122 ,p_price_basis => 'N' -- No Charge
123 ,p_book_independent_flag => 'Y'
124 ,p_maximum_attendees => p_maximum_attendees
125 ,p_maximum_internal_attendees => p_maximum_internal_attendees
126 ,p_minimum_attendees => p_minimum_attendees
127 ,p_public_event_flag => l_default_data.public_event_flag
128 ,p_secure_event_flag => l_default_data.secure_event_flag
129 ,p_parent_offering_id => p_parent_offering_id --upg_classic
130 ,p_validate => FALSE
131 ,p_timezone => p_timezone);
132
133 OTA_ENT_INS.INS_TL
134 (P_EFFECTIVE_DATE => l_effective_date,
135 p_language_code => USERENV('LANG'),
136 p_event_id => p_event_id,
137 p_title => p_title);
138
139
140 end if;
141 hr_dflex_utility.remove_ignore_df_validation; /* bug no 3891115 */
142
143 --
144 ota_pmm_ins.ins
145 (p_program_membership_id => p_program_membership_id
146 ,p_event_id => p_event_id
147 ,p_program_event_id => p_program_event_id
148 ,p_comments => p_comments
149 ,p_group_name => p_group_name
150 ,p_required_flag => p_required_flag
151 ,p_role => p_role
152 ,p_sequence => p_sequence
153 ,p_object_version_number => p_object_version_number
154 ,p_pmm_information_category => p_pmm_information_category
155 ,p_pmm_information1 => p_pmm_information1
156 ,p_pmm_information2 => p_pmm_information2
157 ,p_pmm_information3 => p_pmm_information3
158 ,p_pmm_information4 => p_pmm_information4
159 ,p_pmm_information5 => p_pmm_information5
160 ,p_pmm_information6 => p_pmm_information6
161 ,p_pmm_information7 => p_pmm_information7
162 ,p_pmm_information8 => p_pmm_information8
163 ,p_pmm_information9 => p_pmm_information9
164 ,p_pmm_information10 => p_pmm_information10
165 ,p_pmm_information11 => p_pmm_information11
166 ,p_pmm_information12 => p_pmm_information12
167 ,p_pmm_information13 => p_pmm_information13
168 ,p_pmm_information14 => p_pmm_information14
169 ,p_pmm_information15 => p_pmm_information15
170 ,p_pmm_information16 => p_pmm_information16
171 ,p_pmm_information17 => p_pmm_information17
172 ,p_pmm_information18 => p_pmm_information18
173 ,p_pmm_information19 => p_pmm_information19
174 ,p_pmm_information20 => p_pmm_information20
175 ,p_validate => FALSE
176 );
177
178 end ins;
179
180 procedure del
181 (
182 p_program_membership_id in number,
183 p_object_version_number in number,
184 p_event_id in number,
185 p_validate in boolean) is
186 --
187 l_event_ovn number;
188 --
189 cursor get_event is
190 select object_version_number
191 from ota_events
192 where event_id = p_event_id
193 and book_independent_flag <> 'Y'
194 and not exists
195 (select null
196 from ota_program_memberships
197 where event_id = p_event_id
198 and program_membership_id <> p_program_membership_id);
199 --
200 begin
201 open get_event;
202 fetch get_event into l_event_ovn;
203 close get_event;
204 --
205 ota_pmm_del.del(p_program_membership_id => p_program_membership_id
206 ,p_object_version_number => p_object_version_number
207 ,p_validate => false);
208 --
209 if (not p_validate) and (l_event_ovn is not null) then
210 hr_utility.trace('Deleting Event with OVN '||
211 to_char(l_event_ovn));
212 OTA_ENT_DEL.DEL_TL
213 (P_EVENT_ID => p_event_id);
214 ota_evt_del.del(p_event_id => p_event_id
215 ,p_object_version_number => l_event_ovn
216 ,p_validate => FALSE);
217 end if;
218 end del;
219 --
220 end;