DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_TPM_SHD

Source


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