DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PS_USEC_RU_PKG

Source


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