DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PS_USO_FACILITY_PKG

Source


1 PACKAGE BODY igs_ps_uso_facility_pkg AS
2 /* $Header: IGSPI2OB.pls 120.1 2005/06/29 03:27:25 appldev ship $ */
3 
4   l_rowid VARCHAR2(25);
5   old_references igs_ps_uso_facility%ROWTYPE;
6   new_references igs_ps_uso_facility%ROWTYPE;
7 
8   PROCEDURE set_column_values (
9     p_action                            IN     VARCHAR2,
10     x_rowid                             IN     VARCHAR2    DEFAULT NULL,
11     x_uso_facility_id                   IN     NUMBER      DEFAULT NULL,
12     x_unit_section_occurrence_id        IN     NUMBER      DEFAULT NULL,
13     x_facility_code                     IN     VARCHAR2    DEFAULT NULL,
14     x_creation_date                     IN     DATE        DEFAULT NULL,
15     x_created_by                        IN     NUMBER      DEFAULT NULL,
16     x_last_update_date                  IN     DATE        DEFAULT NULL,
17     x_last_updated_by                   IN     NUMBER      DEFAULT NULL,
18     x_last_update_login                 IN     NUMBER      DEFAULT NULL
19   ) AS
20   /*
21   ||  Created By : [email protected]
22   ||  Created On : 25-MAY-2001
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_PS_USO_FACILITY
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.uso_facility_id                   := x_uso_facility_id;
54     new_references.unit_section_occurrence_id        := x_unit_section_occurrence_id;
55     new_references.facility_code                     := x_facility_code;
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_uniqueness AS
73   /*
74   ||  Created By : [email protected]
75   ||  Created On : 25-MAY-2001
76   ||  Purpose : Handles the Unique Constraint logic defined for the columns.
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 ( get_uk_for_validation (
85            new_references.unit_section_occurrence_id,
86            new_references.facility_code
87          )
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 : [email protected]
100   ||  Created On : 25-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.unit_section_occurrence_id = new_references.unit_section_occurrence_id)) OR
110         ((new_references.unit_section_occurrence_id IS NULL))) THEN
111       NULL;
112     ELSIF NOT igs_ps_usec_occurs_pkg.get_pk_for_validation (
113                 new_references.unit_section_occurrence_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.facility_code = new_references.facility_code)) OR
121         ((new_references.facility_code IS NULL))) THEN
122       NULL;
123     ELSIF NOT igs_ps_media_equip_pkg.get_pk_for_validation (
124                 new_references.facility_code
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   END check_parent_existance;
132 
133 
134   FUNCTION get_pk_for_validation (
135     x_uso_facility_id                   IN     NUMBER
136   ) RETURN BOOLEAN AS
137   /*
138   ||  Created By : [email protected]
139   ||  Created On : 25-MAY-2001
140   ||  Purpose : Validates the Primary Key of the table.
141   ||  Known limitations, enhancements or remarks :
142   ||  Change History :
143   ||  Who             When            What
144   ||  (reverse chronological order - newest change first)
145   */
146     CURSOR cur_rowid IS
147       SELECT   rowid
148       FROM     igs_ps_uso_facility
149       WHERE    uso_facility_id = x_uso_facility_id
150       FOR UPDATE NOWAIT;
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       RETURN(TRUE);
161     ELSE
162       CLOSE cur_rowid;
163       RETURN(FALSE);
164     END IF;
165 
166   END get_pk_for_validation;
167 
168 
169   FUNCTION get_uk_for_validation (
170     x_unit_section_occurrence_id        IN     NUMBER,
171     x_facility_code                     IN     VARCHAR2
172   ) RETURN BOOLEAN AS
173   /*
174   ||  Created By : [email protected]
175   ||  Created On : 25-MAY-2001
176   ||  Purpose : Validates the Unique Keys of the table.
177   ||  Known limitations, enhancements or remarks :
178   ||  Change History :
179   ||  Who             When            What
180   ||  (reverse chronological order - newest change first)
181   */
182     CURSOR cur_rowid IS
183       SELECT   rowid
184       FROM     igs_ps_uso_facility
185       WHERE    unit_section_occurrence_id = x_unit_section_occurrence_id
186       AND      facility_code = x_facility_code
187       AND      ((l_rowid IS NULL) OR (rowid <> l_rowid));
188 
189     lv_rowid cur_rowid%RowType;
190 
191   BEGIN
192 
193     OPEN cur_rowid;
194     FETCH cur_rowid INTO lv_rowid;
195     IF (cur_rowid%FOUND) THEN
196       CLOSE cur_rowid;
197         RETURN (true);
198         ELSE
199        CLOSE cur_rowid;
200       RETURN(FALSE);
201     END IF;
202 
203   END get_uk_for_validation ;
204 
205 
206   PROCEDURE get_fk_igs_ps_usec_occurs (
207     x_unit_section_occurrence_id        IN     NUMBER
208   ) AS
209   /*
210   ||  Created By : [email protected]
211   ||  Created On : 25-MAY-2001
212   ||  Purpose : Validates the Foreign Keys for the table.
213   ||  Known limitations, enhancements or remarks :
214   ||  Change History :
215   ||  Who             When            What
216   ||  (reverse chronological order - newest change first)
217   */
218     CURSOR cur_rowid IS
219       SELECT   rowid
220       FROM     igs_ps_uso_facility
221       WHERE   ((unit_section_occurrence_id = x_unit_section_occurrence_id));
222 
223     lv_rowid cur_rowid%RowType;
224 
225   BEGIN
226 
227     OPEN cur_rowid;
228     FETCH cur_rowid INTO lv_rowid;
229     IF (cur_rowid%FOUND) THEN
230       CLOSE cur_rowid;
231       fnd_message.set_name ('IGS', 'IGS_PS_USO_USOF_FK1');
232       igs_ge_msg_stack.add;
233       app_exception.raise_exception;
234       RETURN;
235     END IF;
236     CLOSE cur_rowid;
237 
238   END get_fk_igs_ps_usec_occurs;
239 
240 
241   PROCEDURE get_fk_igs_ps_media_equip (
242     x_media_code                        IN     VARCHAR2
243   ) AS
244   /*
245   ||  Created By : [email protected]
246   ||  Created On : 25-MAY-2001
247   ||  Purpose : Validates the Foreign Keys for the table.
248   ||  Known limitations, enhancements or remarks :
249   ||  Change History :
250   ||  Who             When            What
251   ||  (reverse chronological order - newest change first)
252   */
253     CURSOR cur_rowid IS
254       SELECT   rowid
255       FROM     igs_ps_uso_facility
256       WHERE   ((facility_code = x_media_code));
257 
258     lv_rowid cur_rowid%RowType;
259 
260   BEGIN
261 
262     OPEN cur_rowid;
263     FETCH cur_rowid INTO lv_rowid;
264     IF (cur_rowid%FOUND) THEN
265       CLOSE cur_rowid;
266       fnd_message.set_name ('IGS', 'IGS_PS_ME_USOF_FK2');
267       igs_ge_msg_stack.add;
268       app_exception.raise_exception;
269       RETURN;
270     END IF;
271     CLOSE cur_rowid;
272 
273   END get_fk_igs_ps_media_equip;
274 
275 
276   PROCEDURE before_dml (
277     p_action                            IN     VARCHAR2,
278     x_rowid                             IN     VARCHAR2    DEFAULT NULL,
279     x_uso_facility_id                   IN     NUMBER      DEFAULT NULL,
280     x_unit_section_occurrence_id        IN     NUMBER      DEFAULT NULL,
281     x_facility_code                     IN     VARCHAR2    DEFAULT NULL,
282     x_creation_date                     IN     DATE        DEFAULT NULL,
283     x_created_by                        IN     NUMBER      DEFAULT NULL,
284     x_last_update_date                  IN     DATE        DEFAULT NULL,
285     x_last_updated_by                   IN     NUMBER      DEFAULT NULL,
286     x_last_update_login                 IN     NUMBER      DEFAULT NULL
287   ) AS
288   /*
289   ||  Created By : [email protected]
290   ||  Created On : 25-MAY-2001
291   ||  Purpose : Initialises the columns, Checks Constraints, Calls the
292   ||            Trigger Handlers for the table, before any DML operation.
293   ||  Known limitations, enhancements or remarks :
294   ||  Change History :
295   ||  Who             When            What
296   ||  (reverse chronological order - newest change first)
297   */
298   BEGIN
299 
300     set_column_values (
301       p_action,
302       x_rowid,
303       x_uso_facility_id,
304       x_unit_section_occurrence_id,
305       x_facility_code,
306       x_creation_date,
307       x_created_by,
308       x_last_update_date,
309       x_last_updated_by,
310       x_last_update_login
311     );
312 
313     IF (p_action = 'INSERT') THEN
314       -- Call all the procedures related to Before Insert.
315       IF ( get_pk_for_validation(
316              new_references.uso_facility_id
317            )
318          ) THEN
319         fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
320         igs_ge_msg_stack.add;
321         app_exception.raise_exception;
322       END IF;
323       check_uniqueness;
324       check_parent_existance;
325     ELSIF (p_action = 'UPDATE') THEN
326       -- Call all the procedures related to Before Update.
327       check_uniqueness;
328       check_parent_existance;
329     ELSIF (p_action = 'VALIDATE_INSERT') THEN
330       -- Call all the procedures related to Before Insert.
331       IF ( get_pk_for_validation (
332              new_references.uso_facility_id
333            )
334          ) THEN
335         fnd_message.set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
336         igs_ge_msg_stack.add;
337         app_exception.raise_exception;
338       END IF;
339       check_uniqueness;
340     ELSIF (p_action = 'VALIDATE_UPDATE') THEN
341       check_uniqueness;
342     END IF;
343 
344     l_rowid:=NULL;
345 
346   END before_dml;
347 
348   PROCEDURE After_DML (
349     p_action IN VARCHAR2,
350     x_rowid IN VARCHAR2
351   ) IS
352   /*************************************************************
353   Created By : sarakshi
354   Date Created By : 12-May-2005
355   Purpose : To update the scheduling status to USER_UPDATE when record is created or deleted for the occurrence
356   Know limitations, enhancements or remarks
357   Change History
358   Who             When            What
359   (reverse chronological order - newest change first)
360   ***************************************************************/
361     CURSOR c_occurs(cp_unit_section_occurrence_id igs_ps_usec_occurs_all.unit_section_occurrence_id%TYPE) IS
362     SELECT uso.unit_section_occurrence_id
363     FROM igs_ps_usec_occurs_all uso
364     WHERE (uso.schedule_status IS NOT NULL AND uso.schedule_status NOT IN ('PROCESSING','USER_UPDATE'))
365     AND uso.no_set_day_ind ='N'
366     AND uso.unit_section_occurrence_id=cp_unit_section_occurrence_id;
367 
368   BEGIN
369 
370     l_rowid := x_rowid;
371 
372     IF (p_action = 'INSERT') THEN
373       --Update the schedule status of the occurrence to USER_UPDATE if inserting a record
374       FOR l_occurs_rec IN c_occurs(new_references.unit_section_occurrence_id) LOOP
375         igs_ps_usec_schedule.update_occurrence_status(l_occurs_rec.unit_section_occurrence_id,'USER_UPDATE','N');
376       END LOOP;
377 
378     ELSIF (p_action = 'UPDATE') THEN
379       --Update the schedule status of the occurrence to USER_UPDATE if updating a record
380       FOR l_occurs_rec IN c_occurs(new_references.unit_section_occurrence_id) LOOP
381         igs_ps_usec_schedule.update_occurrence_status(l_occurs_rec.unit_section_occurrence_id,'USER_UPDATE','N');
382       END LOOP;
383 
384 
385     ELSIF (p_action = 'DELETE') THEN
386       --Update the schedule status of the occurrence to USER_UPDATE if updating a record
387       FOR l_occurs_rec IN c_occurs(old_references.unit_section_occurrence_id) LOOP
388         igs_ps_usec_schedule.update_occurrence_status(l_occurs_rec.unit_section_occurrence_id,'USER_UPDATE','N');
389       END LOOP;
390 
391     END IF;
392 
393     l_rowid:=NULL;
394   END After_DML;
395 
396 
397   PROCEDURE insert_row (
398     x_rowid                             IN OUT NOCOPY VARCHAR2,
399     x_uso_facility_id                   IN OUT NOCOPY NUMBER,
400     x_unit_section_occurrence_id        IN     NUMBER,
401     x_facility_code                     IN     VARCHAR2,
402     x_mode                              IN     VARCHAR2 DEFAULT 'R'
403   ) AS
404   /*
405   ||  Created By : [email protected]
406   ||  Created On : 25-MAY-2001
407   ||  Purpose : Handles the INSERT DML logic for the table.
408   ||  Known limitations, enhancements or remarks :
409   ||  Change History :
410   ||  Who             When            What
411   ||  (reverse chronological order - newest change first)
412   */
413     CURSOR c IS
414       SELECT   rowid
415       FROM     igs_ps_uso_facility
416       WHERE    uso_facility_id                   = x_uso_facility_id;
417 
418     x_last_update_date           DATE;
419     x_last_updated_by            NUMBER;
420     x_last_update_login          NUMBER;
421 
422   BEGIN
423 
424     x_last_update_date := SYSDATE;
425     IF (x_mode = 'I') THEN
426       x_last_updated_by := 1;
427       x_last_update_login := 0;
428     ELSIF (x_mode = 'R') THEN
429       x_last_updated_by := fnd_global.user_id;
430       IF (x_last_updated_by IS NULL) THEN
431         x_last_updated_by := -1;
432       END IF;
433       x_last_update_login := fnd_global.login_id;
434       IF (x_last_update_login IS NULL) THEN
435         x_last_update_login := -1;
436       END IF;
437     ELSE
438       fnd_message.set_name ('FND', 'SYSTEM-INVALID ARGS');
439       igs_ge_msg_stack.add;
440       app_exception.raise_exception;
441     END IF;
442 
443     SELECT    igs_ps_uso_facility_s.NEXTVAL
444     INTO      x_uso_facility_id
445     FROM      dual;
446 
447     before_dml(
448       p_action                            => 'INSERT',
449       x_rowid                             => x_rowid,
450       x_uso_facility_id                   => x_uso_facility_id,
451       x_unit_section_occurrence_id        => x_unit_section_occurrence_id,
452       x_facility_code                     => x_facility_code,
453       x_creation_date                     => x_last_update_date,
454       x_created_by                        => x_last_updated_by,
455       x_last_update_date                  => x_last_update_date,
456       x_last_updated_by                   => x_last_updated_by,
457       x_last_update_login                 => x_last_update_login
458     );
459 
460     INSERT INTO igs_ps_uso_facility (
461       uso_facility_id,
462       unit_section_occurrence_id,
463       facility_code,
464       creation_date,
465       created_by,
466       last_update_date,
467       last_updated_by,
468       last_update_login
469     ) VALUES (
470       new_references.uso_facility_id,
471       new_references.unit_section_occurrence_id,
472       new_references.facility_code,
473       x_last_update_date,
474       x_last_updated_by,
475       x_last_update_date,
476       x_last_updated_by,
477       x_last_update_login
478     );
479 
480     OPEN c;
481     FETCH c INTO x_rowid;
482     IF (c%NOTFOUND) THEN
483       CLOSE c;
484       RAISE NO_DATA_FOUND;
485     END IF;
486     CLOSE c;
487 
488     After_DML (
489                 p_action => 'INSERT' ,
490                 x_rowid => X_ROWID );
491 
492   END insert_row;
493 
494 
495   PROCEDURE lock_row (
496     x_rowid                             IN     VARCHAR2,
497     x_uso_facility_id                   IN     NUMBER,
498     x_unit_section_occurrence_id        IN     NUMBER,
499     x_facility_code                     IN     VARCHAR2
500   ) AS
501   /*
502   ||  Created By : [email protected]
503   ||  Created On : 25-MAY-2001
504   ||  Purpose : Handles the LOCK mechanism for the table.
505   ||  Known limitations, enhancements or remarks :
506   ||  Change History :
507   ||  Who             When            What
508   ||  (reverse chronological order - newest change first)
509   */
510     CURSOR c1 IS
511       SELECT
512         unit_section_occurrence_id,
513         facility_code
514       FROM  igs_ps_uso_facility
515       WHERE rowid = x_rowid
516       FOR UPDATE NOWAIT;
517 
518     tlinfo c1%ROWTYPE;
519 
520   BEGIN
521 
522     OPEN c1;
523     FETCH c1 INTO tlinfo;
524     IF (c1%notfound) THEN
525       fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
526       igs_ge_msg_stack.add;
527       CLOSE c1;
528       app_exception.raise_exception;
529       RETURN;
530     END IF;
531     CLOSE c1;
532 
533     IF (
534         (tlinfo.unit_section_occurrence_id = x_unit_section_occurrence_id)
535         AND (tlinfo.facility_code = x_facility_code)
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_uso_facility_id                   IN     NUMBER,
552     x_unit_section_occurrence_id        IN     NUMBER,
553     x_facility_code                     IN     VARCHAR2,
554     x_mode                              IN     VARCHAR2 DEFAULT 'R'
555   ) AS
556   /*
557   ||  Created By : [email protected]
558   ||  Created On : 25-MAY-2001
559   ||  Purpose : Handles the UPDATE DML logic for the table.
560   ||  Known limitations, enhancements or remarks :
561   ||  Change History :
562   ||  Who             When            What
563   ||  (reverse chronological order - newest change first)
564   */
565     x_last_update_date           DATE ;
566     x_last_updated_by            NUMBER;
567     x_last_update_login          NUMBER;
568 
569   BEGIN
570 
571     x_last_update_date := SYSDATE;
572     IF (X_MODE = 'I') THEN
573       x_last_updated_by := 1;
574       x_last_update_login := 0;
575     ELSIF (x_mode = 'R') THEN
576       x_last_updated_by := fnd_global.user_id;
577       IF x_last_updated_by IS NULL THEN
578         x_last_updated_by := -1;
579       END IF;
580       x_last_update_login := fnd_global.login_id;
581       IF (x_last_update_login IS NULL) THEN
582         x_last_update_login := -1;
583       END IF;
584     ELSE
585       fnd_message.set_name( 'FND', 'SYSTEM-INVALID ARGS');
586       igs_ge_msg_stack.add;
587       app_exception.raise_exception;
588     END IF;
589 
590     before_dml(
591       p_action                            => 'UPDATE',
592       x_rowid                             => x_rowid,
593       x_uso_facility_id                   => x_uso_facility_id,
594       x_unit_section_occurrence_id        => x_unit_section_occurrence_id,
595       x_facility_code                     => x_facility_code,
596       x_creation_date                     => x_last_update_date,
597       x_created_by                        => x_last_updated_by,
598       x_last_update_date                  => x_last_update_date,
599       x_last_updated_by                   => x_last_updated_by,
600       x_last_update_login                 => x_last_update_login
601     );
602 
603     UPDATE igs_ps_uso_facility
604       SET
605         unit_section_occurrence_id        = new_references.unit_section_occurrence_id,
606         facility_code                     = new_references.facility_code,
607         last_update_date                  = x_last_update_date,
608         last_updated_by                   = x_last_updated_by,
609         last_update_login                 = x_last_update_login
610       WHERE rowid = x_rowid;
611 
612     IF (SQL%NOTFOUND) THEN
613       RAISE NO_DATA_FOUND;
614     END IF;
615 
616     After_DML (
617                 p_action => 'UPDATE' ,
618                 x_rowid => X_ROWID );
619 
620   END update_row;
621 
622 
623   PROCEDURE add_row (
624     x_rowid                             IN OUT NOCOPY VARCHAR2,
625     x_uso_facility_id                   IN OUT NOCOPY NUMBER,
626     x_unit_section_occurrence_id        IN     NUMBER,
627     x_facility_code                     IN     VARCHAR2,
628     x_mode                              IN     VARCHAR2 DEFAULT 'R'
629   ) AS
630   /*
631   ||  Created By : [email protected]
632   ||  Created On : 25-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_uso_facility
642       WHERE    uso_facility_id                   = x_uso_facility_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_uso_facility_id,
654         x_unit_section_occurrence_id,
655         x_facility_code,
656         x_mode
657       );
658       RETURN;
659     END IF;
660     CLOSE c1;
661 
662     update_row (
663       x_rowid,
664       x_uso_facility_id,
665       x_unit_section_occurrence_id,
666       x_facility_code,
667       x_mode
668     );
669 
670   END add_row;
671 
672 
673   PROCEDURE delete_row (
674     x_rowid IN VARCHAR2
675   ) AS
676   /*
677   ||  Created By : [email protected]
678   ||  Created On : 25-MAY-2001
679   ||  Purpose : Handles the DELETE DML logic for the table.
680   ||  Known limitations, enhancements or remarks :
681   ||  Change History :
682   ||  Who             When            What
683   ||  (reverse chronological order - newest change first)
684   */
685   BEGIN
686 
687     before_dml (
688       p_action => 'DELETE',
689       x_rowid => x_rowid
690     );
691 
692     DELETE FROM igs_ps_uso_facility
693     WHERE rowid = x_rowid;
694 
695     IF (SQL%NOTFOUND) THEN
696       RAISE NO_DATA_FOUND;
697     END IF;
698 
699     After_DML (
700                 p_action => 'DELETE' ,
701                 x_rowid => X_ROWID );
702 
703   END delete_row;
704 
705 
706 END igs_ps_uso_facility_pkg;