[Home] [Help]
PACKAGE BODY: APPS.EAM_ACTIVITYSUPN_PUB
Source
1 PACKAGE BODY EAM_ActivitySupn_PUB AS
2 /* $Header: EAMPASRB.pls 120.2 2005/11/25 10:01:56 sshahid noship $ */
3
4 /*
5 -- API name : EAM_ActivitySupn_PUB
6 -- Type : Public
7 -- Function : Insert, update and validation of the activity suppression
8 -- Pre-reqs : None.
9 */
10
11 /* for de-bugging */
12 /* g_sr_no number ; */
13
14
15 /*
16 This procedure inserts a record in the eam_suppression_relations table
17 Parameters :
18 IN : P_API_VERSION IN NUMBER ,
19 P_INIT_MSG_LIST IN VARCHAR2 := FND_API.G_FALSE ,
20 P_COMMIT IN VARCHAR2 := FND_API.G_FALSE ,
21 P_VALIDATION_LEVEL IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
22 P_PARENT_ASSOCIATION_ID IN NUMBER ,
23 P_CHILD_ASSOCIATION_ID IN NUMBER ,
24 P_TMPL_FLAG IN VARCHAR2 DEFAULT NULL,
25 P_DESCRIPTION IN VARCHAR2 DEFAULT NULL,
26 P_ATTRIBUTE_CATEGORY IN VARCHAR2 DEFAULT NULL,
27 P_ATTRIBUTE1 IN VARCHAR2 DEFAULT NULL,
28 P_ATTRIBUTE2 IN VARCHAR2 DEFAULT NULL,
29 P_ATTRIBUTE3 IN VARCHAR2 DEFAULT NULL,
30 P_ATTRIBUTE4 IN VARCHAR2 DEFAULT NULL,
31 P_ATTRIBUTE5 IN VARCHAR2 DEFAULT NULL,
32 P_ATTRIBUTE6 IN VARCHAR2 DEFAULT NULL,
33 P_ATTRIBUTE7 IN VARCHAR2 DEFAULT NULL,
34 P_ATTRIBUTE8 IN VARCHAR2 DEFAULT NULL,
35 P_ATTRIBUTE9 IN VARCHAR2 DEFAULT NULL,
36 P_ATTRIBUTE10 IN VARCHAR2 DEFAULT NULL,
37 P_ATTRIBUTE11 IN VARCHAR2 DEFAULT NULL,
38 P_ATTRIBUTE12 IN VARCHAR2 DEFAULT NULL,
39 P_ATTRIBUTE13 IN VARCHAR2 DEFAULT NULL,
40 P_ATTRIBUTE14 IN VARCHAR2 DEFAULT NULL,
41 P_ATTRIBUTE15 IN VARCHAR2 DEFAULT NULL,
42
43 OUT : x_return_status OUT NOCOPY VARCHAR2(1)
44 x_msg_count OUT NOCOPY NUMBER
45 x_msg_data OUT NOCOPY VARCHAR2 (2000)
46 Version : Current version: 1.0
47 Initial version: 1.0
48 */
49
50 PROCEDURE Insert_ActivitySupn
51 (
52 p_api_version IN NUMBER ,
53 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
54 p_commit IN VARCHAR2 := FND_API.G_FALSE ,
55 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
56 x_return_status OUT NOCOPY VARCHAR2 ,
57 x_msg_count OUT NOCOPY NUMBER ,
58 x_msg_data OUT NOCOPY VARCHAR2 ,
59 p_parent_association_id IN NUMBER ,
60 p_child_association_id IN NUMBER ,
61 p_tmpl_flag IN VARCHAR2 DEFAULT NULL,
62 p_description IN VARCHAR2 DEFAULT NULL,
63 p_attribute_category IN VARCHAR2 DEFAULT NULL,
64 p_attribute1 IN VARCHAR2 DEFAULT NULL,
65 p_attribute2 IN VARCHAR2 DEFAULT NULL,
66 p_attribute3 IN VARCHAR2 DEFAULT NULL,
67 p_attribute4 IN VARCHAR2 DEFAULT NULL,
68 p_attribute5 IN VARCHAR2 DEFAULT NULL,
69 p_attribute6 IN VARCHAR2 DEFAULT NULL,
70 p_attribute7 IN VARCHAR2 DEFAULT NULL,
71 p_attribute8 IN VARCHAR2 DEFAULT NULL,
72 p_attribute9 IN VARCHAR2 DEFAULT NULL,
73 p_attribute10 IN VARCHAR2 DEFAULT NULL,
74 p_attribute11 IN VARCHAR2 DEFAULT NULL,
75 p_attribute12 IN VARCHAR2 DEFAULT NULL,
76 p_attribute13 IN VARCHAR2 DEFAULT NULL,
77 p_attribute14 IN VARCHAR2 DEFAULT NULL,
78 p_attribute15 IN VARCHAR2 DEFAULT NULL
79 )
80 IS
81 l_api_name CONSTANT VARCHAR2(30) :='insert activity suppression';
82 l_api_version CONSTANT NUMBER := 1.0;
83 l_validated boolean;
84 x_error_segments NUMBER;
85 x_error_message VARCHAR2(5000);
86 BEGIN
87
88 /* Standard Start of API savepoint */
89 SAVEPOINT Insert_ActivitySupn_PUB;
90
91 /* Standard call to check for call compatibility. */
92 IF NOT FND_API.Compatible_API_Call ( l_api_version ,
93 p_api_version ,
94 l_api_name ,
95 G_PKG_NAME
96 )
97 THEN
98 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
99 END IF;
100
101 /* Initialize message list if p_init_msg_list is set to TRUE. */
102 IF FND_API.to_Boolean( p_init_msg_list ) THEN
103 FND_MSG_PUB.initialize;
104 END IF;
105 /* Initialize API return status to success */
106 x_return_status := FND_API.G_RET_STS_SUCCESS;
107
108 /* API body */
109
110 /* Start validation calls */
111
112 l_validated := Validate_AssociationId (p_parent_association_id);
113 if (not l_validated) then
114 --raise_error('Parent association is NOT valid');
115 raise_error('EAM_INVALID_PARENT_ASSOC_ID');
116 end if;
117
118 l_validated := Validate_AssociationId (p_child_association_id);
119 if (not l_validated) then
120 --raise_error('Child association is NOT valid');
121 raise_error('EAM_INVALID_CHILD_ASSOC_ID');
122 end if;
123
124 /* Validate the tmpl_falg value */
125 l_validated := EAM_COMMON_UTILITIES_PVT.validate_boolean_flag(p_tmpl_flag);
126 IF (not l_validated) THEN
127 raise_error ('EAM_INVALID_TMPL_FLAG');
128 END IF;
129
130 l_validated := Validate_MaintainedObjUnique (p_parent_association_id,
131 p_child_association_id,
132 p_tmpl_flag);
133 if (not l_validated) then
134 --raise_error('Asset NOT Unique');
135 raise_error('EAM_DUPLICATE_ASSET');
136 end if;
137
138 /* l_validated := Validate_ParentChildAssets (p_parent_association_id,
139 p_child_association_id);
140 */
141
142 l_validated := eam_pm_suppressions.check_no_loop (p_parent_association_id,
143 p_child_association_id);
144 if (not l_validated) then
145 --raise_error('Child activity cannot suppress its Parent activity');
146 raise_error('EAM_INVALID_SUPPRESSION');
147 end if;
148
149 /* Validating the DFF */
150
151 l_validated := EAM_COMMON_UTILITIES_PVT.validate_desc_flex_field (
152 p_app_short_name => 'EAM',
153 p_desc_flex_name => 'EAM_SUPPRESSIONS',
154 p_ATTRIBUTE_CATEGORY => p_attribute_category ,
155 p_ATTRIBUTE1 => p_attribute1 ,
156 p_ATTRIBUTE2 => p_attribute2 ,
157 p_ATTRIBUTE3 => p_attribute3 ,
158 p_ATTRIBUTE4 => p_attribute4 ,
159 p_ATTRIBUTE5 => p_attribute5 ,
160 p_ATTRIBUTE6 => p_attribute6 ,
161 p_ATTRIBUTE7 => p_attribute7 ,
162 p_ATTRIBUTE8 => p_attribute8 ,
163 p_ATTRIBUTE9 => p_attribute9 ,
164 p_ATTRIBUTE10 => p_attribute10 ,
165 p_ATTRIBUTE11 => p_attribute11 ,
166 p_ATTRIBUTE12 => p_attribute12 ,
167 p_ATTRIBUTE13 => p_attribute13 ,
168 p_ATTRIBUTE14 => p_attribute14 ,
169 p_ATTRIBUTE15 => p_attribute15 ,
170 x_error_segments => x_error_segments ,
171 x_error_message => x_error_message);
172
173 IF (not l_validated) THEN
174
175 FND_MESSAGE.SET_NAME('EAM', 'EAM_INVALID_DESC_FLEX');
176 FND_MESSAGE.SET_TOKEN('ERROR_MSG', x_error_message);
177 FND_MSG_PUB.Add;
178 RAISE FND_API.G_EXC_ERROR;
179
180 END IF;
181
182 /* Validate the parent and childs asset-activity combination does not exists */
183
184 l_validated := Validate_SuppressionRecord (p_parent_association_id,
185 p_child_association_id );
186 IF l_validated THEN
187 raise_error ('EAM_DUPLICATE_SUPPRESSION');
188 END IF;
189
190
191 /* End validation calls */
192
193
194 INSERT INTO eam_suppression_relations
195 (
196 parent_association_id ,
197 child_association_id ,
198 /* (ignored) day_tolerance ,
199 (ignored) runtime_tolerance ,
200 */
201 tmpl_flag ,
202 description ,
203 created_by ,
204 creation_date ,
205 last_update_login ,
206 last_update_date ,
207 last_updated_by ,
208 attribute_category ,
209 attribute1 ,
210 attribute2 ,
211 attribute3 ,
212 attribute4 ,
213 attribute5 ,
214 attribute6 ,
215 attribute7 ,
216 attribute8 ,
217 attribute9 ,
218 attribute10 ,
219 attribute11 ,
220 attribute12 ,
221 attribute13 ,
222 attribute14 ,
223 attribute15
224 )
225 VALUES
226 (
227 p_parent_association_id ,
228 p_child_association_id ,
229 p_tmpl_flag ,
230 p_description ,
231 FND_GLOBAL.USER_ID ,
232 SYSDATE ,
233 FND_GLOBAL.LOGIN_ID ,
234 SYSDATE ,
235 FND_GLOBAL.USER_ID ,
236 p_attribute_category ,
237 p_attribute1 ,
238 p_attribute2 ,
239 p_attribute3 ,
240 p_attribute4 ,
241 p_attribute5 ,
242 p_attribute6 ,
243 p_attribute7 ,
244 p_attribute8 ,
245 p_attribute9 ,
246 p_attribute10 ,
247 p_attribute11 ,
248 p_attribute12 ,
249 p_attribute13 ,
250 p_attribute14 ,
251 p_attribute15
252 );
253
254 /* Standard check of p_commit. */
255 IF FND_API.TO_BOOLEAN( P_COMMIT ) THEN
256 COMMIT WORK;
257 END IF;
258 -- Standard call to get message count and if count is 1, get message info.
259 FND_MSG_PUB.get
260 ( p_msg_index_out => x_msg_count ,
261 p_data => x_msg_data
262 );
263
264 EXCEPTION
265 WHEN FND_API.G_EXC_ERROR THEN
266 ROLLBACK TO Insert_ActivitySupn_PUB;
267 x_return_status := FND_API.G_RET_STS_ERROR ;
268 FND_MSG_PUB.get
269 ( p_msg_index_out => x_msg_count ,
270 p_data => x_msg_data
271 );
272
273 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
274 ROLLBACK TO Insert_ActivitySupn_PUB;
275 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
276 FND_MSG_PUB.get
277 ( p_msg_index_out => x_msg_count ,
278 p_data => x_msg_data
279 );
280
281 WHEN OTHERS THEN
282 ROLLBACK TO Insert_ActivitySupn_PUB;
283 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
284
285 IF FND_MSG_PUB.Check_Msg_Level
286 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
287 THEN
288 FND_MSG_PUB.Add_Exc_Msg
289 ( G_PKG_NAME ,
290 l_api_name
291 );
292 END IF;
293
294 FND_MSG_PUB.get
295 ( p_msg_index_out => x_msg_count ,
296 p_data => x_msg_data
297 );
298
299 END Insert_ActivitySupn;
300
301
302 /*
303 This procedure updates a record in the eam_asset_meters table
304 Parameters :
305 IN : P_API_VERSION IN NUMBER ,
306 P_INIT_MSG_LIST IN VARCHAR2 := FND_API.G_FALSE ,
307 P_COMMIT IN VARCHAR2 := FND_API.G_FALSE ,
308 P_VALIDATION_LEVEL IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
309 X_RETURN_STATUS OUT NOCOPY VARCHAR2 ,
310 X_MSG_COUNT OUT NOCOPY NUMBER ,
311 X_MSG_DATA OUT NOCOPY VARCHAR2 ,
312 P_PARENT_ASSOCIATION_ID IN NUMBER ,
313 P_CHILD_ASSOCIATION_ID IN NUMBER ,
314 P_TMPL_FLAG IN VARCHAR2 DEFAULT NULL,
315 P_DESCRIPTION IN VARCHAR2 DEFAULT NULL,
316 P_ATTRIBUTE_CATEGORY IN VARCHAR2 DEFAULT NULL,
317 P_ATTRIBUTE1 IN VARCHAR2 DEFAULT NULL,
318 P_ATTRIBUTE2 IN VARCHAR2 DEFAULT NULL,
319 P_ATTRIBUTE3 IN VARCHAR2 DEFAULT NULL,
320 P_ATTRIBUTE4 IN VARCHAR2 DEFAULT NULL,
321 P_ATTRIBUTE5 IN VARCHAR2 DEFAULT NULL,
322 P_ATTRIBUTE6 IN VARCHAR2 DEFAULT NULL,
323 P_ATTRIBUTE7 IN VARCHAR2 DEFAULT NULL,
324 P_ATTRIBUTE8 IN VARCHAR2 DEFAULT NULL,
325 P_ATTRIBUTE9 IN VARCHAR2 DEFAULT NULL,
326 P_ATTRIBUTE10 IN VARCHAR2 DEFAULT NULL,
327 P_ATTRIBUTE11 IN VARCHAR2 DEFAULT NULL,
328 P_ATTRIBUTE12 IN VARCHAR2 DEFAULT NULL,
329 P_ATTRIBUTE13 IN VARCHAR2 DEFAULT NULL,
330 P_ATTRIBUTE14 IN VARCHAR2 DEFAULT NULL,
331 P_ATTRIBUTE15 IN VARCHAR2 DEFAULT NULL
332
333
334 OUT : x_return_status OUT NOCOPY VARCHAR2(1)
335 x_msg_count OUT NOCOPY NUMBER
336 x_msg_data OUT NOCOPY VARCHAR2 (2000)
337 Version : Current version: 1.0
338 Initial version: 1.0
339 */
340 PROCEDURE Update_ActivitySupn
341 (
342 p_api_version IN NUMBER ,
343 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
344 p_commit IN VARCHAR2 := FND_API.G_FALSE ,
345 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
346 x_return_status OUT NOCOPY VARCHAR2 ,
347 x_msg_count OUT NOCOPY NUMBER ,
348 x_msg_data OUT NOCOPY VARCHAR2 ,
349 p_parent_association_id IN NUMBER ,
350 p_child_association_id IN NUMBER ,
351 p_tmpl_flag IN VARCHAR2 DEFAULT NULL,
352 p_description IN VARCHAR2 DEFAULT NULL,
353 p_attribute_category IN VARCHAR2 DEFAULT NULL,
354 p_attribute1 IN VARCHAR2 DEFAULT NULL,
355 p_attribute2 IN VARCHAR2 DEFAULT NULL,
356 p_attribute3 IN VARCHAR2 DEFAULT NULL,
357 p_attribute4 IN VARCHAR2 DEFAULT NULL,
358 p_attribute5 IN VARCHAR2 DEFAULT NULL,
359 p_attribute6 IN VARCHAR2 DEFAULT NULL,
360 p_attribute7 IN VARCHAR2 DEFAULT NULL,
361 p_attribute8 IN VARCHAR2 DEFAULT NULL,
362 p_attribute9 IN VARCHAR2 DEFAULT NULL,
363 p_attribute10 IN VARCHAR2 DEFAULT NULL,
364 p_attribute11 IN VARCHAR2 DEFAULT NULL,
365 p_attribute12 IN VARCHAR2 DEFAULT NULL,
366 p_attribute13 IN VARCHAR2 DEFAULT NULL,
367 p_attribute14 IN VARCHAR2 DEFAULT NULL,
368 p_attribute15 IN VARCHAR2 DEFAULT NULL
369 )
370 IS
371 l_api_name CONSTANT VARCHAR2(30) :='update activity suppression';
372 l_api_version CONSTANT NUMBER := 1.0;
373 l_validated boolean;
374 x_error_segments NUMBER;
375 x_error_message VARCHAR2(5000);
376 BEGIN
377
378 /* Standard Start of API savepoint */
379 SAVEPOINT Update_ActivitySupn_PUB;
380 /* Standard call to check for call compatibility. */
384 G_PKG_NAME
381 IF NOT FND_API.Compatible_API_Call ( l_api_version ,
382 p_api_version ,
383 l_api_name ,
385 )
386 THEN
387 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
388 END IF;
389
390 /* Initialize message list if p_init_msg_list is set to TRUE. */
391 IF FND_API.to_Boolean( p_init_msg_list ) THEN
392 FND_MSG_PUB.initialize;
393 END IF;
394 /* Initialize API return status to success */
395 x_return_status := FND_API.G_RET_STS_SUCCESS;
396
397 /* API body */
398 /* validation calls */
399 l_validated := Validate_SuppressionRecord (p_parent_association_id,
400 p_child_association_id);
401 if (not l_validated) then
402 --raise_error('NO_RECORD FOR UPDATE');
403 raise_error('EAM_RECORD_DOES_NOT_EXIST');
404 end if;
405
406 /* Validating the DFF */
407
408 l_validated := EAM_COMMON_UTILITIES_PVT.validate_desc_flex_field (
409 p_app_short_name => 'EAM',
410 p_desc_flex_name => 'EAM_SUPPRESSIONS',
411 p_ATTRIBUTE_CATEGORY => p_attribute_category ,
412 p_ATTRIBUTE1 => p_attribute1 ,
413 p_ATTRIBUTE2 => p_attribute2 ,
414 p_ATTRIBUTE3 => p_attribute3 ,
415 p_ATTRIBUTE4 => p_attribute4 ,
416 p_ATTRIBUTE5 => p_attribute5 ,
417 p_ATTRIBUTE6 => p_attribute6 ,
418 p_ATTRIBUTE7 => p_attribute7 ,
419 p_ATTRIBUTE8 => p_attribute8 ,
420 p_ATTRIBUTE9 => p_attribute9 ,
421 p_ATTRIBUTE10 => p_attribute10 ,
422 p_ATTRIBUTE11 => p_attribute11 ,
423 p_ATTRIBUTE12 => p_attribute12 ,
424 p_ATTRIBUTE13 => p_attribute13 ,
425 p_ATTRIBUTE14 => p_attribute14 ,
426 p_ATTRIBUTE15 => p_attribute15 ,
427 x_error_segments => x_error_segments ,
428 x_error_message => x_error_message);
429 IF (not l_validated) THEN
430 IF (not l_validated) THEN
431 FND_MESSAGE.SET_NAME('EAM', 'EAM_INVALID_DESC_FLEX');
432 FND_MESSAGE.SET_TOKEN('ERROR_MSG', x_error_message);
433 FND_MSG_PUB.Add;
434 RAISE FND_API.G_EXC_ERROR;
435 END IF;
436 END IF;
437
438 l_validated := eam_pm_suppressions.check_no_loop (p_parent_association_id,
439 p_child_association_id);
440 if (not l_validated) then
441 --raise_error('Child activity cannot suppress its Parent activity');
442 raise_error('EAM_INVALID_SUPPRESSION');
443 end if;
444
445 /* validation calls finish */
446
447
448 UPDATE
449 eam_suppression_relations
450 SET
451 description = p_description ,
452 attribute_category = p_attribute_category ,
453 attribute1 = p_attribute1 ,
454 attribute2 = p_attribute2 ,
455 attribute3 = p_attribute3 ,
456 attribute4 = p_attribute4 ,
457 attribute5 = p_attribute5 ,
458 attribute6 = p_attribute6 ,
459 attribute7 = p_attribute7 ,
460 attribute8 = p_attribute8 ,
461 attribute9 = p_attribute9 ,
462 attribute10 = p_attribute10 ,
463 attribute11 = p_attribute11 ,
464 attribute12 = p_attribute12 ,
465 attribute13 = p_attribute13 ,
466 attribute14 = p_attribute14 ,
467 attribute15 = p_attribute15
468 WHERE
469 parent_association_id = p_parent_association_id
470 AND
471 child_association_id = p_child_association_id ;
472 /* Standard check of p_commit. */
473 IF FND_API.TO_BOOLEAN( P_COMMIT ) THEN
474 COMMIT WORK;
475 END IF;
476 -- Standard call to get message count and if count is 1, get message info.
477 FND_MSG_PUB.get
478 ( p_msg_index_out => x_msg_count ,
479 p_data => x_msg_data
480 );
481
482 EXCEPTION
483 WHEN FND_API.G_EXC_ERROR THEN
484 ROLLBACK TO Update_ActivitySupn_PUB;
485 x_return_status := FND_API.G_RET_STS_ERROR ;
486 FND_MSG_PUB.get
487 ( p_msg_index_out => x_msg_count ,
488 p_data => x_msg_data
489 );
490
491 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
492 ROLLBACK TO Update_ActivitySupn_PUB;
493 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
494 FND_MSG_PUB.get
495 ( p_msg_index_out => x_msg_count ,
496 p_data => x_msg_data
497 );
498
499 WHEN OTHERS THEN
500 ROLLBACK TO Update_ActivitySupn_PUB;
501 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
502
503 IF FND_MSG_PUB.Check_Msg_Level
504 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
505 THEN
506 FND_MSG_PUB.Add_Exc_Msg
507 ( G_PKG_NAME ,
508 l_api_name
509 );
510 END IF;
511
512 FND_MSG_PUB.get
513 ( p_msg_index_out => x_msg_count ,
514 p_data => x_msg_data
515 );
516
517 END Update_ActivitySupn;
518
519 /* Functions */
520 /* validate org eam enabled */
521 FUNCTION Validate_EamEnabled (p_organization_id NUMBER)
522 RETURN boolean
523 IS
524 /* l_status varchar2 (10);*/
525
526 l_boolean NUMBER;
527 l_return_status VARCHAR2 (10);
528 l_msg_count NUMBER;
529 l_msg_data VARCHAR2(5000);
530 BEGIN
531
532 /*SELECT 'Enabled' INTO l_status
533 FROM mtl_parameters
534 WHERE organization_id = p_organization_id
535 AND NVL(EAM_ENABLED_FLAG, 'N') = 'Y';
536
537 IF (l_status = 'Enabled') THEN
538 RETURN true;
539 ELSE
543 eam_common_utilities_pvt.verify_org (
540 RETURN false;
541 END IF;*/
542
544 p_resp_id => NULL,
545 p_resp_app_id => 401,
546 p_org_id => p_organization_id,
547 p_init_msg_list => FND_API.G_FALSE,
548 x_boolean => l_boolean,
549 x_return_status => l_return_status,
550 x_msg_count => l_msg_count,
551 x_msg_data => l_msg_data);
552 /* x_return_status := fnd_api.g_ret_sts_success; */
553 IF (l_return_status = fnd_api.g_ret_sts_success) THEN
554 RETURN true;
555 ELSE
556 RETURN false;
557 END IF;
558
559 END Validate_EamEnabled;
560
561 /* CHECK THE SUPPRESSION RECORD EXISTS, FOR UPDATE CASE */
562 FUNCTION Validate_SuppressionRecord (p_parent_association_id NUMBER,
563 p_child_association_id NUMBER)
564 RETURN boolean
565 IS
566 l_status varchar2(10);
567 BEGIN
568 SELECT 'Exists' INTO l_status
569 FROM eam_suppression_relations
570 WHERE parent_association_id = p_parent_association_id
571 AND child_association_id = p_child_association_id;
572
573 IF (l_status = 'Exists') THEN
574 RETURN true;
575 ELSE
576 RETURN false;
577 END IF;
578 EXCEPTION
579 WHEN no_data_found THEN
580 RETURN false;
581
582 END Validate_SuppressionRecord ;
583
584 /* CHECK THE PARENT ASSOCIATION ID AND CHILD ASSOCIATION ID SHOULD NOT INTERCHANGE */
585 FUNCTION Validate_ParentChildAssets (p_parent_association_id NUMBER,
586 p_child_association_id NUMBER)
587 RETURN boolean
588 IS
589 l_count number;
590 l_status varchar2(10);
591 BEGIN
592
593 SELECT count(*) INTO l_count
594 FROM eam_suppression_relations a, eam_suppression_relations b
595 WHERE a.parent_association_id = b.child_association_id
596 AND a.child_association_id = b.parent_association_id
597 AND a.parent_association_id = p_parent_association_id
598 AND a.child_association_id = p_child_association_id;
599
600 IF (l_count = 0) THEN
601 RETURN true;
602 ELSE
603 RETURN false;
604 END IF;
605 EXCEPTION
606 WHEN no_data_found THEN
607 RETURN false;
608 END Validate_ParentChildAssets ;
609
610
611 /* For checking the association_id exists in the mtl_eam_asset_activities table */
612 FUNCTION Validate_AssociationId (p_association_id NUMBER)
613 RETURN boolean
614 IS
615 l_status varchar2(10);
616 BEGIN
617
618 SELECT 'Exists' INTO l_status
619 FROM mtl_eam_asset_activities
620 WHERE ACTIVITY_ASSOCIATION_ID = p_association_id;
621
622 if (l_status = 'Exists') then
623 RETURN true;
624 else
625 RETURN false;
626 end if;
627 EXCEPTION
628 WHEN no_data_found THEN
629 RETURN false;
630 END Validate_AssociationId ;
631
632
633 /* For checking the asset/item is the same for both parent and child activity association */
634 FUNCTION Validate_MaintainedObjUnique (p_parent_association_id NUMBER,
635 p_child_association_id number,
636 p_tmpl_flag varchar2)
637 RETURN boolean
638 IS
639 l_parent_assoc number;
640 l_child_assoc number;
641 l_parent_organization_id number;
642 l_child_organization_id number;
643 l_parent_ser_num VARCHAR2(30) := null;
644 l_child_ser_num VARCHAR2(30) := null;
645
646 l_parent_object_id number;
647 l_parent_object_type number;
648 l_child_object_id number;
649 l_child_object_type number;
650
651 l_status varchar2(10);
652 l_tmpl_flag_p char (1);
653 l_tmpl_flag_c char (1);
654
655 BEGIN
656 /*
657
658 --commented out this section to use Maintenance Object ID and Type
659
660 IF p_tmpl_flag = 'Y' THEN
661 SELECT inventory_item_id , organization_id , tmpl_flag
662 INTO l_parent_assoc , l_parent_organization_id, l_tmpl_flag_p
663 FROM mtl_eam_asset_activities
664 WHERE activity_association_id = p_parent_association_id;
665
666 SELECT inventory_item_id , organization_id , tmpl_flag
667 INTO l_child_assoc , l_child_organization_id, l_tmpl_flag_c
668 FROM mtl_eam_asset_activities
669 WHERE activity_association_id = p_child_association_id;
670 ELSE
671 SELECT inventory_item_id , serial_number , organization_id, tmpl_flag
672 INTO l_parent_assoc , l_parent_ser_num , l_parent_organization_id, l_tmpl_flag_p
673 FROM mtl_eam_asset_activities
674 WHERE activity_association_id = p_parent_association_id;
675
676 SELECT inventory_item_id , serial_number , organization_id, tmpl_flag
677 INTO l_child_assoc , l_child_ser_num , l_child_organization_id, l_tmpl_flag_c
678 FROM mtl_eam_asset_activities
679 WHERE activity_association_id = p_child_association_id;
680 END IF;
681
682 IF (l_parent_assoc = l_child_assoc AND
683 l_parent_organization_id = l_child_organization_id) THEN
684 -- IF (NOT p_tmpl_flag = 'Y') THEN
685 IF ((l_tmpl_flag_p IS NULL OR l_tmpl_flag_p IN ('N'))
686 AND (l_tmpl_flag_c IS NULL OR l_tmpl_flag_c IN ('N'))
687 AND p_tmpl_flag IN ('N') ) THEN
688
689 IF (l_parent_ser_num = l_child_ser_num) THEN
690 RETURN true;
691 ELSE
692 RETURN false;
693 END IF;
694 -- ELSIF (l_parent_ser_num IS NULL AND l_child_ser_num IS NULL) THEN
695
696 ELSIF (l_tmpl_flag_p in ( 'Y' ) AND l_tmpl_flag_c in ( 'Y' ) AND p_tmpl_flag in ('Y')) THEN
697 RETURN true;
698 ELSE
699 -- Bug # 3518888
700 RAISE_ERROR('EAM_IAA_INV_TEML_FLAG');
701 END IF;
702
703 ELSE
704 RETURN false;
705 END IF;
706 */
707
711 WHERE activity_association_id = p_parent_association_id;
708 select maintenance_object_id, maintenance_object_type, tmpl_flag
709 into l_parent_object_id, l_parent_object_type, l_tmpl_flag_p
710 from mtl_eam_asset_activities
712
713 select maintenance_object_id, maintenance_object_type, tmpl_flag
714 into l_child_object_id, l_child_object_type, l_tmpl_flag_c
715 from mtl_eam_asset_activities
716 WHERE activity_association_id = p_child_association_id;
717
718
719 IF (((l_tmpl_flag_p IS NULL OR l_tmpl_flag_p IN ('N'))
720 AND (l_tmpl_flag_c IS NULL OR l_tmpl_flag_c IN ('N'))
721 AND p_tmpl_flag IN ('N')) or
722
723 (l_tmpl_flag_p in ( 'Y' ) AND l_tmpl_flag_c in ( 'Y' ) AND p_tmpl_flag in ('Y'))) then
724
725 IF (l_parent_object_id = l_child_object_id AND
726 l_parent_object_type = l_child_object_type) THEN
727 RETURN true;
728 ELSE
729 RETURN false;
730 END IF;
731 ELSE
732 -- Bug # 3518888
733 RAISE_ERROR('EAM_IAA_INV_TEML_FLAG');
734 END IF;
735
736 EXCEPTION
737 WHEN no_data_found THEN
738 RETURN false;
739
740 END Validate_MaintainedObjUnique ;
741
742
743 /* private procedure for raising exceptions */
744
745 PROCEDURE RAISE_ERROR (ERROR VARCHAR2)
746 IS
747 BEGIN
748 FND_MESSAGE.SET_NAME ('EAM', ERROR);
749 FND_MSG_PUB.ADD;
750 RAISE FND_API.G_EXC_ERROR;
751 END;
752
753 PROCEDURE print_log(info varchar2) is
754 PRAGMA AUTONOMOUS_TRANSACTION;
755 l_dummy number;
756 BEGIN
757 /*
758 if (g_sr_no is null or g_sr_no<0) then
759 g_sr_no := 0;
760 end if;
761
762 g_sr_no := g_sr_no+1;
763
764 INSERT into temp_isetup_api(msg,sr_no)
765 VALUES (info,g_sr_no);
766
767 commit;
768 */
769 FND_FILE.PUT_LINE(FND_FILE.LOG, info);
770
771 END;
772
773 END EAM_ActivitySupn_PUB;