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