[Home] [Help]
PACKAGE BODY: APPS.IGS_DA_REQ_FTRS_PKG
Source
1 PACKAGE BODY igs_da_req_ftrs_pkg AS
2 /* $Header: IGSKI42B.pls 115.1 2003/04/16 05:39:48 smanglm noship $ */
3
4 l_rowid VARCHAR2(25);
5 old_references igs_da_req_ftrs%ROWTYPE;
6 new_references igs_da_req_ftrs%ROWTYPE;
7
8 PROCEDURE set_column_values (
9 p_action IN VARCHAR2,
10 x_rowid IN VARCHAR2,
11 x_batch_id IN NUMBER,
12 x_feature_code IN VARCHAR2,
13 x_feature_value IN VARCHAR2,
14 x_creation_date IN DATE,
15 x_created_by IN NUMBER,
16 x_last_update_date IN DATE,
17 x_last_updated_by IN NUMBER,
18 x_last_update_login IN NUMBER
19 ) AS
20 /*
21 || Created By :
22 || Created On : 27-MAR-2003
23 || Purpose : Initialises the Old and New references for the columns of the table.
24 || Known limitations, enhancements or remarks :
25 || Change History :
26 || Who When What
27 || (reverse chronological order - newest change first)
28 */
29
30 CURSOR cur_old_ref_values IS
31 SELECT *
32 FROM igs_da_req_ftrs
33 WHERE rowid = x_rowid;
34
35 BEGIN
36
37 l_rowid := x_rowid;
38
39 -- Code for setting the Old and New Reference Values.
40 -- Populate Old Values.
41 OPEN cur_old_ref_values;
42 FETCH cur_old_ref_values INTO old_references;
43 IF ((cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT', 'VALIDATE_INSERT'))) THEN
44 CLOSE cur_old_ref_values;
45 fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
46 igs_ge_msg_stack.add;
47 app_exception.raise_exception;
48 RETURN;
49 END IF;
50 CLOSE cur_old_ref_values;
51
52 -- Populate New Values.
53 new_references.batch_id := x_batch_id;
54 new_references.feature_code := x_feature_code;
55 new_references.feature_value := x_feature_value;
56
57 IF (p_action = 'UPDATE') THEN
58 new_references.creation_date := old_references.creation_date;
59 new_references.created_by := old_references.created_by;
60 ELSE
61 new_references.creation_date := x_creation_date;
62 new_references.created_by := x_created_by;
63 END IF;
64
65 new_references.last_update_date := x_last_update_date;
66 new_references.last_updated_by := x_last_updated_by;
67 new_references.last_update_login := x_last_update_login;
68
69 END set_column_values;
70
71
72 PROCEDURE check_parent_existance AS
73 /*
74 || Created By :
75 || Created On : 27-MAR-2003
76 || Purpose : Checks for the existance of Parent records.
77 || Known limitations, enhancements or remarks :
78 || Change History :
79 || Who When What
80 || (reverse chronological order - newest change first)
81 */
82 BEGIN
83
84 IF (((old_references.feature_code = new_references.feature_code)) OR
85 ((new_references.feature_code IS NULL))) THEN
86 NULL;
87 ELSIF NOT igs_da_ftr_val_map_pkg.get_pk_for_validation (
88 new_references.feature_code
89 ) THEN
90 fnd_message.set_name ('FND', 'FORM_RECORD_DELETED');
91 igs_ge_msg_stack.add;
92 app_exception.raise_exception;
93 END IF;
94
95 END check_parent_existance;
96
97
98 FUNCTION get_pk_for_validation (
99 x_batch_id IN NUMBER,
100 x_feature_code IN VARCHAR2
101 ) RETURN BOOLEAN AS
102 /*
103 || Created By :
104 || Created On : 27-MAR-2003
105 || Purpose : Validates the Primary Key of the table.
106 || Known limitations, enhancements or remarks :
107 || Change History :
108 || Who When What
109 || (reverse chronological order - newest change first)
110 */
111 CURSOR cur_rowid IS
112 SELECT rowid
113 FROM igs_da_req_ftrs
114 WHERE batch_id = x_batch_id
115 AND feature_code = x_feature_code
116 FOR UPDATE NOWAIT;
117
118 lv_rowid cur_rowid%RowType;
119
120 BEGIN
121
122 OPEN cur_rowid;
123 FETCH cur_rowid INTO lv_rowid;
124 IF (cur_rowid%FOUND) THEN
125 CLOSE cur_rowid;
126 RETURN(TRUE);
127 ELSE
128 CLOSE cur_rowid;
129 RETURN(FALSE);
130 END IF;
131
132 END get_pk_for_validation;
133
134
135 PROCEDURE get_fk_igs_da_ftr_val_map (
136 x_feature_code IN VARCHAR2
137 ) AS
138 /*
139 || Created By :
140 || Created On : 27-MAR-2003
141 || Purpose : Validates the Foreign Keys for the table.
142 || Known limitations, enhancements or remarks :
143 || Change History :
144 || Who When What
145 || (reverse chronological order - newest change first)
146 */
147 CURSOR cur_rowid IS
148 SELECT rowid
149 FROM igs_da_req_ftrs
150 WHERE ((feature_code = x_feature_code));
151
152 lv_rowid cur_rowid%RowType;
153
154 BEGIN
155
156 OPEN cur_rowid;
157 FETCH cur_rowid INTO lv_rowid;
158 IF (cur_rowid%FOUND) THEN
159 CLOSE cur_rowid;
160 fnd_message.set_name ('IGS', 'IGS_DA_FTR_REQ_FTR_FK');
161 igs_ge_msg_stack.add;
162 app_exception.raise_exception;
163 RETURN;
164 END IF;
165 CLOSE cur_rowid;
166
167 END get_fk_igs_da_ftr_val_map;
168
169 PROCEDURE get_fk_igs_da_rqst (
170 x_batch_id IN NUMBER
171 ) AS
172 /*
173 || Created By :
174 || Created On : 27-MAR-2003
175 || Purpose : Validates the Foreign Keys for the table.
176 || Known limitations, enhancements or remarks :
177 || Change History :
178 || Who When What
179 || (reverse chronological order - newest change first)
180 */
181 CURSOR cur_rowid IS
182 SELECT rowid
183 FROM igs_da_req_ftrs
184 WHERE ((batch_id = x_batch_id));
185
186 lv_rowid cur_rowid%RowType;
187
188 BEGIN
189
190 OPEN cur_rowid;
191 FETCH cur_rowid INTO lv_rowid;
192 IF (cur_rowid%FOUND) THEN
193 CLOSE cur_rowid;
194 fnd_message.set_name ('IGS', 'IGS_DA_RQST_FTR_FK');
195 igs_ge_msg_stack.add;
196 app_exception.raise_exception;
197 RETURN;
198 END IF;
199 CLOSE cur_rowid;
200
201 END get_fk_igs_da_rqst;
202
203
204 PROCEDURE before_dml (
205 p_action IN VARCHAR2,
206 x_rowid IN VARCHAR2,
207 x_batch_id IN NUMBER,
208 x_feature_code IN VARCHAR2,
209 x_feature_value IN VARCHAR2,
210 x_creation_date IN DATE,
211 x_created_by IN NUMBER,
212 x_last_update_date IN DATE,
213 x_last_updated_by IN NUMBER,
214 x_last_update_login IN NUMBER
215 ) AS
216 /*
217 || Created By :
218 || Created On : 27-MAR-2003
219 || Purpose : Initialises the columns, Checks Constraints, Calls the
220 || Trigger Handlers for the table, before any DML operation.
221 || Known limitations, enhancements or remarks :
222 || Change History :
223 || Who When What
224 || (reverse chronological order - newest change first)
225 */
226 BEGIN
227
228 set_column_values (
229 p_action,
230 x_rowid,
231 x_batch_id,
232 x_feature_code,
233 x_feature_value,
234 x_creation_date,
235 x_created_by,
236 x_last_update_date,
237 x_last_updated_by,
238 x_last_update_login
239 );
240
241 IF (p_action = 'INSERT') THEN
242 -- Call all the procedures related to Before Insert.
243 IF ( get_pk_for_validation(
244 new_references.batch_id,
245 new_references.feature_code
246 )
247 ) THEN
248 fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
249 igs_ge_msg_stack.add;
250 RAISE FND_API.G_EXC_ERROR;
251 END IF;
252 check_parent_existance;
253 ELSIF (p_action = 'UPDATE') THEN
254 -- Call all the procedures related to Before Update.
255 check_parent_existance;
256 ELSIF (p_action = 'VALIDATE_INSERT') THEN
257 -- Call all the procedures related to Before Insert.
258 IF ( get_pk_for_validation (
259 new_references.batch_id,
260 new_references.feature_code
261 )
262 ) THEN
263 fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
264 igs_ge_msg_stack.add;
265 RAISE FND_API.G_EXC_ERROR;
266 END IF;
267 END IF;
268
269 END before_dml;
270
271 PROCEDURE insert_row (
272 x_rowid IN OUT NOCOPY VARCHAR2,
273 x_batch_id IN NUMBER,
274 x_feature_code IN VARCHAR2,
275 x_feature_value IN VARCHAR2,
276 x_mode IN VARCHAR2 DEFAULT 'R' ,
277 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
278 X_MSG_DATA OUT NOCOPY VARCHAR2,
279 X_MSG_COUNT OUT NOCOPY NUMBER
280 ) AS
281 /*
282 || Created By :
283 || Created On : 27-MAR-2003
284 || Purpose : Handles the INSERT DML logic for the table.
285 || Known limitations, enhancements or remarks :
286 || Change History :
287 || Who When What
288 || (reverse chronological order - newest change first)
289 */
290
291 x_last_update_date DATE;
292 x_last_updated_by NUMBER;
293 x_last_update_login NUMBER;
294
295 BEGIN
296 FND_MSG_PUB.initialize;
297 x_last_update_date := SYSDATE;
298 IF (x_mode = 'I') THEN
299 x_last_updated_by := 1;
300 x_last_update_login := 0;
301 ELSIF (x_mode = 'R') THEN
302 x_last_updated_by := fnd_global.user_id;
303 IF (x_last_updated_by IS NULL) THEN
304 x_last_updated_by := -1;
305 END IF;
306 x_last_update_login := fnd_global.login_id;
307 IF (x_last_update_login IS NULL) THEN
308 x_last_update_login := -1;
309 END IF;
310 ELSE
311 fnd_message.set_name ('FND', 'SYSTEM-INVALID ARGS');
312 fnd_message.set_token ('ROUTINE', 'IGS_DA_REQ_FTRS_PKG.INSERT_ROW');
313 igs_ge_msg_stack.add;
314 app_exception.raise_exception;
315 END IF;
316
317 before_dml(
318 p_action => 'INSERT',
319 x_rowid => x_rowid,
320 x_batch_id => x_batch_id,
321 x_feature_code => x_feature_code,
322 x_feature_value => x_feature_value,
323 x_creation_date => x_last_update_date,
324 x_created_by => x_last_updated_by,
325 x_last_update_date => x_last_update_date,
326 x_last_updated_by => x_last_updated_by,
327 x_last_update_login => x_last_update_login
328 );
329
330 INSERT INTO igs_da_req_ftrs (
331 batch_id,
332 feature_code,
333 feature_value,
334 creation_date,
335 created_by,
336 last_update_date,
337 last_updated_by,
338 last_update_login
339 ) VALUES (
340 new_references.batch_id,
341 new_references.feature_code,
342 new_references.feature_value,
343 x_last_update_date,
344 x_last_updated_by,
345 x_last_update_date,
346 x_last_updated_by,
347 x_last_update_login
348 ) RETURNING ROWID INTO x_rowid;
349
350 -- Initialize API return status to success.
351 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
352 -- Standard call to get message count and if count is 1, get message
353 -- info.
354 FND_MSG_PUB.Count_And_Get(
355 p_encoded => FND_API.G_FALSE,
356 p_count => x_MSG_COUNT,
357 p_data => X_MSG_DATA);
358
359 EXCEPTION
360 WHEN FND_API.G_EXC_ERROR THEN
361 X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
362 FND_MSG_PUB.Count_And_Get(
363 p_encoded => FND_API.G_FALSE,
364 p_count => x_MSG_COUNT,
365 p_data => X_MSG_DATA);
366 RETURN;
367 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
368 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
369 FND_MSG_PUB.Count_And_Get(
370 p_encoded => FND_API.G_FALSE,
371 p_count => x_MSG_COUNT,
372 p_data => X_MSG_DATA);
373 RETURN;
374 WHEN OTHERS THEN
375 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
376 FND_MESSAGE.SET_NAME('IGS', 'IGS_GE_UNHANDLED_EXCEPTION');
377 FND_MESSAGE.SET_TOKEN('NAME','Insert_Row : '||SQLERRM);
378 FND_MSG_PUB.ADD;
379 FND_MSG_PUB.Count_And_Get(
380 p_encoded => FND_API.G_FALSE,
381 p_count => x_MSG_COUNT,
382 p_data => X_MSG_DATA);
383 RETURN;
384
385 END insert_row;
386
387
388 PROCEDURE lock_row (
389 x_rowid IN VARCHAR2,
390 x_batch_id IN NUMBER,
391 x_feature_code IN VARCHAR2,
392 x_feature_value IN VARCHAR2,
393 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
394 X_MSG_DATA OUT NOCOPY VARCHAR2,
395 X_MSG_COUNT OUT NOCOPY NUMBER
396 ) AS
397 /*
398 || Created By :
399 || Created On : 27-MAR-2003
400 || Purpose : Handles the LOCK mechanism for the table.
401 || Known limitations, enhancements or remarks :
402 || Change History :
403 || Who When What
404 || (reverse chronological order - newest change first)
405 */
406 CURSOR c1 IS
407 SELECT
408 feature_value
409 FROM igs_da_req_ftrs
410 WHERE rowid = x_rowid
411 FOR UPDATE NOWAIT;
412
413 tlinfo c1%ROWTYPE;
414
415 BEGIN
416 FND_MSG_PUB.initialize;
417 OPEN c1;
418 FETCH c1 INTO tlinfo;
419 IF (c1%notfound) THEN
420 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
421 igs_ge_msg_stack.add;
422 CLOSE c1;
423 app_exception.raise_exception;
424 RETURN;
425 END IF;
426 CLOSE c1;
427
428 IF (
429 ((tlinfo.feature_value = x_feature_value) OR ((tlinfo.feature_value IS NULL) AND (X_feature_value IS NULL)))
430 ) THEN
431 NULL;
432 ELSE
433 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
434 igs_ge_msg_stack.add;
435 RAISE FND_API.G_EXC_ERROR;
436 END IF;
437
438 -- Initialize API return status to success.
439 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
440 -- Standard call to get message count and if count is 1, get message
441 -- info.
442 FND_MSG_PUB.Count_And_Get(
443 p_encoded => FND_API.G_FALSE,
444 p_count => x_MSG_COUNT,
445 p_data => X_MSG_DATA);
446 RETURN;
447 EXCEPTION
448 WHEN FND_API.G_EXC_ERROR THEN
449 X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
450 FND_MSG_PUB.Count_And_Get(
451 p_encoded => FND_API.G_FALSE,
452 p_count => x_MSG_COUNT,
453 p_data => X_MSG_DATA);
454 RETURN;
455 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
456 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
457 FND_MSG_PUB.Count_And_Get(
458 p_encoded => FND_API.G_FALSE,
459 p_count => x_MSG_COUNT,
460 p_data => X_MSG_DATA);
461 RETURN;
462 WHEN OTHERS THEN
463 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
464 FND_MESSAGE.SET_NAME('IGS', 'IGS_GE_UNHANDLED_EXCEPTION');
465 FND_MESSAGE.SET_TOKEN('NAME','Insert_Row : '||SQLERRM);
466 FND_MSG_PUB.ADD;
467 FND_MSG_PUB.Count_And_Get(
468 p_encoded => FND_API.G_FALSE,
469 p_count => x_MSG_COUNT,
470 p_data => X_MSG_DATA);
471 RETURN;
472
473 END lock_row;
474
475 PROCEDURE update_row (
476 x_rowid IN VARCHAR2,
477 x_batch_id IN NUMBER,
478 x_feature_code IN VARCHAR2,
479 x_feature_value IN VARCHAR2,
480 x_mode IN VARCHAR2 DEFAULT 'R',
481 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
482 X_MSG_DATA OUT NOCOPY VARCHAR2,
483 X_MSG_COUNT OUT NOCOPY NUMBER
484 ) AS
485 /*
486 || Created By :
487 || Created On : 27-MAR-2003
488 || Purpose : Handles the UPDATE DML logic for the table.
489 || Known limitations, enhancements or remarks :
490 || Change History :
491 || Who When What
492 || (reverse chronological order - newest change first)
493 */
494 x_last_update_date DATE ;
495 x_last_updated_by NUMBER;
496 x_last_update_login NUMBER;
497
498 BEGIN
499 FND_MSG_PUB.initialize;
500 x_last_update_date := SYSDATE;
501 IF (X_MODE = 'I') THEN
502 x_last_updated_by := 1;
503 x_last_update_login := 0;
504 ELSIF (x_mode = 'R') THEN
505 x_last_updated_by := fnd_global.user_id;
506 IF x_last_updated_by IS NULL THEN
507 x_last_updated_by := -1;
508 END IF;
509 x_last_update_login := fnd_global.login_id;
510 IF (x_last_update_login IS NULL) THEN
511 x_last_update_login := -1;
512 END IF;
513 ELSE
514 fnd_message.set_name( 'FND', 'SYSTEM-INVALID ARGS');
515 fnd_message.set_token ('ROUTINE', 'IGS_DA_REQ_FTRS_PKG.UPDATE_ROW');
516 igs_ge_msg_stack.add;
517 app_exception.raise_exception;
518 END IF;
519
520 before_dml(
521 p_action => 'UPDATE',
522 x_rowid => x_rowid,
523 x_batch_id => x_batch_id,
524 x_feature_code => x_feature_code,
525 x_feature_value => x_feature_value,
526 x_creation_date => x_last_update_date,
527 x_created_by => x_last_updated_by,
528 x_last_update_date => x_last_update_date,
529 x_last_updated_by => x_last_updated_by,
530 x_last_update_login => x_last_update_login
531 );
532
533 UPDATE igs_da_req_ftrs
534 SET
535 feature_value = new_references.feature_value,
536 last_update_date = x_last_update_date,
537 last_updated_by = x_last_updated_by,
538 last_update_login = x_last_update_login
539 WHERE rowid = x_rowid;
540
541 IF (SQL%NOTFOUND) THEN
542 RAISE NO_DATA_FOUND;
543 END IF;
544 -- Initialize API return status to success.
545 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
546 -- Standard call to get message count and if count is 1, get message
547 -- info.
548 FND_MSG_PUB.Count_And_Get(
549 p_encoded => FND_API.G_FALSE,
550 p_count => x_MSG_COUNT,
551 p_data => X_MSG_DATA);
552
553 EXCEPTION
554 WHEN FND_API.G_EXC_ERROR THEN
555 X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
556 FND_MSG_PUB.Count_And_Get(
557 p_encoded => FND_API.G_FALSE,
558 p_count => x_MSG_COUNT,
559 p_data => X_MSG_DATA);
560 RETURN;
561 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
562 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
563 FND_MSG_PUB.Count_And_Get(
564 p_encoded => FND_API.G_FALSE,
565 p_count => x_MSG_COUNT,
566 p_data => X_MSG_DATA);
567 RETURN;
568 WHEN OTHERS THEN
569 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
570 FND_MESSAGE.SET_NAME('IGS', 'IGS_GE_UNHANDLED_EXCEPTION');
571 FND_MESSAGE.SET_TOKEN('NAME','Update_Row : '||SQLERRM);
572 FND_MSG_PUB.ADD;
573 FND_MSG_PUB.Count_And_Get(
574 p_encoded => FND_API.G_FALSE,
575 p_count => x_MSG_COUNT,
576 p_data => X_MSG_DATA);
577 RETURN;
578
579
580 END update_row;
581
582
583 PROCEDURE add_row (
584 x_rowid IN OUT NOCOPY VARCHAR2,
585 x_batch_id IN NUMBER,
586 x_feature_code IN VARCHAR2,
587 x_feature_value IN VARCHAR2,
588 x_mode IN VARCHAR2
589 ) AS
590 /*
591 || Created By :
592 || Created On : 27-MAR-2003
593 || Purpose : Adds a row if there is no existing row, otherwise updates existing row in the table.
594 || Known limitations, enhancements or remarks :
595 || Change History :
596 || Who When What
597 || (reverse chronological order - newest change first)
598 */
599 CURSOR c1 IS
600 SELECT rowid
601 FROM igs_da_req_ftrs
602 WHERE batch_id = x_batch_id
603 AND feature_code = x_feature_code;
604
605 L_RETURN_STATUS VARCHAR2(10);
606 L_MSG_DATA VARCHAR2(2000);
607 L_MSG_COUNT NUMBER(10);
608 BEGIN
609
610 OPEN c1;
611 FETCH c1 INTO x_rowid;
612 IF (c1%NOTFOUND) THEN
613 CLOSE c1;
614
615 insert_row (
616 x_rowid,
617 x_batch_id,
618 x_feature_code,
619 x_feature_value,
620 x_mode,
621 L_RETURN_STATUS ,
622 L_MSG_DATA ,
623 L_MSG_COUNT
624 );
625 RETURN;
626 END IF;
627 CLOSE c1;
628
629 update_row (
630 x_rowid,
631 x_batch_id,
632 x_feature_code,
633 x_feature_value,
634 x_mode ,
635 L_RETURN_STATUS ,
636 L_MSG_DATA ,
637 L_MSG_COUNT
638 );
639
640 END add_row;
641
642
643 PROCEDURE delete_row (
644 x_rowid IN VARCHAR2,
645 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
646 X_MSG_DATA OUT NOCOPY VARCHAR2,
647 X_MSG_COUNT OUT NOCOPY NUMBER
648 ) AS
649 /*
650 || Created By :
651 || Created On : 27-MAR-2003
652 || Purpose : Handles the DELETE DML logic for the table.
653 || Known limitations, enhancements or remarks :
654 || Change History :
655 || Who When What
656 || (reverse chronological order - newest change first)
657 */
658 BEGIN
659 FND_MSG_PUB.initialize;
660 before_dml (
661 p_action => 'DELETE',
662 x_rowid => x_rowid
663 );
664
665 DELETE FROM igs_da_req_ftrs
666 WHERE rowid = x_rowid;
667
668 IF (SQL%NOTFOUND) THEN
669 RAISE NO_DATA_FOUND;
670 END IF;
671 -- Initialize API return status to success.
672 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
673 -- Standard call to get message count and if count is 1, get message
674 -- info.
675 FND_MSG_PUB.Count_And_Get(
676 p_encoded => FND_API.G_FALSE,
677 p_count => x_MSG_COUNT,
678 p_data => X_MSG_DATA);
679
680 EXCEPTION
681 WHEN FND_API.G_EXC_ERROR THEN
682 X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
683 FND_MSG_PUB.Count_And_Get(
684 p_encoded => FND_API.G_FALSE,
685 p_count => x_MSG_COUNT,
686 p_data => X_MSG_DATA);
687 RETURN;
688 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
689 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
690 FND_MSG_PUB.Count_And_Get(
691 p_encoded => FND_API.G_FALSE,
692 p_count => x_MSG_COUNT,
693 p_data => X_MSG_DATA);
694 RETURN;
695 WHEN OTHERS THEN
696 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
697 FND_MESSAGE.SET_NAME('IGS', 'IGS_GE_UNHANDLED_EXCEPTION');
698 FND_MESSAGE.SET_TOKEN('NAME','Insert_Row : '||SQLERRM);
699 FND_MSG_PUB.ADD;
700 FND_MSG_PUB.Count_And_Get(
701 p_encoded => FND_API.G_FALSE,
702 p_count => x_MSG_COUNT,
703 p_data => X_MSG_DATA);
704 RETURN;
705
706
707 END delete_row;
708
709
710 END igs_da_req_ftrs_pkg;