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