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