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