DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_OFF_SHD

Source


1 PACKAGE BODY OTA_OFF_SHD as
2 /* $Header: otoffrhi.pkb 120.1.12000000.2 2007/02/06 15:25:23 vkkolla noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  ota_off_shd.';  -- Global package name
9 
10 --
11 -- ----------------------------------------------------------------------------
12 -- |---------------------------< constraint_error >---------------------------|
13 -- ----------------------------------------------------------------------------
14 Procedure constraint_error
15   (p_constraint_name in all_constraints.constraint_name%TYPE
16   ) Is
17 --
18   l_proc        varchar2(72) := g_package||'constraint_error';
19 --
20 Begin
21   --
22   If (p_constraint_name = 'OTA_OFFERINGS_FK1') Then
23     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
24     fnd_message.set_token('PROCEDURE', l_proc);
25     fnd_message.set_token('STEP','5');
26     fnd_message.raise_error;
27   ElsIf (p_constraint_name = 'OTA_OFFERINGS_PK') Then
28     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
29     fnd_message.set_token('PROCEDURE', l_proc);
30     fnd_message.set_token('STEP','10');
31     fnd_message.raise_error;
32   ElsIf (p_constraint_name = 'OTA_OFF_MAX_ATTENDEES_POSITIVE') Then
33     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
34     fnd_message.set_token('PROCEDURE', l_proc);
35     fnd_message.set_token('STEP','15');
36     fnd_message.raise_error;
37   ElsIf (p_constraint_name = 'OTA_OFF_MAX_INTERNALS_POSITIVE') Then
38     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
39     fnd_message.set_token('PROCEDURE', l_proc);
40     fnd_message.set_token('STEP','20');
41     fnd_message.raise_error;
42   ElsIf (p_constraint_name = 'OTA_OFF_MAX_INTERNAL_MAX_ORDER') Then
43     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
44     fnd_message.set_token('PROCEDURE', l_proc);
45     fnd_message.set_token('STEP','25');
46     fnd_message.raise_error;
47   ElsIf (p_constraint_name = 'OTA_OFF_MIN_ATTENDEES_POSITIVE') Then
48     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
49     fnd_message.set_token('PROCEDURE', l_proc);
50     fnd_message.set_token('STEP','30');
51     fnd_message.raise_error;
52   ElsIf (p_constraint_name = 'OTA_OFF_MIN_MAX_ORDER') Then
53     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
54     fnd_message.set_token('PROCEDURE', l_proc);
55     fnd_message.set_token('STEP','35');
56     fnd_message.raise_error;
57   Else
58     fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
59     fnd_message.set_token('PROCEDURE', l_proc);
60     fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
61     fnd_message.raise_error;
62   End If;
63   --
64 End constraint_error;
65 --
66 -- ----------------------------------------------------------------------------
67 -- |-----------------------------< api_updating >-----------------------------|
68 -- ----------------------------------------------------------------------------
69 Function api_updating
70   (p_offering_id                          in     number
71   ,p_object_version_number                in     number
72   )
73   Return Boolean Is
74   --
75   --
76   -- Cursor selects the 'current' row from the HR Schema
77   --
78   Cursor C_Sel1 is
79     select
80        ota_offerings.offering_id
81       ,activity_version_id
82       ,business_group_id
83 
84       ,start_date
85       ,end_date
86       ,owner_id
87       ,delivery_mode_id
88       ,language_id
89       ,duration
90       ,duration_units
91       ,learning_object_id
92       ,player_toolbar_flag
93       ,player_toolbar_bitset
94       ,player_new_window_flag
95       ,maximum_attendees
96       ,maximum_internal_attendees
97       ,minimum_attendees
98       ,actual_cost
99       ,budget_cost
100       ,budget_currency_code
101       ,price_basis
102       ,currency_code
103       ,standard_price
104       ,object_version_number
105       ,attribute_category
106       ,attribute1
107       ,attribute2
108       ,attribute3
109       ,attribute4
110       ,attribute5
111       ,attribute6
112       ,attribute7
113       ,attribute8
114       ,attribute9
115       ,attribute10
116       ,attribute11
117       ,attribute12
118       ,attribute13
119       ,attribute14
120       ,attribute15
121       ,attribute16
122       ,attribute17
123       ,attribute18
124       ,attribute19
125       ,attribute20
126       ,data_source
127       ,vendor_id
128       ,competency_update_level
129       ,language_code  -- 2733966
130     from        ota_offerings
131     where       ota_offerings.offering_id = p_offering_id;
132 
133   --
134   l_fct_ret     boolean;
135   --
136 Begin
137   --
138   If (p_offering_id is null and
139       p_object_version_number is null
140      ) Then
141     --
142     -- One of the primary key arguments is null therefore we must
143     -- set the returning function value to false
144     --
145     l_fct_ret := false;
146   Else
147     If (p_offering_id
148         = ota_off_shd.g_old_rec.offering_id and
149         p_object_version_number
150         = ota_off_shd.g_old_rec.object_version_number
151        ) Then
152       --
153       -- The g_old_rec is current therefore we must
154       -- set the returning function to true
155       --
156       l_fct_ret := true;
157     Else
158       --
159       -- Select the current row into g_old_rec
160       --
161       Open C_Sel1;
162       Fetch C_Sel1 Into ota_off_shd.g_old_rec;
163       If C_Sel1%notfound Then
164         Close C_Sel1;
165         --
166         -- The primary key is invalid therefore we must error
167         --
168         fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
169         fnd_message.raise_error;
170       End If;
171       Close C_Sel1;
172       If (p_object_version_number
173           <> ota_off_shd.g_old_rec.object_version_number) Then
174         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
175         fnd_message.raise_error;
176       End If;
177       l_fct_ret := true;
178     End If;
179   End If;
180   Return (l_fct_ret);
181 --
182 End api_updating;
183 --
184 -- ----------------------------------------------------------------------------
185 -- |---------------------------------< lck >----------------------------------|
186 -- ----------------------------------------------------------------------------
187 Procedure lck
188   (p_offering_id                          in     number
189   ,p_object_version_number                in     number
190   ) is
191 --
192 -- Cursor selects the 'current' row from the HR Schema
193 --
194   Cursor C_Sel1 is
195     select
196        offering_id
197       ,activity_version_id
198       ,business_group_id
199 
200       ,start_date
201       ,end_date
202       ,owner_id
203       ,delivery_mode_id
204       ,language_id
205       ,duration
206       ,duration_units
207       ,learning_object_id
208       ,player_toolbar_flag
209       ,player_toolbar_bitset
210       ,player_new_window_flag
211       ,maximum_attendees
212       ,maximum_internal_attendees
213       ,minimum_attendees
214       ,actual_cost
215       ,budget_cost
216       ,budget_currency_code
217       ,price_basis
218       ,currency_code
219       ,standard_price
220       ,object_version_number
221       ,attribute_category
222       ,attribute1
223       ,attribute2
224       ,attribute3
225       ,attribute4
226       ,attribute5
227       ,attribute6
228       ,attribute7
229       ,attribute8
230       ,attribute9
231       ,attribute10
232       ,attribute11
233       ,attribute12
234       ,attribute13
235       ,attribute14
236       ,attribute15
237       ,attribute16
238       ,attribute17
239       ,attribute18
240       ,attribute19
241       ,attribute20
242       ,data_source
243       ,vendor_id
244       ,competency_update_level
245       ,language_code   -- 2733966
246     from        ota_offerings
247     where       offering_id = p_offering_id
248 
249     for update nowait;
250 --
251   l_proc        varchar2(72) := g_package||'lck';
252 --
253 Begin
254   hr_utility.set_location('Entering:'||l_proc, 5);
255   --
256   hr_api.mandatory_arg_error
257     (p_api_name           => l_proc
258     ,p_argument           => 'OFFERING_ID'
259     ,p_argument_value     => p_offering_id
260     );
261   hr_utility.set_location(l_proc,6);
262 
263   hr_api.mandatory_arg_error
264     (p_api_name           => l_proc
265     ,p_argument           => 'OBJECT_VERSION_NUMBER'
266     ,p_argument_value     => p_object_version_number
267     );
268   --
269   Open  C_Sel1;
270   Fetch C_Sel1 Into ota_off_shd.g_old_rec;
271   If C_Sel1%notfound then
272     Close C_Sel1;
273     --
274     -- The primary key is invalid therefore we must error
275     --
276     fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
277     fnd_message.raise_error;
278   End If;
279   Close C_Sel1;
280   If (p_object_version_number
281       <> ota_off_shd.g_old_rec.object_version_number) Then
282         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
283         fnd_message.raise_error;
284   End If;
285   --
286   hr_utility.set_location(' Leaving:'||l_proc, 10);
287   --
288   -- We need to trap the ORA LOCK exception
289   --
290 Exception
291   When HR_Api.Object_Locked then
292     --
293     -- The object is locked therefore we need to supply a meaningful
294     -- error message.
295     --
296     fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
297     fnd_message.set_token('TABLE_NAME', 'ota_offerings');
298     fnd_message.raise_error;
299 End lck;
300 --
301 -- ----------------------------------------------------------------------------
302 -- |-----------------------------< convert_args >-----------------------------|
303 -- ----------------------------------------------------------------------------
304 Function convert_args
305   (p_offering_id                    in number
306   ,p_activity_version_id            in number
307   ,p_business_group_id              in number
308   ,p_offering_name                  in varchar2
309   ,p_start_date                     in date
310   ,p_end_date                       in date
311   ,p_owner_id                       in number
312   ,p_delivery_mode_id               in number
313   ,p_language_id                    in number
314   ,p_duration                       in number
315   ,p_duration_units                 in varchar2
316   ,p_learning_object_id             in number
317   ,p_player_toolbar_flag            in varchar2
318   ,p_player_toolbar_bitset          in number
319   ,p_player_new_window_flag         in varchar2
320   ,p_maximum_attendees              in number
321   ,p_maximum_internal_attendees     in number
322   ,p_minimum_attendees              in number
323   ,p_actual_cost                    in number
324   ,p_budget_cost                    in number
325   ,p_budget_currency_code           in varchar2
326   ,p_price_basis                    in varchar2
327   ,p_currency_code                  in varchar2
328   ,p_standard_price                 in number
329   ,p_object_version_number          in number
330   ,p_attribute_category             in varchar2
331   ,p_attribute1                     in varchar2
332   ,p_attribute2                     in varchar2
333   ,p_attribute3                     in varchar2
334   ,p_attribute4                     in varchar2
335   ,p_attribute5                     in varchar2
336   ,p_attribute6                     in varchar2
337   ,p_attribute7                     in varchar2
338   ,p_attribute8                     in varchar2
339   ,p_attribute9                     in varchar2
340   ,p_attribute10                    in varchar2
341   ,p_attribute11                    in varchar2
342   ,p_attribute12                    in varchar2
343   ,p_attribute13                    in varchar2
344   ,p_attribute14                    in varchar2
345   ,p_attribute15                    in varchar2
346   ,p_attribute16                    in varchar2
347   ,p_attribute17                    in varchar2
348   ,p_attribute18                    in varchar2
349   ,p_attribute19                    in varchar2
350   ,p_attribute20                    in varchar2
351   ,p_data_source                    in varchar2
352   ,p_vendor_id                      in number
353   ,p_competency_update_level      in     varchar2
354   ,p_language_code                in     varchar2  -- 2733966
355   )
356   Return g_rec_type is
357 --
358   l_rec   g_rec_type;
359 --
360 Begin
361   --
362   -- Convert arguments into local l_rec structure.
363   --
364   l_rec.offering_id                      := p_offering_id;
365   l_rec.activity_version_id              := p_activity_version_id;
366   l_rec.business_group_id                := p_business_group_id;
367 
368   l_rec.start_date                       := p_start_date;
369   l_rec.end_date                         := p_end_date;
370   l_rec.owner_id                         := p_owner_id;
371   l_rec.delivery_mode_id                 := p_delivery_mode_id;
372   l_rec.language_id                      := p_language_id;
373   l_rec.duration                         := p_duration;
374   l_rec.duration_units                   := p_duration_units;
375   l_rec.learning_object_id               := p_learning_object_id;
376   l_rec.player_toolbar_flag              := p_player_toolbar_flag;
377   l_rec.player_toolbar_bitset            := p_player_toolbar_bitset;
378   l_rec.player_new_window_flag           := p_player_new_window_flag;
379   l_rec.maximum_attendees                := p_maximum_attendees;
380   l_rec.maximum_internal_attendees       := p_maximum_internal_attendees;
381   l_rec.minimum_attendees                := p_minimum_attendees;
382   l_rec.actual_cost                      := p_actual_cost;
383   l_rec.budget_cost                      := p_budget_cost;
384   l_rec.budget_currency_code             := p_budget_currency_code;
385   l_rec.price_basis                      := p_price_basis;
386   l_rec.currency_code                    := p_currency_code;
387   l_rec.standard_price                   := p_standard_price;
388   l_rec.object_version_number            := p_object_version_number;
389   l_rec.attribute_category               := p_attribute_category;
390   l_rec.attribute1                       := p_attribute1;
391   l_rec.attribute2                       := p_attribute2;
392   l_rec.attribute3                       := p_attribute3;
393   l_rec.attribute4                       := p_attribute4;
394   l_rec.attribute5                       := p_attribute5;
395   l_rec.attribute6                       := p_attribute6;
396   l_rec.attribute7                       := p_attribute7;
397   l_rec.attribute8                       := p_attribute8;
398   l_rec.attribute9                       := p_attribute9;
399   l_rec.attribute10                      := p_attribute10;
400   l_rec.attribute11                      := p_attribute11;
401   l_rec.attribute12                      := p_attribute12;
402   l_rec.attribute13                      := p_attribute13;
403   l_rec.attribute14                      := p_attribute14;
404   l_rec.attribute15                      := p_attribute15;
405   l_rec.attribute16                      := p_attribute16;
406   l_rec.attribute17                      := p_attribute17;
407   l_rec.attribute18                      := p_attribute18;
408   l_rec.attribute19                      := p_attribute19;
409   l_rec.attribute20                      := p_attribute20;
410   l_rec.data_source                      := p_data_source;
411   l_rec.vendor_id                        := p_vendor_id;
412   l_rec.competency_update_level      := p_competency_update_level;
413   l_rec.language_code                := p_language_code; -- 2733966
414   --
415   -- Return the plsql record structure.
416   --
417   Return(l_rec);
418 --
419 End convert_args;
420 --
421 end ota_off_shd;