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