[Home] [Help]
PACKAGE BODY: APPS.AHL_REPAIR_CATEGORIES_PVT
Source
1 PACKAGE BODY AHL_REPAIR_CATEGORIES_PVT AS
2 /* $Header: AHLVRCTB.pls 120.12 2006/08/22 07:45:38 priyan noship $ */
3
4 G_USER_ID CONSTANT NUMBER := TO_NUMBER(FND_GLOBAL.USER_ID);
5 G_LOGIN_ID CONSTANT NUMBER := TO_NUMBER(FND_GLOBAL.LOGIN_ID);
6 G_SYSDATE CONSTANT DATE := SYSDATE;
7
8 l_dummy_varchar VARCHAR2(1);
9 l_dummy_number NUMBER;
10
11 -------------------------------------
12 -- Validation procedure signatures --
13 -------------------------------------
14 PROCEDURE VALIDATE_REP_CAT_EXISTS
15 (
16 p_rep_cat_id in number,
17 p_object_ver_num in number
18 );
19
20 PROCEDURE PROCESS_REPAIR_CATEGORIES
21 (
22 p_api_version IN NUMBER,
23 p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
24 p_commit IN VARCHAR2 := FND_API.G_TRUE,
25 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
26 p_default IN VARCHAR2 := FND_API.G_FALSE,
27 p_module_type IN VARCHAR2 := NULL,
28 x_return_status OUT NOCOPY VARCHAR2,
29 x_msg_count OUT NOCOPY NUMBER,
30 x_msg_data OUT NOCOPY VARCHAR2,
31 p_x_repair_category_tbl IN OUT NOCOPY Repair_Category_Tbl_Type
32 )
33 IS
34
35 CURSOR check_srurg_exists
36 (
37 sru_id in number
38 )
39 IS
40 SELECT name
41 FROM cs_incident_urgencies_vl
42 WHERE incident_urgency_id = sru_id AND
43 trunc(sysdate) >= trunc(nvl(start_date_active, sysdate)) AND
44 trunc(sysdate) < trunc(nvl(end_date_active, sysdate + 1));
45
46 CURSOR get_srurg_id_from_name
47 (
48 sr_name in varchar2
49 )
50 IS
51 SELECT incident_urgency_id
52 FROM cs_incident_urgencies_vl
53 WHERE name = sr_name AND
54 trunc(sysdate) >= trunc(nvl(start_date_active, sysdate)) AND
55 trunc(sysdate) < trunc(nvl(end_date_active, sysdate + 1));
56
57 CURSOR check_repcat_exists
58 (
59 srurg_id in number
60 )
61 IS
62 SELECT 'x'
63 FROM ahl_repair_categories
64 WHERE sr_urgency_id = srurg_id;
65
66 CURSOR check_reptime_exists
67 (
68 reptime in number,
69 repcat_id in number
70 )
71 IS
72 SELECT 'x'
73 FROM ahl_repair_categories
74 WHERE nvl(repair_time, -1) = nvl(reptime, -1) AND
75 (repcat_id is null or repcat_id <> repair_category_id);
76
77 CURSOR check_repcat_assoc
78 (
79 rep_cat_id in number
80 )
81 IS
82 SELECT 'x'
83 FROM ahl_mel_cdl_ata_sequences
84 WHERE repair_category_id = rep_cat_id;
85
86 CURSOR check_srurg_chg_for_upd
87 (
88 rep_cat_id in number,
89 sr_id in number
90 )
91 IS
92 SELECT 'x'
93 FROM ahl_repair_categories
94 WHERE repair_category_id = rep_cat_id AND
95 sr_urgency_id = sr_id;
96
97 l_api_name CONSTANT VARCHAR2(30) := 'PROCESS_REPAIR_CATEGORIES';
98 l_api_version CONSTANT NUMBER := 1.0;
99 l_debug_module CONSTANT VARCHAR2(100) := 'ahl.plsql.'||G_PKG_NAME||'.'||l_api_name;
100
101 BEGIN
102 -- Standard Start of API savepoint
103 SAVEPOINT process_repair_categories_sp;
104
105 -- Standard call to check for call compatibility.
106 IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,p_api_version,l_api_name,G_PKG_NAME)
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)
113 THEN
114 FND_MSG_PUB.initialize;
115 END IF;
116
117 -- Initialize API return status to success
118 x_return_status := FND_API.G_RET_STS_SUCCESS;
119
120 IF p_x_repair_category_tbl.count > 0
121 THEN
122 -- The first loop will perform all common validations + delete the records
123 FOR i IN p_x_repair_category_tbl.FIRST..p_x_repair_category_tbl.LAST
124 LOOP
125 -- Verify DML operation flag is right...
126 IF (p_x_repair_category_tbl(i).dml_operation NOT IN ( 'C', 'D', 'U'))
127 THEN
128 FND_MESSAGE.SET_NAME(G_APP_NAME, 'AHL_COM_INVALID_DML');
129 FND_MESSAGE.SET_TOKEN('FIELD', p_x_repair_category_tbl(i).dml_operation);
130 FND_MESSAGE.SET_TOKEN('RECORD', p_x_repair_category_tbl(i).incident_urgency_name||' - '||p_x_repair_category_tbl(i).repair_time);
131 FND_MSG_PUB.ADD;
132 RAISE FND_API.G_EXC_ERROR;
133 END IF;
134
135 IF (p_x_repair_category_tbl(i).DML_OPERATION = 'D')
136 THEN
137 -- Validate id + ovn combination...
138 VALIDATE_REP_CAT_EXISTS
139 (
140 p_x_repair_category_tbl(i).repair_category_id,
141 p_x_repair_category_tbl(i).object_version_number
142 );
143
144 OPEN check_repcat_assoc (p_x_repair_category_tbl(i).repair_category_id);
145 FETCH check_repcat_assoc INTO l_dummy_varchar;
146 IF (check_repcat_assoc%NOTFOUND)
147 THEN
148 DELETE FROM ahl_repair_categories
149 WHERE repair_category_id = p_x_repair_category_tbl(i).repair_category_id;
150 ELSE
151 SELECT cssr.name
152 INTO p_x_repair_category_tbl(i).incident_urgency_name
153 FROM cs_incident_urgencies_vl cssr , ahl_repair_categories repcat
154 WHERE repcat.sr_urgency_id = cssr.incident_urgency_id AND
155 repcat.repair_category_id = p_x_repair_category_tbl(i).repair_category_id;
156
157 FND_MESSAGE.Set_Name(G_APP_NAME, 'AHL_MEL_CDL_REPCAT_ATASEQ_DEL');
158 FND_MESSAGE.SET_TOKEN('SRNAME', p_x_repair_category_tbl(i).incident_urgency_name);
159 FND_MSG_PUB.ADD;
160 END IF;
161 CLOSE check_repcat_assoc;
162
163 -- Check error message stack
164 x_msg_count := FND_MSG_PUB.count_msg;
165 IF x_msg_count > 0
166 THEN
167 RAISE FND_API.G_EXC_ERROR;
168 END IF;
169 END IF;
170 END LOOP;
171
172 -- The second loop will update the records
173 FOR i IN p_x_repair_category_tbl.FIRST..p_x_repair_category_tbl.LAST
174 LOOP
175 IF (p_x_repair_category_tbl(i).dml_operation = 'U')
176 THEN
177 -- Validate id + ovn combination...
178 VALIDATE_REP_CAT_EXISTS
179 (
180 p_x_repair_category_tbl(i).repair_category_id,
181 p_x_repair_category_tbl(i).object_version_number
182 );
183
184 -- Resolve sr urgency name and id, perform mandatory validations
185 IF (p_x_repair_category_tbl(i).incident_urgency_name IS NOT NULL AND p_x_repair_category_tbl(i).incident_urgency_name <> FND_API.G_MISS_CHAR)
186 THEN
187 OPEN get_srurg_id_from_name (p_x_repair_category_tbl(i).incident_urgency_name);
188 FETCH get_srurg_id_from_name INTO p_x_repair_category_tbl(i).incident_urgency_id;
189 IF (get_srurg_id_from_name%NOTFOUND)
190 THEN
191 FND_MESSAGE.Set_Name(G_APP_NAME, 'AHL_MEL_CDL_SRURG_INV');
192 FND_MESSAGE.SET_TOKEN('SRNAME', p_x_repair_category_tbl(i).incident_urgency_name);
193 FND_MSG_PUB.ADD;
194 END IF;
195 CLOSE get_srurg_id_from_name;
196 ELSIF (p_x_repair_category_tbl(i).incident_urgency_id IS NOT NULL AND p_x_repair_category_tbl(i).incident_urgency_id <> FND_API.G_MISS_NUM)
197 THEN
198 OPEN check_srurg_exists (p_x_repair_category_tbl(i).incident_urgency_id);
199 FETCH check_srurg_exists INTO p_x_repair_category_tbl(i).incident_urgency_name;
200 IF (check_srurg_exists%NOTFOUND)
201 THEN
202 FND_MESSAGE.Set_Name(G_APP_NAME, 'AHL_MEL_CDL_SRURG_INV');
203 FND_MESSAGE.SET_TOKEN('SRNAME', p_x_repair_category_tbl(i).incident_urgency_id);
204 FND_MSG_PUB.ADD;
205 RAISE FND_API.G_EXC_ERROR;
206 END IF;
207 CLOSE check_srurg_exists;
208 ELSE
209 FND_MESSAGE.Set_Name(G_APP_NAME, 'AHL_MEL_CDL_SRURG_MAND');
210 FND_MSG_PUB.ADD;
211 END IF;
212
213 -- Trim the urgency name passed in
214 p_x_repair_category_tbl(i).incident_urgency_name := LTRIM(RTRIM(p_x_repair_category_tbl(i).incident_urgency_name));
215
216 -- Validate sr urgency is not modified for update
217 OPEN check_srurg_chg_for_upd (p_x_repair_category_tbl(i).repair_category_id, p_x_repair_category_tbl(i).incident_urgency_id);
218 FETCH check_srurg_chg_for_upd INTO l_dummy_varchar;
219 IF (check_srurg_chg_for_upd%NOTFOUND)
220 THEN
221 FND_MESSAGE.SET_NAME(G_APP_NAME, 'AHL_MEL_CDL_SRURG_UPD_NOCHG');
222 FND_MESSAGE.SET_TOKEN('SRNAME', p_x_repair_category_tbl(i).incident_urgency_name);
223 FND_MSG_PUB.ADD;
224 END IF;
225 CLOSE check_srurg_chg_for_upd;
226
227 -- Validate repair time is valid
228 IF (p_x_repair_category_tbl(i).repair_time <= 0 )
229 THEN
233 END IF;
230 FND_MESSAGE.Set_Name(G_APP_NAME, 'AHL_MEL_CDL_SRURG_TIME_INV');
231 FND_MESSAGE.SET_TOKEN('SRNAME', p_x_repair_category_tbl(i).incident_urgency_name);
232 FND_MSG_PUB.ADD;
234
235 -- Validate repair time already does not exist for another record
236 OPEN check_reptime_exists(p_x_repair_category_tbl(i).repair_time, p_x_repair_category_tbl(i).repair_category_id);
237 FETCH check_reptime_exists INTO l_dummy_varchar;
238 IF (check_reptime_exists%FOUND)
239 THEN
240 FND_MESSAGE.SET_NAME(G_APP_NAME, 'AHL_MEL_CDL_SRURG_TIME_EXISTS');
241 FND_MESSAGE.SET_TOKEN('TIME', p_x_repair_category_tbl(i).repair_time);
242 FND_MSG_PUB.ADD;
243 END IF;
244 CLOSE check_reptime_exists;
245
246 -- Check error message stack
247 x_msg_count := FND_MSG_PUB.count_msg;
248 IF x_msg_count > 0
249 THEN
250 RAISE FND_API.G_EXC_ERROR;
251 END IF;
252
253 -- Default values for update
254 p_x_repair_category_tbl(i).object_version_number := p_x_repair_category_tbl(i).object_version_number + 1;
255
256 UPDATE AHL_REPAIR_CATEGORIES
257 SET OBJECT_VERSION_NUMBER = p_x_repair_category_tbl(i).object_version_number,
258 LAST_UPDATE_DATE = G_SYSDATE,
259 LAST_UPDATED_BY = G_USER_ID,
260 LAST_UPDATE_LOGIN = G_LOGIN_ID,
261 REPAIR_TIME = p_x_repair_category_tbl(i).repair_time,
262 SR_URGENCY_ID = p_x_repair_category_tbl(i).incident_urgency_id,
263 ATTRIBUTE_CATEGORY = p_x_repair_category_tbl(i).attribute_category,
264 ATTRIBUTE1 = p_x_repair_category_tbl(i).attribute1,
265 ATTRIBUTE2 = p_x_repair_category_tbl(i).attribute2,
266 ATTRIBUTE3 = p_x_repair_category_tbl(i).attribute3,
267 ATTRIBUTE4 = p_x_repair_category_tbl(i).attribute4,
268 ATTRIBUTE5 = p_x_repair_category_tbl(i).attribute5,
269 ATTRIBUTE6 = p_x_repair_category_tbl(i).attribute6,
270 ATTRIBUTE7 = p_x_repair_category_tbl(i).attribute7,
271 ATTRIBUTE8 = p_x_repair_category_tbl(i).attribute8,
272 ATTRIBUTE9 = p_x_repair_category_tbl(i).attribute9,
273 ATTRIBUTE10 = p_x_repair_category_tbl(i).attribute10,
274 ATTRIBUTE11 = p_x_repair_category_tbl(i).attribute11,
275 ATTRIBUTE12 = p_x_repair_category_tbl(i).attribute12,
276 ATTRIBUTE13 = p_x_repair_category_tbl(i).attribute13,
277 ATTRIBUTE14 = p_x_repair_category_tbl(i).attribute14,
278 ATTRIBUTE15 = p_x_repair_category_tbl(i).attribute15
279 WHERE REPAIR_CATEGORY_ID = p_x_repair_category_tbl(i).repair_category_id;
280
281 IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)
282 THEN
283 fnd_log.string
284 (
285 fnd_log.level_statement,
286 l_debug_module,
287 'Update repair category ' ||p_x_repair_category_tbl(i).repair_category_id
288 );
289 END IF;
290 END IF;
291 END LOOP;
292
293 -- The second loop will create the records
294 FOR i IN p_x_repair_category_tbl.FIRST..p_x_repair_category_tbl.LAST
295 LOOP
296 IF (p_x_repair_category_tbl(i).dml_operation = 'C')
297 THEN
298
299 -- Resolve sr urgency name and id, perform mandatory validations
300 IF (p_x_repair_category_tbl(i).incident_urgency_name IS NOT NULL AND p_x_repair_category_tbl(i).incident_urgency_name <> FND_API.G_MISS_CHAR)
301 THEN
302 OPEN get_srurg_id_from_name (p_x_repair_category_tbl(i).incident_urgency_name);
303 FETCH get_srurg_id_from_name INTO p_x_repair_category_tbl(i).incident_urgency_id;
304 IF (get_srurg_id_from_name%NOTFOUND)
305 THEN
306 FND_MESSAGE.Set_Name(G_APP_NAME, 'AHL_MEL_CDL_SRURG_INV');
307 FND_MESSAGE.SET_TOKEN('SRNAME', p_x_repair_category_tbl(i).incident_urgency_name);
308 FND_MSG_PUB.ADD;
309 END IF;
310 CLOSE get_srurg_id_from_name;
311 ELSIF (p_x_repair_category_tbl(i).incident_urgency_id IS NOT NULL AND p_x_repair_category_tbl(i).incident_urgency_id <> FND_API.G_MISS_NUM)
312 THEN
313 OPEN check_srurg_exists (p_x_repair_category_tbl(i).incident_urgency_id);
314 FETCH check_srurg_exists INTO p_x_repair_category_tbl(i).incident_urgency_name;
315 IF (check_srurg_exists%NOTFOUND)
316 THEN
317 FND_MESSAGE.Set_Name(G_APP_NAME, 'AHL_MEL_CDL_SRURG_INV');
318 FND_MESSAGE.SET_TOKEN('SRNAME', p_x_repair_category_tbl(i).incident_urgency_id);
319 FND_MSG_PUB.ADD;
320 RAISE FND_API.G_EXC_ERROR;
321 END IF;
322 CLOSE check_srurg_exists;
323 ELSE
324 FND_MESSAGE.Set_Name(G_APP_NAME, 'AHL_MEL_CDL_SRURG_MAND');
325 FND_MSG_PUB.ADD;
326 END IF;
327
331 -- Validate sr urgency already does not exist for another record
328 -- Trim the urgency name passed in
329 p_x_repair_category_tbl(i).incident_urgency_name := LTRIM(RTRIM(p_x_repair_category_tbl(i).incident_urgency_name));
330
332 OPEN check_repcat_exists(p_x_repair_category_tbl(i).incident_urgency_id);
333 FETCH check_repcat_exists INTO l_dummy_varchar;
334 IF (check_repcat_exists%FOUND)
335 THEN
336 FND_MESSAGE.SET_NAME(G_APP_NAME, 'AHL_MEL_CDL_SRURG_EXISTS');
337 FND_MESSAGE.SET_TOKEN('SRNAME', p_x_repair_category_tbl(i).incident_urgency_name);
338 FND_MSG_PUB.ADD;
339 END IF;
340 CLOSE check_repcat_exists;
341
342 -- Validate repair time is valid
343 IF (p_x_repair_category_tbl(i).repair_time <= 0 )
344 THEN
345 FND_MESSAGE.Set_Name(G_APP_NAME, 'AHL_MEL_CDL_SRURG_TIME_INV');
346 FND_MESSAGE.SET_TOKEN('SRNAME', p_x_repair_category_tbl(i).incident_urgency_name);
347 FND_MSG_PUB.ADD;
348 END IF;
349
350 -- Validate repair time already does not exist for another record
351 OPEN check_reptime_exists(p_x_repair_category_tbl(i).repair_time, null);
352 FETCH check_reptime_exists INTO l_dummy_varchar;
353 IF (check_reptime_exists%FOUND)
354 THEN
355 FND_MESSAGE.SET_NAME(G_APP_NAME, 'AHL_MEL_CDL_SRURG_TIME_EXISTS');
356 FND_MESSAGE.SET_TOKEN('TIME', p_x_repair_category_tbl(i).repair_time);
357 FND_MSG_PUB.ADD;
358 END IF;
359 CLOSE check_reptime_exists;
360
361 -- Check error message stack
362 x_msg_count := FND_MSG_PUB.count_msg;
363 IF x_msg_count > 0
364 THEN
365 RAISE FND_API.G_EXC_ERROR;
366 END IF;
367
368 -- Default values for create
369 IF (p_x_repair_category_tbl(i).repair_category_id IS NULL OR p_x_repair_category_tbl(i).repair_category_id = FND_API.G_MISS_NUM)
370 THEN
371 select ahl_repair_categories_s.nextval into p_x_repair_category_tbl(i).repair_category_id from dual;
372 END IF;
373 p_x_repair_category_tbl(i).object_version_number := 1;
374
375 INSERT INTO AHL_REPAIR_CATEGORIES
376 (
377 REPAIR_CATEGORY_ID,
378 OBJECT_VERSION_NUMBER,
379 LAST_UPDATE_DATE,
380 LAST_UPDATED_BY,
381 CREATION_DATE,
382 CREATED_BY,
383 LAST_UPDATE_LOGIN,
384 REPAIR_TIME,
385 SR_URGENCY_ID,
386 ATTRIBUTE_CATEGORY,
387 ATTRIBUTE1,
388 ATTRIBUTE2,
389 ATTRIBUTE3,
390 ATTRIBUTE4,
391 ATTRIBUTE5,
392 ATTRIBUTE6,
393 ATTRIBUTE7,
394 ATTRIBUTE8,
395 ATTRIBUTE9,
396 ATTRIBUTE10,
397 ATTRIBUTE11,
398 ATTRIBUTE12,
399 ATTRIBUTE13,
400 ATTRIBUTE14,
401 ATTRIBUTE15
402 )
403 VALUES
404 (
405 p_x_repair_category_tbl(i).repair_category_id,
406 p_x_repair_category_tbl(i).object_version_number,
407 G_SYSDATE,
408 G_USER_ID,
409 G_SYSDATE,
410 G_USER_ID,
411 G_LOGIN_ID,
412 p_x_repair_category_tbl(i).repair_time,
413 p_x_repair_category_tbl(i).incident_urgency_id,
414 p_x_repair_category_tbl(i).attribute_category,
415 p_x_repair_category_tbl(i).attribute1,
416 p_x_repair_category_tbl(i).attribute2,
417 p_x_repair_category_tbl(i).attribute3,
418 p_x_repair_category_tbl(i).attribute4,
419 p_x_repair_category_tbl(i).attribute5,
420 p_x_repair_category_tbl(i).attribute6,
421 p_x_repair_category_tbl(i).attribute7,
422 p_x_repair_category_tbl(i).attribute8,
423 p_x_repair_category_tbl(i).attribute9,
424 p_x_repair_category_tbl(i).attribute10,
425 p_x_repair_category_tbl(i).attribute11,
426 p_x_repair_category_tbl(i).attribute12,
427 p_x_repair_category_tbl(i).attribute13,
428 p_x_repair_category_tbl(i).attribute14,
429 p_x_repair_category_tbl(i).attribute15
430 );
431
432 IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)
433 THEN
434 fnd_log.string
435 (
436 fnd_log.level_statement,
437 l_debug_module,
438 'Create repair category ' ||p_x_repair_category_tbl(i).repair_category_id
439 );
440 END IF;
441 END IF;
442 END LOOP;
443 END IF;
444
445 -- Check error message stack at completing proc
446 x_msg_count := FND_MSG_PUB.count_msg;
447 IF x_msg_count > 0
448 THEN
449 RAISE FND_API.G_EXC_ERROR;
450 END IF;
451
452 -- Commit if required to do so
456 END IF;
453 IF FND_API.TO_BOOLEAN (p_commit)
454 THEN
455 COMMIT WORK;
457
458 -- Standard call to get message count and if count is 1, get message info
459 FND_MSG_PUB.count_and_get
460 (
461 p_count => x_msg_count,
462 p_data => x_msg_data,
463 p_encoded => FND_API.G_FALSE
464 );
465
466 EXCEPTION
467 WHEN FND_API.G_EXC_ERROR THEN
468 x_return_status := FND_API.G_RET_STS_ERROR;
469 Rollback to process_repair_categories_sp;
470 FND_MSG_PUB.count_and_get
471 (
472 p_count => x_msg_count,
473 p_data => x_msg_data,
474 p_encoded => FND_API.G_FALSE
475 );
476
477 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
478 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
479 Rollback to process_repair_categories_sp;
480 FND_MSG_PUB.count_and_get
481 (
482 p_count => x_msg_count,
483 p_data => x_msg_data,
484 p_encoded => FND_API.G_FALSE
485 );
486
487 WHEN OTHERS THEN
488 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
489 Rollback to process_repair_categories_sp;
490 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
491 THEN
492 FND_MSG_PUB.add_exc_msg
493 (
494 p_pkg_name => G_PKG_NAME,
495 p_procedure_name => l_api_name,
496 p_error_text => SUBSTR(SQLERRM,1,240)
497 );
498 END IF;
499 FND_MSG_PUB.count_and_get
500 (
501 p_count => x_msg_count,
502 p_data => x_msg_data,
503 p_encoded => FND_API.G_FALSE
504 );
505 END PROCESS_REPAIR_CATEGORIES;
506
507 ---------------------------
508 -- Validation procedures --
509 ---------------------------
510 PROCEDURE VALIDATE_REP_CAT_EXISTS
511 (
512 p_rep_cat_id in number,
513 p_object_ver_num in number
514 )
515 IS
516
517 CURSOR check_rep_cat_exists
518 (
519 p_rep_cat_id in number
520 )
521 IS
522 SELECT object_version_number
523 FROM ahl_repair_categories
524 WHERE repair_category_id = p_rep_cat_id;
525
526 BEGIN
527
528 OPEN check_rep_cat_exists (p_rep_cat_id);
529 FETCH check_rep_cat_exists INTO l_dummy_number;
530
531 IF (check_rep_cat_exists%NOTFOUND)
532 THEN
533 CLOSE check_rep_cat_exists;
534 FND_MESSAGE.SET_NAME(G_APP_NAME, 'AHL_MEL_CDL_REPCAT_NOTFOUND');
535 FND_MSG_PUB.ADD;
536 RAISE FND_API.G_EXC_ERROR;
537 ELSIF (p_object_ver_num <> l_dummy_number)
538 THEN
539 CLOSE check_rep_cat_exists;
540 FND_MESSAGE.SET_NAME(G_APP_NAME, 'AHL_COM_RECORD_CHANGED');
541 FND_MSG_PUB.ADD;
542 RAISE FND_API.G_EXC_ERROR;
543 END IF;
544 CLOSE check_rep_cat_exists;
545
546 END VALIDATE_REP_CAT_EXISTS;
547
548 End AHL_REPAIR_CATEGORIES_PVT;