[Home] [Help]
PACKAGE BODY: APPS.EAM_SETNAME_PUB
Source
1 PACKAGE BODY EAM_SetName_PUB AS
2 /* $Header: EAMPPSNB.pls 120.2 2006/03/21 15:43:03 hkarmach noship $ */
3 /*
4 -- API name : EAM_SetName_PUB
5 -- Type : Public
6 -- Function : Insert, update and validation of the pm set name
7 -- Pre-reqs : None.
8 */
9
10 /* for de-bugging */
11 /* g_sr_no number ; */
12
13 /*
14 This procedure inserts a record in the eam_pm_set_names table
15 -- Parameters :
16 -- IN : P_API_VERSION IN NUMBER REQUIRED
17 -- P_INIT_MSG_LIST IN VARCHAR2 OPTIONAL
18 -- DEFAULT = FND_API.G_FALSE
19 -- P_COMMIT IN VARCHAR2 OPTIONAL
20 -- DEFAULT = FND_API.G_FALSE
21 -- P_VALIDATION_LEVEL IN NUMBER OPTIONAL
22 -- DEFAULT = FND_API.G_VALID_LEVEL_FULL
23 -- p_set_name IN varchar2 ,
24 -- p_description IN varchar2 default null,
25 -- p_end_date IN date 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 -- p_end_date_val_req IN BOOLEAN default true ,
43 --
44 -- OUT : x_return_status OUT NOCOPY VARCHAR2(1)
45 -- x_msg_count OUT NOCOPY NUMBER
46 -- x_msg_data OUT NOCOPY VARCHAR2 (2000)
47 -- x_new_set_name_id OUT NOCOPY NUMBER
48 -- Version : Current version: 1.0
49 -- Initial version: 1.0
50 --
51 -- NOTE: p_end_date_validate flag will be false in case of migration, meaning no end date validation required for
52 -- migration. If the flag is true, only in that case the Validate_FutureEndDate function will be called.
53 */
54
55 PROCEDURE Insert_PMSetName
56 (
57 p_api_version IN NUMBER ,
58 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
59 p_commit IN VARCHAR2 := FND_API.G_FALSE ,
60 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
61 x_return_status OUT NOCOPY VARCHAR2 ,
62 x_msg_count OUT NOCOPY NUMBER ,
63 x_msg_data OUT NOCOPY VARCHAR2 ,
64 p_set_name IN varchar2 ,
65 p_description IN varchar2 default null,
66 p_end_date IN date default null ,
67 p_attribute_category IN VARCHAR2 default null,
68 p_attribute1 IN VARCHAR2 default null,
69 p_attribute2 IN VARCHAR2 default null,
70 p_attribute3 IN VARCHAR2 default null,
71 p_attribute4 IN VARCHAR2 default null,
72 p_attribute5 IN VARCHAR2 default null,
73 p_attribute6 IN VARCHAR2 default null,
74 p_attribute7 IN VARCHAR2 default null,
75 p_attribute8 IN VARCHAR2 default null,
76 p_attribute9 IN VARCHAR2 default null,
77 p_attribute10 IN VARCHAR2 default null,
78 p_attribute11 IN VARCHAR2 default null,
79 p_attribute12 IN VARCHAR2 default null,
80 p_attribute13 IN VARCHAR2 default null,
81 p_attribute14 IN VARCHAR2 default null,
82 p_attribute15 IN VARCHAR2 default null,
83 p_organization_id IN number default null,
84 p_local_flag IN VARCHAR2 default 'N' ,
85 x_new_set_name_id OUT NOCOPY NUMBER ,
86 --p_end_date_val_req IN BOOLEAN default true
87 p_end_date_val_req IN varchar2 default 'true'
88 )
89 IS
90 l_api_name CONSTANT VARCHAR2(30) :='insert set name';
91 l_api_version CONSTANT NUMBER := 1.0;
92 l_set_name_id NUMBER;
93 l_validated boolean;
94 x_error_segments NUMBER;
95 x_error_message VARCHAR2(5000);
96 BEGIN
97
98 /* Standard Start of API savepoint */
99 SAVEPOINT Insert_PMSetName_PUB;
100
101 /* Standard call to check for call compatibility. */
102 IF NOT FND_API.Compatible_API_Call ( l_api_version ,
103 p_api_version ,
104 l_api_name ,
105 G_PKG_NAME
106 )
107 THEN
108 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
109 END IF;
110
111 /* Initialize message list if p_init_msg_list is set to TRUE. */
112 IF FND_API.to_Boolean( p_init_msg_list ) THEN
113 FND_MSG_PUB.initialize;
114 END IF;
115 /* Initialize API return status to success */
116 x_return_status := FND_API.G_RET_STS_SUCCESS;
117
118 /* API body */
119 /* Start validation calls */
120
121 if (p_set_name is null) then
122 raise_error('EAM_SET_NAME_NULL');
123 end if;
124
125 l_validated := Validate_SetNameUnique (p_set_name);
126 IF (not l_validated) THEN
127 raise_error('EAM_DUPLICATE_SETNAME');
128 END IF;
129
130
131 IF (p_end_date_val_req = 'true') THEN
132
133 l_validated := Validate_FutureEndDate (p_end_date);
134 IF (not l_validated) THEN
135 raise_error('EAM_INVALID_END_DATE');
136 END IF;
137
138 END IF;
139
140 /* validating the local flag */
141 if nvl(p_local_flag, 'N') = 'Y' then
142 if p_organization_id is null then
143 FND_MESSAGE.SET_NAME('EAM','EAM_PM_ORGID_REQUIRED');
144 FND_MSG_PUB.Add;
145 RAISE FND_API.G_EXC_ERROR;
146 end if;
147 end if;
148
149
150 /* Validating the DFF */
151
152 l_validated := EAM_COMMON_UTILITIES_PVT.validate_desc_flex_field (
153 p_app_short_name => 'EAM',
154 p_desc_flex_name => 'EAM_PM_SET_NAME',
155 p_ATTRIBUTE_CATEGORY => p_attribute_category ,
156 p_ATTRIBUTE1 => p_attribute1 ,
157 p_ATTRIBUTE2 => p_attribute2 ,
158 p_ATTRIBUTE3 => p_attribute3 ,
159 p_ATTRIBUTE4 => p_attribute4 ,
160 p_ATTRIBUTE5 => p_attribute5 ,
161 p_ATTRIBUTE6 => p_attribute6 ,
162 p_ATTRIBUTE7 => p_attribute7 ,
163 p_ATTRIBUTE8 => p_attribute8 ,
164 p_ATTRIBUTE9 => p_attribute9 ,
165 p_ATTRIBUTE10 => p_attribute10 ,
166 p_ATTRIBUTE11 => p_attribute11 ,
167 p_ATTRIBUTE12 => p_attribute12 ,
168 p_ATTRIBUTE13 => p_attribute13 ,
169 p_ATTRIBUTE14 => p_attribute14 ,
170 p_ATTRIBUTE15 => p_attribute15 ,
171 x_error_segments => x_error_segments ,
172 x_error_message => x_error_message);
173 IF (not l_validated) THEN
174 FND_MESSAGE.SET_NAME('EAM', 'EAM_INVALID_DESC_FLEX');
175 FND_MESSAGE.SET_TOKEN('ERROR_MSG', x_error_message);
176 FND_MSG_PUB.Add;
177 RAISE FND_API.G_EXC_ERROR;
178 END IF;
179
180
181 /* End validation calls */
182
183 SELECT EAM_PM_SET_NAMES_S.NEXTVAL INTO L_SET_NAME_ID FROM DUAL;
184
185 X_NEW_SET_NAME_ID := L_SET_NAME_ID;
186
187 INSERT INTO eam_pm_set_names
188 (
189 set_name_id ,
190 set_name ,
191 description ,
192 end_date ,
193 last_update_date ,
194 last_updated_by ,
195 creation_date ,
196 created_by ,
197 last_update_login ,
198 attribute_category ,
199 attribute1 ,
200 attribute2 ,
201 attribute3 ,
202 attribute4 ,
203 attribute5 ,
204 attribute6 ,
205 attribute7 ,
206 attribute8 ,
207 attribute9 ,
208 attribute10 ,
209 attribute11 ,
210 attribute12 ,
211 attribute13 ,
212 attribute14 ,
213 attribute15 ,
214 owning_organization_id,
215 local_flag
216 )
217 VALUES
218 (
219 l_set_name_id ,
220 p_set_name ,
221 p_description ,
222 p_end_date ,
223 SYSDATE ,
224 FND_GLOBAL.USER_ID ,
225 SYSDATE ,
226 FND_GLOBAL.LOGIN_ID ,
227 FND_GLOBAL.USER_ID ,
228 p_attribute_category,
229 p_attribute1 ,
230 p_attribute2 ,
231 p_attribute3 ,
232 p_attribute4 ,
233 p_attribute5 ,
234 p_attribute6 ,
235 p_attribute7 ,
236 p_attribute8 ,
237 p_attribute9 ,
238 p_attribute10 ,
239 p_attribute11 ,
240 p_attribute12 ,
241 p_attribute13 ,
242 p_attribute14 ,
243 p_attribute15 ,
244 p_organization_id ,
245 p_local_flag
246 );
247
248 /* Standard check of p_commit. */
249 IF FND_API.TO_BOOLEAN( P_COMMIT ) THEN
250 COMMIT WORK;
251 END IF;
252 /* Standard call to get message count and if count is 1, get message info. */
253 FND_MSG_PUB.get
254 ( p_msg_index_out => x_msg_count ,
255 p_data => x_msg_data
256 );
257
258 EXCEPTION
259 WHEN FND_API.G_EXC_ERROR THEN
260
261 ROLLBACK TO Insert_PMSetName_PUB;
262 x_return_status := FND_API.G_RET_STS_ERROR ;
263 FND_MSG_PUB.get
264 ( p_msg_index_out => x_msg_count ,
265 p_data => x_msg_data
266 );
267
268 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
269
270 ROLLBACK TO Insert_PMSetName_PUB;
271 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
272 FND_MSG_PUB.get
273 ( p_msg_index_out => x_msg_count ,
274 p_data => x_msg_data
275 );
276
277 WHEN OTHERS THEN
278
279 ROLLBACK TO Insert_PMSetName_PUB;
280 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
281
282 IF FND_MSG_PUB.Check_Msg_Level
283 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
284 THEN
285 FND_MSG_PUB.Add_Exc_Msg
286 ( G_PKG_NAME ,
287 l_api_name
288 );
289 END IF;
290
291 FND_MSG_PUB.get
292 ( p_msg_index_out => x_msg_count ,
293 p_data => x_msg_data
294 );
295
296 END Insert_PMSetName;
297
298
299 /*
300 This procedure updates a record in the eam_pm_set_names table
301 -- Parameters :
302 -- IN : P_API_VERSION IN NUMBER REQUIRED
303 -- P_INIT_MSG_LIST IN VARCHAR2 OPTIONAL
304 -- DEFAULT = FND_API.G_FALSE
305 -- P_COMMIT IN VARCHAR2 OPTIONAL
306 -- DEFAULT = FND_API.G_FALSE
307 -- P_VALIDATION_LEVEL IN NUMBER OPTIONAL
308 -- DEFAULT = FND_API.G_VALID_LEVEL_FULL
309 --
310 --
311 -- OUT : x_return_status OUT NOCOPY VARCHAR2(1)
312 -- x_msg_count OUT NOCOPY NUMBER
313 -- x_msg_data OUT NOCOPY VARCHAR2 (2000)
314 -- Version : Current version: 1.0
315 -- Initial version: 1.0
316 --
317 -- NOTE: p_end_date_validate flag will be false in case of migration, meaning no end date validation required for
318 -- migration. If the flag is true, only in that case the Validate_FutureEndDate function will be called.
319 */
320
321 PROCEDURE Update_PMSetName
322 (
323 p_api_version IN NUMBER ,
324 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
325 p_commit IN VARCHAR2 := FND_API.G_FALSE ,
326 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
327 x_return_status OUT NOCOPY VARCHAR2 ,
328 x_msg_count OUT NOCOPY NUMBER ,
329 x_msg_data OUT NOCOPY VARCHAR2 ,
330 p_set_name_id IN NUMBER ,
331 p_set_name IN VARCHAR2 ,
332 p_description IN VARCHAR2 default null,
333 p_end_date IN DATE default null ,
334 p_attribute_category IN VARCHAR2 default null,
335 p_attribute1 IN VARCHAR2 default null,
336 p_attribute2 IN VARCHAR2 default null,
337 p_attribute3 IN VARCHAR2 default null,
338 p_attribute4 IN VARCHAR2 default null,
339 p_attribute5 IN VARCHAR2 default null,
340 p_attribute6 IN VARCHAR2 default null,
341 p_attribute7 IN VARCHAR2 default null,
342 p_attribute8 IN VARCHAR2 default null,
343 p_attribute9 IN VARCHAR2 default null,
344 p_attribute10 IN VARCHAR2 default null,
345 p_attribute11 IN VARCHAR2 default null,
346 p_attribute12 IN VARCHAR2 default null,
347 p_attribute13 IN VARCHAR2 default null,
348 p_attribute14 IN VARCHAR2 default null,
349 p_attribute15 IN VARCHAR2 default null,
350 p_organization_id IN number default null,
351 p_local_flag IN VARCHAR2 default 'N',
352 p_end_date_val_req IN varchar2 default 'true'
353 )
354 IS
355
356 l_api_name CONSTANT VARCHAR2(30) :='update set name';
357 l_api_version CONSTANT NUMBER := 1.0;
358 l_validated boolean;
359 x_error_segments NUMBER;
360 x_error_message VARCHAR2(5000);
361
362 l_exists varchar2(1) := 'N';
363
364 l_end_date DATE;
365 l_local_flag varchar2(1);
366
367 l_set_name_id number;
368
369 BEGIN
370
371 /* Standard Start of API savepoint */
372 SAVEPOINT Update_PMSetName_PUB;
373
374 /* Standard call to check for call compatibility. */
375 IF NOT FND_API.Compatible_API_Call ( l_api_version ,
376 p_api_version ,
377 l_api_name ,
378 G_PKG_NAME
379 )
380 THEN
381 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
382 END IF;
383 /* Initialize message list if p_init_msg_list is set to TRUE. */
384 IF FND_API.to_Boolean( p_init_msg_list ) THEN
385 FND_MSG_PUB.initialize;
386 END IF;
387
388 /* Initialize API return status to success */
392 /* Start validation calls */
389 x_return_status := FND_API.G_RET_STS_SUCCESS;
390
391 /* API body */
393 if (p_set_name is null) then
394 raise_error('EAM_SET_NAME_NULL');
395 end if;
396
397 if p_set_name_id is null then
398 select set_name_id into l_set_name_id
399 from eam_pm_set_names
400 where set_name = p_set_name;
401 else
402 l_set_name_id := p_set_name_id;
403 end if;
404
405
406 IF (p_end_date_val_req = 'true') THEN
407
408 l_validated := Validate_FutureEndDate (p_end_date);
409 IF (not l_validated) THEN
410 --raise_error('END_DATE_NOT_IN_FUTURE');
411 raise_error('EAM_INVALID_END_DATE');
412 END IF;
413
414 END IF;
415
416 l_validated := Validate_SetName (l_set_name_id, p_set_name);
417
418 IF (not l_validated) THEN
419 --raise_error('SET_NAME_MUST_EXIST');
420 raise_error('EAM_INVALID_SET_NAME');
421 END IF;
422
423 /* Validating the DFF */
424
425 l_validated := EAM_COMMON_UTILITIES_PVT.validate_desc_flex_field (
426 p_app_short_name => 'EAM',
427 p_desc_flex_name => 'EAM_PM_SET_NAME',
428 p_ATTRIBUTE_CATEGORY => p_attribute_category ,
429 p_ATTRIBUTE1 => p_attribute1 ,
430 p_ATTRIBUTE2 => p_attribute2 ,
431 p_ATTRIBUTE3 => p_attribute3 ,
432 p_ATTRIBUTE4 => p_attribute4 ,
433 p_ATTRIBUTE5 => p_attribute5 ,
434 p_ATTRIBUTE6 => p_attribute6 ,
435 p_ATTRIBUTE7 => p_attribute7 ,
436 p_ATTRIBUTE8 => p_attribute8 ,
437 p_ATTRIBUTE9 => p_attribute9 ,
438 p_ATTRIBUTE10 => p_attribute10 ,
439 p_ATTRIBUTE11 => p_attribute11 ,
440 p_ATTRIBUTE12 => p_attribute12 ,
441 p_ATTRIBUTE13 => p_attribute13 ,
442 p_ATTRIBUTE14 => p_attribute14 ,
443 p_ATTRIBUTE15 => p_attribute15 ,
444 x_error_segments => x_error_segments ,
445 x_error_message => x_error_message);
446
447 IF (not l_validated) THEN
448 --raise_error(x_error_message);
449 FND_MESSAGE.SET_NAME('EAM', 'EAM_INVALID_DESC_FLEX');
450 FND_MESSAGE.SET_TOKEN('ERROR_MSG', x_error_message);
451 FND_MSG_PUB.Add;
452 RAISE FND_API.G_EXC_ERROR;
453
454 END IF;
455 --added to check whether the end date is allowed.
456 -- we will not be allowing the updation of end date od seeded set names.
457
458 BEGIN
459 SELECT end_date, local_flag
460 INTO l_end_date, l_local_flag
461 FROM eam_pm_set_names
462 WHERE set_name_id = l_set_name_id;
463 EXCEPTION
464 WHEN NO_DATA_FOUND THEN
465 raise_error('EAM_INVALID_SET_NAME');
466 END;
467
468
469 IF ( l_set_name_id = 1
470 AND (
471 (p_end_date is null and l_end_date is not null)
472 OR (p_end_date is not null and l_end_date is null)
473 OR (p_end_date <> l_end_date)
474 )
475 )
476 THEN
477 FND_MESSAGE.SET_NAME('EAM','EAM_SETNAME_SEED_DATE_NOUPD');
478 FND_MSG_PUB.Add;
479 RAISE FND_API.G_EXC_ERROR;
480 END IF;
481
482
483
484 --validation for local flag
485 if nvl(p_local_flag, 'N') = 'Y' then
486
487 if l_set_name_id = 1 then
488 FND_MESSAGE.SET_NAME('EAM','EAM_MAIN_GLOBAL');
489 FND_MSG_PUB.Add;
490 RAISE FND_API.G_EXC_ERROR;
491 end if;
492
493 if p_organization_id is null then
494 FND_MESSAGE.SET_NAME('EAM','EAM_PM_ORGID_REQUIRED');
495 FND_MSG_PUB.Add;
496 RAISE FND_API.G_EXC_ERROR;
497 end if;
498
499 if nvl(l_local_flag, 'N') = 'N' then
500
501 begin
502 select 'Y' into l_exists from dual
503 where exists
504 (
505 select eps.*
506 from eam_pm_schedulings eps, csi_item_instances cii, mtl_parameters mp
507 where eps.set_name_id = l_set_name_id
508 and eps.maintenance_object_id = cii.instance_id
509 and cii.last_vld_organization_id = mp.organization_id
510 and mp.maint_organization_id <> p_organization_id
511 );
512 exception
513 when no_data_found then
514 l_exists := 'N';
515 end;
516
517 if l_exists = 'Y' then
518 FND_MESSAGE.SET_NAME('EAM','EAM_PM_SCHEDULE_EXISTS');
519 FND_MESSAGE.SET_TOKEN('ENTITY1', p_set_name);
520 FND_MSG_PUB.Add;
521 RAISE FND_API.G_EXC_ERROR;
522 end if;
523 end if;
524 end if;
525
526
527 /* End validation calls */
528
529
530 UPDATE
531 eam_pm_set_names
532 SET
533 set_name = p_set_name ,
534 description = p_description ,
535 end_date = p_end_date ,
536
537 attribute_category = p_attribute_category ,
538 attribute1 = p_attribute1 ,
539 attribute2 = p_attribute2 ,
540 attribute3 = p_attribute3 ,
541 attribute4 = p_attribute4 ,
542 attribute5 = p_attribute5 ,
543 attribute6 = p_attribute6 ,
544 attribute7 = p_attribute7 ,
545 attribute8 = p_attribute8 ,
546 attribute9 = p_attribute9 ,
547 attribute10 = p_attribute10 ,
548 attribute11 = p_attribute11 ,
549 attribute12 = p_attribute12 ,
550 attribute13 = p_attribute13 ,
551 attribute14 = p_attribute14 ,
552 attribute15 = p_attribute15 ,
553
554 owning_organization_id = p_organization_id ,
555 local_flag = p_local_flag
556 WHERE
557 set_name_id = l_set_name_id;
558
559
560 /* Standard check of p_commit. */
561 IF FND_API.TO_BOOLEAN( P_COMMIT ) THEN
562 COMMIT WORK;
563 END IF;
564 /* Standard call to get message count and if count is 1, get message info. */
565 FND_MSG_PUB.get
566 ( p_msg_index_out => x_msg_count ,
567 p_data => x_msg_data
568 );
569
570
571
572 EXCEPTION
573 WHEN FND_API.G_EXC_ERROR THEN
574
575 ROLLBACK TO Update_PMSetName_PUB;
576 x_return_status := FND_API.G_RET_STS_ERROR ;
577 FND_MSG_PUB.get
578 ( p_msg_index_out => x_msg_count ,
579 p_data => x_msg_data
580 );
581
582 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
583
584 ROLLBACK TO Update_PMSetName_PUB;
585 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
586 FND_MSG_PUB.get
587 ( p_msg_index_out => x_msg_count ,
588 p_data => x_msg_data
589 );
590
591 WHEN OTHERS THEN
592
593 ROLLBACK TO Update_PMSetName_PUB;
594 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
595 IF FND_MSG_PUB.Check_Msg_Level
596 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
597 THEN
598 FND_MSG_PUB.Add_Exc_Msg
599 ( G_PKG_NAME ,
600 l_api_name
601 );
602 END IF;
603
604 FND_MSG_PUB.get
605 ( p_msg_index_out => x_msg_count ,
606 p_data => x_msg_data
607 );
608
609 END Update_PMSetName;
610
611 /* validate set name exists at the time of update */
612 FUNCTION Validate_SetName
613 (p_set_name_id NUMBER, p_set_name varchar2)
614 return boolean
615 IS
616 l_status number;
617 BEGIN
618
619 SELECT
620 count (*) into l_status
621 FROM
622 eam_pm_set_names
623 WHERE
624 set_name_id = p_set_name_id
625 and set_name=p_set_name;
626
627 IF l_status > 0 THEN
628
629 RETURN TRUE;
630 ELSE
631
632 RETURN FALSE;
633 END IF;
634
635 END Validate_SetName;
636
637 /* Validate set name is unique at the time of insert */
638 FUNCTION Validate_SetNameUnique
639 (p_set_name VARCHAR2)
640 return boolean
641 IS
642 l_status number;
643 BEGIN
644
645 SELECT
646 count(*) into l_status
647 FROM
648 eam_pm_set_names
649 WHERE
650 set_name = p_set_name ;
651
652 IF l_status = 0 THEN
653
654 RETURN TRUE;
655 ELSE
656
657 RETURN FALSE;
658 END IF;
659
660 END Validate_SetNameUnique;
661
662 /* Validating end date in future */
663 FUNCTION Validate_FutureEndDate
664 (p_end_date DATE)
665 return boolean
666 IS
667 l_status varchar2 (10);
668 BEGIN
669 if p_end_date is null then
670 return true;
671 end if;
672
673 SELECT
674 'PASS' into l_status
675 FROM
676 dual
677 WHERE
678 p_end_date > sysdate;
679
680 IF (l_status = 'PASS') THEN
681
682 RETURN TRUE;
683 ELSE
684
685 RETURN FALSE;
686 END IF;
687 exception
688 when no_data_found then
689 return false;
690 END Validate_FutureEndDate;
691
692 /* private procedure for raising exceptions */
693
694 PROCEDURE RAISE_ERROR (ERROR VARCHAR2)
695 IS
696 BEGIN
697 FND_MESSAGE.SET_NAME ('EAM', ERROR);
698 FND_MSG_PUB.ADD;
699 RAISE FND_API.G_EXC_ERROR;
700 END;
701
702 PROCEDURE print_log(info varchar2) is
703 PRAGMA AUTONOMOUS_TRANSACTION;
704 l_dummy number;
705 BEGIN
706
707 /*if (g_sr_no is null or g_sr_no<0) then
708 g_sr_no := 0;
709 end if;
710
711 g_sr_no := g_sr_no+1;
712
713 INSERT into temp_isetup(msg,sr_no)
714 VALUES (info,g_sr_no);
715
716 commit;*/
717
718 FND_FILE.PUT_LINE(FND_FILE.LOG, info);
719
720 END;
721
722 END EAM_SetName_PUB;