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