DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEM_EMC_SERVERS_PVT

Source


1 PACKAGE BODY IEM_EMC_SERVERS_PVT as
2 /* $Header: iemvemcb.pls 115.8 2002/12/09 21:31:41 sboorela shipped $ */
3 
4 G_PKG_NAME CONSTANT varchar2(30) :='IEM_EMC_SERVERS_PVT ';
5 
6 PROCEDURE create_item (p_api_version_number    IN   NUMBER,
7  		  	      p_init_msg_list  IN   VARCHAR2 ,
8 		    	      p_commit	    IN   VARCHAR2 ,
9   				 p_server_group_id IN   NUMBER,
10   				 p_emc_server_name	IN   VARCHAR2,
11   				 p_dns_name	IN   VARCHAR2,
12   				 p_ip_address IN   VARCHAR2,
13 			p_CREATED_BY    NUMBER,
14           	p_CREATION_DATE    DATE,
15          		p_LAST_UPDATED_BY    NUMBER,
16           	p_LAST_UPDATE_DATE    DATE,
17           	p_LAST_UPDATE_LOGIN    NUMBER,
18          		p_ATTRIBUTE1    VARCHAR2,
19           	p_ATTRIBUTE2    VARCHAR2,
20           	p_ATTRIBUTE3    VARCHAR2,
21           	p_ATTRIBUTE4    VARCHAR2,
22           	p_ATTRIBUTE5    VARCHAR2,
23           	p_ATTRIBUTE6    VARCHAR2,
24           	p_ATTRIBUTE7    VARCHAR2,
25           	p_ATTRIBUTE8    VARCHAR2,
26           	p_ATTRIBUTE9    VARCHAR2,
27           	p_ATTRIBUTE10    VARCHAR2,
28           	p_ATTRIBUTE11    VARCHAR2,
29           	p_ATTRIBUTE12    VARCHAR2,
30           	p_ATTRIBUTE13    VARCHAR2,
31           	p_ATTRIBUTE14    VARCHAR2,
32           	p_ATTRIBUTE15    VARCHAR2,
33 			x_return_status OUT NOCOPY VARCHAR2,
34   		  	x_msg_count	      OUT NOCOPY NUMBER,
35 	  	  	x_msg_data OUT NOCOPY VARCHAR2
36 			 ) is
37 	l_api_name        		VARCHAR2(255):='create_item';
38 	l_api_version_number 	NUMBER:=1.0;
39 	l_seq_id		number;
40 	l_grp_cnt		number;
41 
42 BEGIN
43 -- Standard Start of API savepoint
44 SAVEPOINT		create_item_PVT;
45 -- Standard call to check for call compatibility.
46 IF NOT FND_API.Compatible_API_Call (l_api_version_number,
47 				    p_api_version_number,
48 				    l_api_name,
49 				    G_PKG_NAME)
50 THEN
51 	 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
52 END IF;
53 -- Initialize message list if p_init_msg_list is set to TRUE.
54    IF FND_API.to_Boolean( p_init_msg_list )
55    THEN
56      FND_MSG_PUB.initialize;
57    END IF;
58 -- Initialize API return status to SUCCESS
59    x_return_status := FND_API.G_RET_STS_SUCCESS;
60 
61 	SELECT IEM_EMC_SERVERS_s1.nextval
62 	INTO l_seq_id
63 	FROM dual;
64 
65 	/*Check For Existing Server Group Id */
66 
67 	Select count(*) into l_grp_cnt from iem_server_groups
68 	where server_group_id=p_server_group_id
69 	and rownum=1;
70 	IF l_grp_cnt = 0 then
71 		FND_MESSAGE.SET_NAME('IEM','IEM_NON_EXISTENT_SERVER_GRP');
72 		APP_EXCEPTION.RAISE_EXCEPTION;
73 	END IF;
74 
75 	INSERT INTO IEM_EMC_SERVERS
76 	(
77 	EMC_SERVER_ID,
78 	SERVER_GROUP_ID,
79 	EMC_SERVER_NAME,
80 	DNS_NAME,
81 	IP_ADDRESS,
82 	CREATED_BY,
83 	CREATION_DATE,
84 	LAST_UPDATED_BY,
85 	LAST_UPDATE_DATE,
86 	LAST_UPDATE_LOGIN,
87 	ATTRIBUTE1,
88 	ATTRIBUTE2,
89 	ATTRIBUTE3,
90 	ATTRIBUTE4,
91 	ATTRIBUTE5,
92 	ATTRIBUTE6,
93 	ATTRIBUTE7,
94 	ATTRIBUTE8,
95 	ATTRIBUTE9,
96 	ATTRIBUTE10,
97 	ATTRIBUTE11,
98 	ATTRIBUTE12,
99 	ATTRIBUTE13,
100 	ATTRIBUTE14,
101 	ATTRIBUTE15
102 	)
103 	VALUES
104     (
105     l_seq_id,
106     p_server_group_id,
107     p_emc_server_name,
108     p_dns_name,
109     p_ip_address,
110 	decode(p_CREATED_BY,null,-1,p_CREATED_BY),
111 	sysdate,
112 	decode(p_LAST_UPDATED_BY,null,-1,p_LAST_UPDATED_BY),
113 	sysdate,
114 	decode(p_LAST_UPDATE_LOGIN,null,-1,p_LAST_UPDATE_LOGIN),
115 	p_ATTRIBUTE1,
116 	p_ATTRIBUTE2,
117 	p_ATTRIBUTE3,
118 	p_ATTRIBUTE4,
119 	p_ATTRIBUTE5,
120 	p_ATTRIBUTE6,
121 	p_ATTRIBUTE7,
122 	p_ATTRIBUTE8,
123 	p_ATTRIBUTE9,
124 	p_ATTRIBUTE10,
125 	p_ATTRIBUTE11,
126 	p_ATTRIBUTE12,
127 	p_ATTRIBUTE13,
128 	p_ATTRIBUTE14,
129 	p_ATTRIBUTE15
130 	);
131 
132 -- Standard Check Of p_commit.
133 	IF FND_API.To_Boolean(p_commit) THEN
134 		COMMIT WORK;
135 	END IF;
136 -- Standard callto get message count and if count is 1, get message info.
137        FND_MSG_PUB.Count_And_Get
138 			( p_count =>  x_msg_count,
139                  	p_data  =>    x_msg_data
140 			);
141 EXCEPTION
142    WHEN DUP_VAL_ON_INDEX THEN
143 	ROLLBACK TO create_item_pvt;
144 	  FND_MESSAGE.SET_NAME('IEM','IEM_ADMIN_GRP_DUP_RECORD');
145        FND_MSG_PUB.Add;
146        x_return_status := FND_API.G_RET_STS_ERROR ;
147        FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
148 
149    WHEN FND_API.G_EXC_ERROR THEN
150 	ROLLBACK TO create_item_PVT;
151        x_return_status := FND_API.G_RET_STS_ERROR ;
152        FND_MSG_PUB.Count_And_Get
153 			( p_count => x_msg_count,
154                  	p_data  =>      x_msg_data
155 			);
156    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
157 	ROLLBACK TO create_item_PVT;
158        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
159        FND_MSG_PUB.Count_And_Get
160 			( p_count => x_msg_count,
161                  	p_data  =>      x_msg_data
162 			);
163    WHEN OTHERS THEN
164 	ROLLBACK TO create_item_PVT;
165       x_return_status := FND_API.G_RET_STS_ERROR;
166 	IF 	FND_MSG_PUB.Check_Msg_Level
167 			(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
168 		THEN
169         		FND_MSG_PUB.Add_Exc_Msg
170     	    		(	G_PKG_NAME  	    ,
171     	    			l_api_name
172 	    		);
173 		END IF;
174 		FND_MSG_PUB.Count_And_Get
175     		( p_count         	=>      x_msg_count     	,
176         	p_data          	=>      x_msg_data
177     		);
178 
179  END	create_item;
180 
181 PROCEDURE delete_item (p_api_version_number    IN   NUMBER,
182  		  	      p_init_msg_list  IN   VARCHAR2 ,
183 		    	      p_commit	    IN   VARCHAR2 ,
184 				 p_emc_server_id	in number,
185 				 p_emc_server_name IN   VARCHAR2 ,
186 				 p_server_group_id IN   NUMBER,
187 			      x_return_status OUT NOCOPY VARCHAR2,
188   		  	      x_msg_count	      OUT NOCOPY    NUMBER,
189 	  	  	      x_msg_data OUT NOCOPY VARCHAR2
190 			 ) is
191 	l_api_name        		VARCHAR2(255):='delete_item';
192 	l_api_version_number 	NUMBER:=1.0;
193 
194 BEGIN
195 -- Standard Start of API savepoint
196 SAVEPOINT		delete_item_PVT;
197 -- Standard call to check for call compatibility.
198 IF NOT FND_API.Compatible_API_Call (l_api_version_number,
199 				    p_api_version_number,
200 				    l_api_name,
201 				    G_PKG_NAME)
202 THEN
203 	 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
204 END IF;
205 -- Initialize message list if p_init_msg_list is set to TRUE.
206    IF FND_API.to_Boolean( p_init_msg_list )
207    THEN
208      FND_MSG_PUB.initialize;
209    END IF;
210 -- Initialize API return status to SUCCESS
211    x_return_status := FND_API.G_RET_STS_SUCCESS;
212 
213 if (p_emc_server_id is null or p_emc_server_id=FND_API.G_MISS_CHAR) then
214 	delete from IEM_EMC_SERVERS
215 	where emc_server_name=p_emc_server_name and server_group_id=p_server_group_id ;
216 else
217 	delete from IEM_EMC_SERVERS
218 	where emc_server_id=p_emc_server_id;
219 end if;
220 
221 -- Standard Check Of p_commit.
222 	IF FND_API.To_Boolean(p_commit) THEN
223 		COMMIT WORK;
224 	END IF;
225 -- Standard callto get message count and if count is 1, get message info.
226        FND_MSG_PUB.Count_And_Get
227 			( p_count =>  x_msg_count,
228                  	p_data  =>    x_msg_data
229 			);
230 EXCEPTION
231    WHEN FND_API.G_EXC_ERROR THEN
232 	ROLLBACK TO delete_item_PVT;
233        x_return_status := FND_API.G_RET_STS_ERROR ;
234        FND_MSG_PUB.Count_And_Get
235 			( p_count => x_msg_count,
236                  	p_data  =>      x_msg_data
237 			);
238    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
239 	ROLLBACK TO delete_item_PVT;
240        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
241        FND_MSG_PUB.Count_And_Get
242 			( p_count => x_msg_count,
243                  	p_data  =>      x_msg_data
244 			);
245    WHEN OTHERS THEN
246 	ROLLBACK TO delete_item_PVT;
247       x_return_status := FND_API.G_RET_STS_ERROR;
248 	IF 	FND_MSG_PUB.Check_Msg_Level
249 			(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
250 		THEN
251         		FND_MSG_PUB.Add_Exc_Msg
252     	    		(	G_PKG_NAME  	    ,
253     	    			l_api_name
254 	    		);
255 		END IF;
256 		FND_MSG_PUB.Count_And_Get
257     		( p_count         	=>      x_msg_count     	,
258         	p_data          	=>      x_msg_data
259     		);
260 
261  END	delete_item;
262 
263 PROCEDURE update_item (p_api_version_number    IN   NUMBER,
264  		  	      p_init_msg_list  IN   VARCHAR2 ,
265 		    	      p_commit	    IN   VARCHAR2 ,
266 				 p_emc_server_id IN NUMBER,
267   				 p_server_group_id IN   NUMBER,
268   				 p_emc_server_name	IN   VARCHAR2,
269   				 p_dns_name	IN   VARCHAR2,
270   				 p_ip_address IN   VARCHAR2,
271 			p_CREATED_BY    NUMBER,
272           	p_CREATION_DATE    DATE,
273          		p_LAST_UPDATED_BY    NUMBER,
274           	p_LAST_UPDATE_DATE    DATE,
275           	p_LAST_UPDATE_LOGIN    NUMBER,
276          		p_ATTRIBUTE1    VARCHAR2,
277           	p_ATTRIBUTE2    VARCHAR2,
278           	p_ATTRIBUTE3    VARCHAR2,
279           	p_ATTRIBUTE4    VARCHAR2,
280           	p_ATTRIBUTE5    VARCHAR2,
281           	p_ATTRIBUTE6    VARCHAR2,
282           	p_ATTRIBUTE7    VARCHAR2,
283           	p_ATTRIBUTE8    VARCHAR2,
284           	p_ATTRIBUTE9    VARCHAR2,
285           	p_ATTRIBUTE10    VARCHAR2,
286           	p_ATTRIBUTE11    VARCHAR2,
287           	p_ATTRIBUTE12    VARCHAR2,
288           	p_ATTRIBUTE13    VARCHAR2,
289           	p_ATTRIBUTE14    VARCHAR2,
290           	p_ATTRIBUTE15    VARCHAR2,
291 			      x_return_status OUT NOCOPY VARCHAR2,
292   		  	      x_msg_count	      OUT NOCOPY    NUMBER,
293 	  	  	      x_msg_data OUT NOCOPY VARCHAR2
294 			 ) is
295 	l_api_name        		VARCHAR2(255):='update_item';
296 	l_api_version_number 	NUMBER:=1.0;
297 	l_grp_cnt 	NUMBER;
298      l_LAST_UPDATED_BY    NUMBER:=TO_NUMBER (FND_PROFILE.VALUE('USER_ID')) ;
299      l_LAST_UPDATE_LOGIN    NUMBER:=TO_NUMBER (FND_PROFILE.VALUE('LOGIN_ ID')) ;
300 
301 BEGIN
302 -- Standard Start of API savepoint
303 SAVEPOINT		update_item_PVT;
304 -- Standard call to check for call compatibility.
305 IF NOT FND_API.Compatible_API_Call (l_api_version_number,
306 				    p_api_version_number,
307 				    l_api_name,
308 				    G_PKG_NAME)
309 THEN
310 	 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
311 END IF;
312 -- Initialize message list if p_init_msg_list is set to TRUE.
313    IF FND_API.to_Boolean( p_init_msg_list )
314    THEN
315      FND_MSG_PUB.initialize;
316    END IF;
317 -- Initialize API return status to SUCCESS
318    x_return_status := FND_API.G_RET_STS_SUCCESS;
319 
320 	if (p_server_group_id is not null OR p_server_group_id <> FND_API.G_MISS_NUM) then
321 
322 		/*Check For Existing EMC Server Group */
323 
324 		Select count(*) into l_grp_cnt from iem_server_groups
325 		where server_group_id=p_server_group_id
326 		and rownum=1;
327 		IF l_grp_cnt = 0 then
328 			FND_MESSAGE.SET_NAME('IEM','IEM_NON_EXISTENT_SERVER_GRP');
329 			APP_EXCEPTION.RAISE_EXCEPTION;
330 		END IF;
331 	end if;
332 if (p_emc_server_id = FND_API.G_MISS_NUM OR p_emc_server_id is null) then
333 	update IEM_EMC_SERVERS
334 	SET dns_name=decode(p_dns_name,FND_API.G_MISS_CHAR,null,null,dns_name,p_dns_name),
335 	ip_address=decode(p_ip_address,FND_API.G_MISS_CHAR,null,null,ip_address,p_ip_address),
336           LAST_UPDATE_DATE = sysdate,
337          LAST_UPDATED_BY = decode(l_LAST_UPDATED_BY, null,last_updated_by,l_LAST_UPDATED_BY),
338       LAST_UPDATE_LOGIN = decode( l_LAST_UPDATE_LOGIN,null,last_update_login,l_LAST_UPDATE_LOGIN),
339             ATTRIBUTE1 = decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE1, p_ATTRIBUTE1),
340               ATTRIBUTE2 = decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE2, p_ATTRIBUTE2),
341               ATTRIBUTE3 = decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE3, p_ATTRIBUTE3),
342               ATTRIBUTE4 = decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE4, p_ATTRIBUTE4),
343               ATTRIBUTE5 = decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, null,null,ATTRIBUTE5, p_ATTRIBUTE5),
344               ATTRIBUTE6 = decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE6, p_ATTRIBUTE6),
345               ATTRIBUTE7 = decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE7, p_ATTRIBUTE7),
346               ATTRIBUTE8 = decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE8, p_ATTRIBUTE8),
347               ATTRIBUTE9 = decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE9, p_ATTRIBUTE9),
348               ATTRIBUTE10 = decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE10, p_ATTRIBUTE10),
349               ATTRIBUTE11 = decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE11, p_ATTRIBUTE11),
350               ATTRIBUTE12 = decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE12, p_ATTRIBUTE12),
351               ATTRIBUTE13 = decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE13, p_ATTRIBUTE13),
352               ATTRIBUTE14 = decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE14, p_ATTRIBUTE14),
353               ATTRIBUTE15 = decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE15, p_ATTRIBUTE15)
354 	where emc_server_name=p_emc_server_name and server_group_id=p_server_group_id ;
355 ELSE
356 	update IEM_EMC_SERVERS
357 	set server_group_id=decode(p_server_group_id,FND_API.G_MISS_NUM,null,null,server_group_id,p_server_group_id),
358 	emc_server_name=decode(p_emc_server_name,FND_API.G_MISS_CHAR,null,null,emc_server_name,p_emc_server_name),
359 	dns_name=decode(p_dns_name,FND_API.G_MISS_CHAR,null,null,dns_name,p_dns_name),
360 	ip_address=decode(p_ip_address,FND_API.G_MISS_CHAR,null,null,ip_address,p_ip_address),
361           LAST_UPDATE_DATE = sysdate,
362          LAST_UPDATED_BY = decode(l_LAST_UPDATED_BY, null,last_updated_by,l_LAST_UPDATED_BY),
363       LAST_UPDATE_LOGIN = decode( l_LAST_UPDATE_LOGIN,null,last_update_login,l_LAST_UPDATE_LOGIN),
364             ATTRIBUTE1 = decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE1, p_ATTRIBUTE1),
365               ATTRIBUTE2 = decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE2, p_ATTRIBUTE2),
366               ATTRIBUTE3 = decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE3, p_ATTRIBUTE3),
367               ATTRIBUTE4 = decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE4, p_ATTRIBUTE4),
368               ATTRIBUTE5 = decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, null,null,ATTRIBUTE5, p_ATTRIBUTE5),
369               ATTRIBUTE6 = decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE6, p_ATTRIBUTE6),
370               ATTRIBUTE7 = decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE7, p_ATTRIBUTE7),
371               ATTRIBUTE8 = decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE8, p_ATTRIBUTE8),
372               ATTRIBUTE9 = decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE9, p_ATTRIBUTE9),
373               ATTRIBUTE10 = decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE10, p_ATTRIBUTE10),
374               ATTRIBUTE11 = decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE11, p_ATTRIBUTE11),
375               ATTRIBUTE12 = decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE12, p_ATTRIBUTE12),
376               ATTRIBUTE13 = decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE13, p_ATTRIBUTE13),
377               ATTRIBUTE14 = decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE14, p_ATTRIBUTE14),
378               ATTRIBUTE15 = decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR,null,null, ATTRIBUTE15, p_ATTRIBUTE15)
379 	where emc_server_id=p_emc_server_id;
380 end if;
381 
382 -- Standard Check Of p_commit.
383 	IF FND_API.To_Boolean(p_commit) THEN
384 		COMMIT WORK;
385 	END IF;
386 -- Standard callto get message count and if count is 1, get message info.
387        FND_MSG_PUB.Count_And_Get
388 			( p_count =>  x_msg_count,
389                  p_data  =>    x_msg_data
390 			);
391 EXCEPTION
392    WHEN DUP_VAL_ON_INDEX THEN
393    ROLLBACK TO update_item_pvt;
394    FND_MESSAGE.SET_NAME('IEM','IEM_ADMIN_GRP_DUP_RECORD');
395    FND_MSG_PUB.Add;
396    x_return_status := FND_API.G_RET_STS_ERROR ;
397    FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
398 
399 
400    WHEN FND_API.G_EXC_ERROR THEN
401 	ROLLBACK TO update_item_PVT;
402        x_return_status := FND_API.G_RET_STS_ERROR ;
403        FND_MSG_PUB.Count_And_Get
404 			( p_count => x_msg_count,
405                  	p_data  =>      x_msg_data
406 			);
407    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
408 	ROLLBACK TO update_item_PVT;
409        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
410        FND_MSG_PUB.Count_And_Get
411 			( p_count => x_msg_count,
412                  	p_data  =>      x_msg_data
413 			);
414    WHEN OTHERS THEN
415 	ROLLBACK TO update_item_PVT;
416       x_return_status := FND_API.G_RET_STS_ERROR;
417 	IF 	FND_MSG_PUB.Check_Msg_Level
418 			(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
419 		THEN
420         		FND_MSG_PUB.Add_Exc_Msg
421     	    		(	G_PKG_NAME  	    ,
422     	    			l_api_name
423 	    		);
424 		END IF;
425 		FND_MSG_PUB.Count_And_Get
426     		( p_count         	=>      x_msg_count     	,
427         	p_data          	=>      x_msg_data
428     		);
429 
430  END	update_item;
431 
432 PROCEDURE delete_item_batch
433      (p_api_version_number     IN  NUMBER,
434       P_init_msg_list   IN  VARCHAR2 ,
435       p_commit          IN  VARCHAR2 ,
436       p_group_tbl IN  jtf_varchar2_Table_100,
437       x_return_status   OUT NOCOPY VARCHAR2,
438       x_msg_count       OUT NOCOPY NUMBER,
439       x_msg_data        OUT NOCOPY VARCHAR2)
440  IS
441     i       INTEGER;
442     l_api_name		varchar2(30):='delete_item_batch';
443     l_api_version_number number:=1.0;
444 
445     SERVER_GROUP_NOT_DELETED     EXCEPTION;
446 BEGIN
447 
448 --Standard Savepoint
449     SAVEPOINT delete_item_batch;
450 
451 -- Standard call to check for call compatibility.
452 IF NOT FND_API.Compatible_API_Call (l_api_version_number,
453         p_api_version_number,
454         l_api_name,
455         G_PKG_NAME)
456 THEN
457   RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
458 END IF;
459 
460 --Initialize the message list if p_init_msg_list is set to TRUE
461     If FND_API.to_Boolean(p_init_msg_list) THEN
462         FND_MSG_PUB.initialize;
463     END IF;
464 
465 --Initialize API status return
466 x_return_status := FND_API.G_RET_STS_SUCCESS;
467 
468 --Actual API starts here
469     FORALL i IN p_group_tbl.FIRST..p_group_tbl.LAST
470         DELETE
471         FROM IEM_EMC_SERVERS
472         WHERE EMC_SERVER_ID = p_group_tbl(i);
473 
474     if SQL%NOTFOUND then
475         raise SERVER_GROUP_NOT_DELETED;
476     end if;
477 
478 
479 --Standard check of p_commit
480     IF FND_API.to_Boolean(p_commit) THEN
481         COMMIT WORK;
482     END IF;
483 
484 
485 EXCEPTION
486    WHEN SERVER_GROUP_NOT_DELETED THEN
487         ROLLBACK TO delete_item_batch;
488         x_return_status := FND_API.G_RET_STS_ERROR;
489         FND_MESSAGE.SET_NAME('IEM', 'IEM_SERVER_GROUP_NOT_DELETED');
490         FND_MSG_PUB.ADD;
491         FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
492 
493    WHEN FND_API.G_EXC_ERROR THEN
494 	   ROLLBACK TO delete_item_batch;
495        x_return_status := FND_API.G_RET_STS_ERROR ;
496        FND_MSG_PUB.Count_And_Get
497 			( p_count => x_msg_count,p_data => x_msg_data);
498 
499    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
500 	   ROLLBACK TO delete_item_batch;
501        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
502        FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,p_data => x_msg_data);
503 
504    WHEN OTHERS THEN
505 	  ROLLBACK TO delete_item_batch;
506       x_return_status := FND_API.G_RET_STS_ERROR;
507 	  IF 	FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
508         		FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME , l_api_name);
509       END IF;
510 
511 	  FND_MSG_PUB.Count_And_Get( p_count => x_msg_count	,p_data	=> x_msg_data);
512 
513 END delete_item_batch;
514 END IEM_EMC_SERVERS_PVT ;