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