DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_TPS_SHD

Source


1 Package Body ota_tps_shd as
2 /* $Header: ottpsrhi.pkb 120.2 2005/12/14 15:17:58 asud noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  ota_tps_shd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------< return_api_dml_status >-------------------------|
12 -- ----------------------------------------------------------------------------
13 Function return_api_dml_status Return Boolean Is
14 --
15 Begin
16   --
17   Return (nvl(g_api_dml, false));
18   --
19 End return_api_dml_status;
20 --
21 -- ----------------------------------------------------------------------------
22 -- |---------------------------< constraint_error >---------------------------|
23 -- ----------------------------------------------------------------------------
24 Procedure constraint_error
25   (p_constraint_name in all_constraints.constraint_name%TYPE
26   ) Is
27 --
28   l_proc 	varchar2(72) := g_package||'constraint_error';
29 --
33     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
30 Begin
31   --
32   If (p_constraint_name = 'OTA_TRAINING_PLANS_PK') Then
34     fnd_message.set_token('PROCEDURE', l_proc);
35     fnd_message.set_token('STEP','5');
36     fnd_message.raise_error;
37   ElsIf (p_constraint_name = 'OTA_TRAINING_PLANS_UK3') Then
38     fnd_message.set_name('OTA', 'OTA_13867_TPS_DUPLICATE_TP');
39     fnd_message.set_token('PROCEDURE', l_proc);
40     fnd_message.set_token('STEP','30');
41     fnd_message.raise_error;
42   Else
43     fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
44     fnd_message.set_token('PROCEDURE', l_proc);
45     fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
46     fnd_message.raise_error;
47   End If;
48   --
49 End constraint_error;
50 --
51 -- ----------------------------------------------------------------------------
52 -- |-----------------------------< api_updating >-----------------------------|
53 -- ----------------------------------------------------------------------------
54 Function api_updating
55   (p_training_plan_id       in ota_training_plans.training_plan_id%TYPE
56   ,p_object_version_number  in ota_training_plans.object_version_number%TYPE
57   )
58   Return Boolean Is
59 --
60   --
61   -- Cursor selects the 'current' row from the HR Schema
62   --
63   Cursor C_Sel1 is
64     select
65        training_plan_id
66       ,time_period_id
67       ,plan_status_type_id
68       ,organization_id
69       ,person_id
70       ,budget_currency
71       ,name
72       ,description
73       ,business_group_id
74       ,object_version_number
75       ,attribute_category
76       ,attribute1
77       ,attribute2
78       ,attribute3
79       ,attribute4
80       ,attribute5
81       ,attribute6
82       ,attribute7
83       ,attribute8
84       ,attribute9
85       ,attribute10
86       ,attribute11
87       ,attribute12
88       ,attribute13
89       ,attribute14
90       ,attribute15
91       ,attribute16
92       ,attribute17
93       ,attribute18
94       ,attribute19
95       ,attribute20
96       ,attribute21
97       ,attribute22
98       ,attribute23
99       ,attribute24
100       ,attribute25
101       ,attribute26
102       ,attribute27
103       ,attribute28
104       ,attribute29
105       ,attribute30
106       ,plan_source --changed
107       ,start_date
108       ,end_date
109       ,creator_person_id
110       ,additional_member_flag
111       ,learning_path_id
112       -- Modified for Bug#3479186
113       ,contact_id
114     from	ota_training_plans
115     where	training_plan_id = p_training_plan_id;
116 --
117   l_fct_ret	boolean;
118 --
119 Begin
120   --
121   If (p_training_plan_id is null and
122       p_object_version_number is null
123      ) Then
124     --
125     -- One of the primary key arguments is null therefore we must
126     -- set the returning function value to false
127     --
128     l_fct_ret := false;
129   Else
130     If (p_training_plan_id
131         = ota_tps_shd.g_old_rec.training_plan_id and
132         p_object_version_number
133         = ota_tps_shd.g_old_rec.object_version_number
134        ) Then
135       --
136       -- The g_old_rec is current therefore we must
137       -- set the returning function to true
138       --
139       l_fct_ret := true;
140     Else
141       --
142       -- Select the current row into g_old_rec
143       --
144       Open C_Sel1;
145       Fetch C_Sel1 Into ota_tps_shd.g_old_rec;
146       If C_Sel1%notfound Then
147         Close C_Sel1;
148         --
149         -- The primary key is invalid therefore we must error
150         --
151         fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
152         fnd_message.raise_error;
153       End If;
154       Close C_Sel1;
155       If (p_object_version_number
156           <> ota_tps_shd.g_old_rec.object_version_number) Then
157         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
158         fnd_message.raise_error;
159       End If;
160       l_fct_ret := true;
161     End If;
162   End If;
163   Return (l_fct_ret);
164 --
165 End api_updating;
166 --
167 -- ----------------------------------------------------------------------------
168 -- |---------------------------------< lck >----------------------------------|
169 -- ----------------------------------------------------------------------------
170 Procedure lck
171   (p_training_plan_id                     in     number
172   ,p_object_version_number                in     number
173   ) is
174 --
175 -- Cursor selects the 'current' row from the HR Schema
176 --
177   Cursor C_Sel1 is
178     select
179        training_plan_id
180       ,time_period_id
181       ,plan_status_type_id
182       ,organization_id
183       ,person_id
184       ,budget_currency
185       ,name
186       ,description
187       ,business_group_id
188       ,object_version_number
189       ,attribute_category
190       ,attribute1
191       ,attribute2
192       ,attribute3
193       ,attribute4
194       ,attribute5
195       ,attribute6
196       ,attribute7
197       ,attribute8
198       ,attribute9
202       ,attribute13
199       ,attribute10
200       ,attribute11
201       ,attribute12
203       ,attribute14
204       ,attribute15
205       ,attribute16
206       ,attribute17
207       ,attribute18
208       ,attribute19
209       ,attribute20
210       ,attribute21
211       ,attribute22
212       ,attribute23
213       ,attribute24
214       ,attribute25
215       ,attribute26
216       ,attribute27
217       ,attribute28
218       ,attribute29
219       ,attribute30
220       ,plan_source --changed
221       ,start_date
222       ,end_date
223       ,creator_person_id
224       ,additional_member_flag
225       ,learning_path_id
226       ,contact_id
227     from	ota_training_plans
228     where	training_plan_id = p_training_plan_id
229     for	update nowait;
230 --
231   l_proc	varchar2(72) := g_package||'lck';
232 --
233 Begin
234   hr_utility.set_location('Entering:'||l_proc, 5);
235   --
236   hr_api.mandatory_arg_error
237     (p_api_name           => l_proc
238     ,p_argument           => 'TRAINING_PLAN_ID'
239     ,p_argument_value     => p_training_plan_id
240     );
241   --
242   Open  C_Sel1;
243   Fetch C_Sel1 Into ota_tps_shd.g_old_rec;
244   If C_Sel1%notfound then
245     Close C_Sel1;
246     --
247     -- The primary key is invalid therefore we must error
248     --
249     fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
250     fnd_message.raise_error;
251   End If;
252   Close C_Sel1;
253   If (p_object_version_number
254       <> ota_tps_shd.g_old_rec.object_version_number) Then
255         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
256         fnd_message.raise_error;
257   End If;
258   --
259   hr_utility.set_location(' Leaving:'||l_proc, 10);
260   --
261   -- We need to trap the ORA LOCK exception
262   --
263 Exception
264   When HR_Api.Object_Locked then
265     --
266     -- The object is locked therefore we need to supply a meaningful
267     -- error message.
268     --
269     fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
270     fnd_message.set_token('TABLE_NAME', 'ota_training_plans');
271     fnd_message.raise_error;
272 End lck;
273 --
274 -- ----------------------------------------------------------------------------
275 -- |-----------------------------< convert_args >-----------------------------|
276 -- ----------------------------------------------------------------------------
277 Function convert_args
278   (p_training_plan_id               in number
279   ,p_time_period_id                 in number
280   ,p_plan_status_type_id            in varchar2
281   ,p_organization_id                in number
282   ,p_person_id                      in number
283   ,p_budget_currency                in varchar2
284   ,p_name                           in varchar2
285   ,p_description                    in varchar2
286   ,p_business_group_id              in number
287   ,p_object_version_number          in number
288   ,p_attribute_category             in varchar2
289   ,p_attribute1                     in varchar2
290   ,p_attribute2                     in varchar2
291   ,p_attribute3                     in varchar2
292   ,p_attribute4                     in varchar2
293   ,p_attribute5                     in varchar2
294   ,p_attribute6                     in varchar2
295   ,p_attribute7                     in varchar2
296   ,p_attribute8                     in varchar2
297   ,p_attribute9                     in varchar2
298   ,p_attribute10                    in varchar2
299   ,p_attribute11                    in varchar2
300   ,p_attribute12                    in varchar2
301   ,p_attribute13                    in varchar2
302   ,p_attribute14                    in varchar2
303   ,p_attribute15                    in varchar2
304   ,p_attribute16                    in varchar2
305   ,p_attribute17                    in varchar2
306   ,p_attribute18                    in varchar2
307   ,p_attribute19                    in varchar2
308   ,p_attribute20                    in varchar2
309   ,p_attribute21                    in varchar2
310   ,p_attribute22                    in varchar2
311   ,p_attribute23                    in varchar2
312   ,p_attribute24                    in varchar2
313   ,p_attribute25                    in varchar2
314   ,p_attribute26                    in varchar2
315   ,p_attribute27                    in varchar2
316   ,p_attribute28                    in varchar2
317   ,p_attribute29                    in varchar2
318   ,p_attribute30                    in varchar2
319   ,p_plan_source                    in varchar2 --changed
320   ,p_start_date                     in date
321   ,p_end_date                       in date
322   ,p_creator_person_id              in number
323   ,p_additional_member_flag       in varchar2
324   ,p_learning_path_id                 in number
325   ,p_contact_id                             in number
326   )
327   Return g_rec_type is
328 --
329   l_rec   g_rec_type;
330 --
331 Begin
332   --
333   -- Convert arguments into local l_rec structure.
334   --
335   l_rec.training_plan_id                 := p_training_plan_id;
336   l_rec.time_period_id                   := p_time_period_id;
337   l_rec.plan_status_type_id              := p_plan_status_type_id;
338   l_rec.organization_id                  := p_organization_id;
339   l_rec.person_id                        := p_person_id;
340   l_rec.budget_currency                  := p_budget_currency;
341   l_rec.name                             := p_name;
342   l_rec.description                      := p_description;
343   l_rec.business_group_id                := p_business_group_id;
344   l_rec.object_version_number            := p_object_version_number;
345   l_rec.attribute_category               := p_attribute_category;
346   l_rec.attribute1                       := p_attribute1;
347   l_rec.attribute2                       := p_attribute2;
348   l_rec.attribute3                       := p_attribute3;
349   l_rec.attribute4                       := p_attribute4;
350   l_rec.attribute5                       := p_attribute5;
351   l_rec.attribute6                       := p_attribute6;
352   l_rec.attribute7                       := p_attribute7;
353   l_rec.attribute8                       := p_attribute8;
354   l_rec.attribute9                       := p_attribute9;
355   l_rec.attribute10                      := p_attribute10;
356   l_rec.attribute11                      := p_attribute11;
357   l_rec.attribute12                      := p_attribute12;
358   l_rec.attribute13                      := p_attribute13;
359   l_rec.attribute14                      := p_attribute14;
360   l_rec.attribute15                      := p_attribute15;
361   l_rec.attribute16                      := p_attribute16;
362   l_rec.attribute17                      := p_attribute17;
363   l_rec.attribute18                      := p_attribute18;
364   l_rec.attribute19                      := p_attribute19;
365   l_rec.attribute20                      := p_attribute20;
366   l_rec.attribute21                      := p_attribute21;
367   l_rec.attribute22                      := p_attribute22;
368   l_rec.attribute23                      := p_attribute23;
369   l_rec.attribute24                      := p_attribute24;
370   l_rec.attribute25                      := p_attribute25;
371   l_rec.attribute26                      := p_attribute26;
372   l_rec.attribute27                      := p_attribute27;
373   l_rec.attribute28                      := p_attribute28;
374   l_rec.attribute29                      := p_attribute29;
375   l_rec.attribute30                      := p_attribute30;
376   l_rec.plan_source                      := p_plan_source; --changed
377   l_rec.start_date                       := p_start_date;
378   l_rec.end_date                         := p_end_date;
379   l_rec.creator_person_id                := p_creator_person_id;
380   l_rec.additional_member_flag           := p_additional_member_flag;
381   l_rec.learning_path_id                 := p_learning_path_id;
382   l_rec.contact_id                             := p_contact_id;
383   --
384   --
385   -- Return the plsql record structure.
386   --
387   Return(l_rec);
388 --
389 End convert_args;
390 --
391 end ota_tps_shd;