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