[Home] [Help]
PACKAGE BODY: APPS.IGS_GR_SPECIAL_AWARD_PKG
Source
1 package body IGS_GR_SPECIAL_AWARD_PKG as
2 /* $Header: IGSGI16B.pls 120.1 2005/07/06 23:31:02 appldev ship $ */
3 l_rowid VARCHAR2(25);
4 old_references IGS_GR_SPECIAL_AWARD_ALL%RowType;
5 new_references IGS_GR_SPECIAL_AWARD_ALL%RowType;
6
7 PROCEDURE Set_Column_Values (
8 p_action IN VARCHAR2,
9 x_rowid IN VARCHAR2 DEFAULT NULL,
10 x_person_id IN NUMBER DEFAULT NULL,
11 x_course_cd IN VARCHAR2 DEFAULT NULL,
12 x_award_cd IN VARCHAR2 DEFAULT NULL,
13 x_award_dt IN DATE DEFAULT NULL,
14 x_ceremony_announced_ind IN VARCHAR2 DEFAULT NULL,
15 x_comments IN VARCHAR2 DEFAULT NULL,
16 x_creation_date IN DATE DEFAULT NULL,
17 x_created_by IN NUMBER DEFAULT NULL,
18 x_last_update_date IN DATE DEFAULT NULL,
19 x_last_updated_by IN NUMBER DEFAULT NULL,
20 x_last_update_login IN NUMBER DEFAULT NULL ,
21 x_org_id IN NUMBER DEFAULT NULL
22 ) AS
23
24 CURSOR cur_old_ref_values IS
25 SELECT *
26 FROM IGS_GR_SPECIAL_AWARD_ALL
27 WHERE rowid = x_rowid;
28
29 BEGIN
30
31 l_rowid := x_rowid;
32
33 -- Code for setting the Old and New Reference Values.
34 -- Populate Old Values.
35 Open cur_old_ref_values;
36 Fetch cur_old_ref_values INTO old_references;
37 IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT', 'VALIDATE_INSERT')) THEN
38 Close cur_old_ref_values;
39 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
40 App_Exception.Raise_Exception;
41 Return;
42 END IF;
43 Close cur_old_ref_values;
44
45 -- Populate New Values.
46 new_references.person_id := x_person_id;
47 new_references.course_cd := x_course_cd;
48 new_references.award_cd := x_award_cd;
49 new_references.award_dt := x_award_dt;
50 new_references.ceremony_announced_ind := x_ceremony_announced_ind;
51 new_references.comments := x_comments;
52 new_references.org_id := x_org_id;
53 IF (p_action = 'UPDATE') THEN
54 new_references.creation_date := old_references.creation_date;
55 new_references.created_by := old_references.created_by;
56 ELSE
57 new_references.creation_date := x_creation_date;
58 new_references.created_by := x_created_by;
59 END IF;
60 new_references.last_update_date := x_last_update_date;
61 new_references.last_updated_by := x_last_updated_by;
62 new_references.last_update_login := x_last_update_login;
63
64 END Set_Column_Values;
65
66 -- Trigger description :-
67 -- "OSS_TST".trg_spa_br_iu
68 -- BEFORE INSERT OR UPDATE
69 -- ON IGS_GR_SPECIAL_AWARD_ALL
70 -- FOR EACH ROW
71
72 PROCEDURE BeforeRowInsertUpdate1(
73 p_inserting IN BOOLEAN DEFAULT FALSE,
74 p_updating IN BOOLEAN DEFAULT FALSE,
75 p_deleting IN BOOLEAN DEFAULT FALSE
76 ) AS
77 v_message_name VARCHAR2(30);
78 BEGIN
79 IF p_inserting OR (p_updating AND new_references.award_cd <> old_references.award_cd) THEN
80 -- Validate the award is not closed
81 IF igs_gr_val_awc.crsp_val_aw_closed(
82 new_references.award_cd,
83 v_message_name) = FALSE THEN
84 Fnd_Message.Set_Name('IGS', v_message_name);
85 App_Exception.Raise_Exception;
86 END IF;
87 -- validate the system award type
88 IF IGS_GR_VAL_AWC.GRDP_VAL_AWARD_TYPE(
89 new_references.award_cd,
90 'SPECIAL',
91 v_message_name) = FALSE THEN
92 Fnd_Message.Set_Name('IGS', v_message_name);
93 App_Exception.Raise_Exception;
94 END IF;
95 END IF;
96
97
98 END BeforeRowInsertUpdate1;
99
100 PROCEDURE Check_Parent_Existance AS
101 BEGIN
102
103 IF (((old_references.award_cd = new_references.award_cd)) OR
104 ((new_references.award_cd IS NULL))) THEN
105 NULL;
106 ELSE
107 IF NOT IGS_PS_AWD_PKG.Get_PK_For_Validation (
108 new_references.award_cd
109 ) THEN
110 FND_MESSAGE.SET_NAME ('FND', 'FORM_RECORD_DELETED');
111 APP_EXCEPTION.RAISE_EXCEPTION;
112 END IF;
113
114 END IF;
115
116 IF (((old_references.person_id = new_references.person_id) AND
117 (old_references.course_cd = new_references.course_cd)) OR
118 ((new_references.person_id IS NULL) OR
119 (new_references.course_cd IS NULL))) THEN
120 NULL;
121 ELSE
122 IF NOT IGS_EN_STDNT_PS_ATT_PKG.Get_PK_For_Validation (
123 new_references.person_id,
124 new_references.course_cd
125 ) THEN
126 FND_MESSAGE.SET_NAME ('FND', 'FORM_RECORD_DELETED');
127 APP_EXCEPTION.RAISE_EXCEPTION;
128 END IF;
129
130 END IF;
131
132 END Check_Parent_Existance;
133
134 FUNCTION Get_PK_For_Validation (
135 x_person_id IN NUMBER,
136 x_course_cd IN VARCHAR2,
137 x_award_cd IN VARCHAR2,
138 x_award_dt IN DATE
139 ) RETURN BOOLEAN AS
140
141 CURSOR cur_rowid IS
142 SELECT rowid
143 FROM IGS_GR_SPECIAL_AWARD_ALL
144 WHERE person_id = x_person_id
145 AND course_cd = x_course_cd
146 AND award_cd = x_award_cd
147 AND award_dt = x_award_dt
148 FOR UPDATE NOWAIT;
149
150 lv_rowid cur_rowid%RowType;
151
152 BEGIN
153
154 Open cur_rowid;
155 Fetch cur_rowid INTO lv_rowid;
156 IF (cur_rowid%FOUND) THEN
157 Close cur_rowid;
158 Return (TRUE);
159 ELSE
160 Close cur_rowid;
161 Return (FALSE);
162 END IF;
163
164 END Get_PK_For_Validation;
165
166 PROCEDURE CHECK_CONSTRAINTS(
167 Column_Name IN VARCHAR2 DEFAULT NULL,
168 Column_Value IN VARCHAR2 DEFAULT NULL
169 ) AS
170 BEGIN
171 IF Column_Name is null THEN
172 NULL;
173 ELSIF upper(Column_name) = 'CEREMONY_ANNOUNCED_IND' THEN
174 new_references.CEREMONY_ANNOUNCED_IND:= COLUMN_VALUE ;
175
176 ELSIF upper(Column_name) = 'AWARD_CD' THEN
177 new_references.AWARD_CD:= COLUMN_VALUE ;
178
179 ELSIF upper(Column_name) = 'CEREMONY_ANNOUNCED_IND' THEN
180 new_references.CEREMONY_ANNOUNCED_IND:= COLUMN_VALUE ;
181
182 ELSIF upper(Column_name) = 'COURSE_CD' THEN
183 new_references.COURSE_CD:= COLUMN_VALUE ;
184 END IF ;
185
186 IF upper(Column_name) = 'CEREMONY_ANNOUNCED_IND' OR COLUMN_NAME IS NULL THEN
187 IF new_references.CEREMONY_ANNOUNCED_IND not in ('Y','N') then
188 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
189 App_Exception.Raise_Exception ;
190 END IF;
191
192 END IF ;
193
194 IF upper(Column_name) = 'AWARD_CD' OR COLUMN_NAME IS NULL THEN
195 IF new_references.AWARD_CD<> upper(new_references.AWARD_CD) then
196 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
197 App_Exception.Raise_Exception ;
198 END IF;
199 END IF ;
200
201 IF upper(Column_name) = 'COURSE_CD' OR COLUMN_NAME IS NULL THEN
202 IF new_references.COURSE_CD<> upper(new_references.COURSE_CD) then
203 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
204 App_Exception.Raise_Exception ;
205 END IF;
206
207 END IF ;
208
209 END CHECK_CONSTRAINTS;
210
211
212 PROCEDURE GET_FK_IGS_EN_STDNT_PS_ATT (
213 x_person_id IN NUMBER,
214 x_course_cd IN VARCHAR2
215 ) AS
216
217 CURSOR cur_rowid IS
218 SELECT rowid
219 FROM IGS_GR_SPECIAL_AWARD_ALL
220 WHERE person_id = x_person_id
221 AND course_cd = x_course_cd ;
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_GR_SPA_SCA_FK');
232 App_Exception.Raise_Exception;
233 Return;
234 END IF;
235 Close cur_rowid;
236
237 END GET_FK_IGS_EN_STDNT_PS_ATT;
238
239 PROCEDURE Before_DML (
240 p_action IN VARCHAR2,
241 x_rowid IN VARCHAR2 DEFAULT NULL,
242 x_person_id IN NUMBER DEFAULT NULL,
243 x_course_cd IN VARCHAR2 DEFAULT NULL,
244 x_award_cd IN VARCHAR2 DEFAULT NULL,
245 x_award_dt IN DATE DEFAULT NULL,
246 x_ceremony_announced_ind IN VARCHAR2 DEFAULT NULL,
247 x_comments IN VARCHAR2 DEFAULT NULL,
248 x_creation_date IN DATE DEFAULT NULL,
249 x_created_by IN NUMBER DEFAULT NULL,
250 x_last_update_date IN DATE DEFAULT NULL,
251 x_last_updated_by IN NUMBER DEFAULT NULL,
252 x_last_update_login IN NUMBER DEFAULT NULL,
253 x_org_id IN NUMBER DEFAULT NULL
254 ) AS
255 BEGIN
256
257 Set_Column_Values (
258 p_action,
259 x_rowid,
260 x_person_id,
261 x_course_cd,
262 x_award_cd,
263 x_award_dt,
264 x_ceremony_announced_ind,
265 x_comments,
266 x_creation_date,
267 x_created_by,
268 x_last_update_date,
269 x_last_updated_by,
270 x_last_update_login ,
271 x_org_id
272 );
273
274 IF (p_action = 'INSERT') THEN
275 -- Call all the procedures related to Before Insert.
276 BeforeRowInsertUpdate1 ( p_inserting => TRUE );
277 IF GET_PK_FOR_VALIDATION(
278 NEW_REFERENCES.person_id,
279 NEW_REFERENCES.course_cd,
280 NEW_REFERENCES.award_cd,
281 NEW_REFERENCES.award_dt
282 ) THEN
283 Fnd_Message.Set_Name('IGS','IGS_GE_MULTI_ORG_DUP_REC');
284 App_Exception.Raise_Exception;
285 END IF;
286
287 check_constraints;
288 Check_Parent_Existance;
289 ELSIF (p_action = 'UPDATE') THEN
290 -- Call all the procedures related to Before Update.
291 BeforeRowInsertUpdate1 ( p_updating => TRUE );
292
293 check_constraints;
294 Check_Parent_Existance;
295 ELSIF (p_action = 'VALIDATE_INSERT') THEN
296 IF GET_PK_FOR_VALIDATION(
297 NEW_REFERENCES.person_id,
298 NEW_REFERENCES.course_cd,
299 NEW_REFERENCES.award_cd,
300 NEW_REFERENCES.award_dt
301 ) THEN
302 Fnd_Message.Set_Name('IGS','IGS_GE_MULTI_ORG_DUP_REC');
303 App_Exception.Raise_Exception;
304 END IF;
305
306 check_constraints;
307 ELSIF (p_action = 'VALIDATE_UPDATE') THEN
308
309 check_constraints;
310 END IF;
311
312 END Before_DML;
313
314 procedure INSERT_ROW (
315 X_ROWID in out NOCOPY VARCHAR2,
316 X_PERSON_ID in NUMBER,
317 X_COURSE_CD in VARCHAR2,
318 X_AWARD_CD in VARCHAR2,
319 X_AWARD_DT in DATE,
320 X_CEREMONY_ANNOUNCED_IND in VARCHAR2,
321 X_COMMENTS in VARCHAR2,
322 X_MODE in VARCHAR2 default 'R',
323 X_ORG_ID in NUMBER
324 ) AS
325 cursor C is select ROWID from IGS_GR_SPECIAL_AWARD_ALL
326 where PERSON_ID = X_PERSON_ID
327 and COURSE_CD = X_COURSE_CD
328 and AWARD_CD = X_AWARD_CD
329 and AWARD_DT = X_AWARD_DT;
330 X_LAST_UPDATE_DATE DATE;
331 X_LAST_UPDATED_BY NUMBER;
332 X_LAST_UPDATE_LOGIN NUMBER;
333 begin
334 X_LAST_UPDATE_DATE := SYSDATE;
335 if(X_MODE = 'I') then
336 X_LAST_UPDATED_BY := 1;
337 X_LAST_UPDATE_LOGIN := 0;
338 elsif (X_MODE IN ('R', 'S')) then
339 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
340 if X_LAST_UPDATED_BY is NULL then
341 X_LAST_UPDATED_BY := -1;
342 end if;
343 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
344 if X_LAST_UPDATE_LOGIN is NULL then
345 X_LAST_UPDATE_LOGIN := -1;
346 end if;
347 else
348 FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
349 app_exception.raise_exception;
350 end if;
351
352 Before_DML (
353 p_action => 'INSERT',
354 x_rowid => X_ROWID,
355 x_person_id => X_PERSON_ID,
356 x_course_cd => X_COURSE_CD,
357 x_award_cd => X_AWARD_CD,
358 x_award_dt => X_AWARD_DT,
359 x_ceremony_announced_ind => NVL(X_CEREMONY_ANNOUNCED_IND, 'N'),
360 x_comments => X_COMMENTS,
361 x_creation_date => X_LAST_UPDATE_DATE,
362 x_created_by => X_LAST_UPDATED_BY,
363 x_last_update_date => X_LAST_UPDATE_DATE,
364 x_last_updated_by => X_LAST_UPDATED_BY,
365 x_last_update_login => X_LAST_UPDATE_LOGIN,
366 x_org_id => igs_ge_gen_003.get_org_id
367 );
368
369 IF (x_mode = 'S') THEN
370 igs_sc_gen_001.set_ctx('R');
371 END IF;
372 insert into IGS_GR_SPECIAL_AWARD_ALL (
373 PERSON_ID,
374 COURSE_CD,
375 AWARD_CD,
376 AWARD_DT,
377 CEREMONY_ANNOUNCED_IND,
378 COMMENTS,
379 CREATION_DATE,
380 CREATED_BY,
381 LAST_UPDATE_DATE,
382 LAST_UPDATED_BY,
383 LAST_UPDATE_LOGIN,
384 ORG_ID
385 ) values (
386 NEW_REFERENCES.PERSON_ID,
387 NEW_REFERENCES.COURSE_CD,
388 NEW_REFERENCES.AWARD_CD,
389 NEW_REFERENCES.AWARD_DT,
390 NEW_REFERENCES.CEREMONY_ANNOUNCED_IND,
391 NEW_REFERENCES.COMMENTS,
392 X_LAST_UPDATE_DATE,
393 X_LAST_UPDATED_BY,
394 X_LAST_UPDATE_DATE,
395 X_LAST_UPDATED_BY,
396 X_LAST_UPDATE_LOGIN,
400 igs_sc_gen_001.unset_ctx('R');
397 NEW_REFERENCES.ORG_ID
398 );
399 IF (x_mode = 'S') THEN
401 END IF;
402
403
404 open c;
405 fetch c into X_ROWID;
406 if (c%notfound) then
407 close c;
408 raise no_data_found;
409 end if;
410 close c;
411
412 EXCEPTION
413 WHEN OTHERS THEN
414 IF (SQLCODE IN (-28115, -28113, -28111)) THEN
415 fnd_message.set_name ('IGS', 'IGS_SC_POLICY_EXCEPTION');
416 fnd_message.set_token ('ERR_CD', SQLCODE);
417 igs_ge_msg_stack.add;
418 igs_sc_gen_001.unset_ctx('R');
419 app_exception.raise_exception;
420 ELSE
421 igs_sc_gen_001.unset_ctx('R');
422 RAISE;
423 END IF;
424
425 end INSERT_ROW;
426
427 procedure LOCK_ROW (
428 X_ROWID in VARCHAR2,
429 X_PERSON_ID in NUMBER,
430 X_COURSE_CD in VARCHAR2,
431 X_AWARD_CD in VARCHAR2,
432 X_AWARD_DT in DATE,
433 X_CEREMONY_ANNOUNCED_IND in VARCHAR2,
434 X_COMMENTS in VARCHAR2
435 ) AS
436 cursor c1 is select
437 CEREMONY_ANNOUNCED_IND,
438 COMMENTS
439 from IGS_GR_SPECIAL_AWARD_ALL
440 where ROWID = X_ROWID for update nowait;
441 tlinfo c1%rowtype;
442
443 begin
444 open c1;
445 fetch c1 into tlinfo;
446 if (c1%notfound) then
447 close c1;
448 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
449 app_exception.raise_exception;
450 return;
451 end if;
452 close c1;
453
454 if ( (tlinfo.CEREMONY_ANNOUNCED_IND = X_CEREMONY_ANNOUNCED_IND)
455 AND ((tlinfo.COMMENTS = X_COMMENTS)
456 OR ((tlinfo.COMMENTS is null)
457 AND (X_COMMENTS is null)))
458 ) then
459 null;
460 else
461 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
462 app_exception.raise_exception;
463 end if;
464 return;
465 end LOCK_ROW;
466
467 procedure UPDATE_ROW (
468 X_ROWID in VARCHAR2,
469 X_PERSON_ID in NUMBER,
470 X_COURSE_CD in VARCHAR2,
471 X_AWARD_CD in VARCHAR2,
472 X_AWARD_DT in DATE,
473 X_CEREMONY_ANNOUNCED_IND in VARCHAR2,
474 X_COMMENTS in VARCHAR2,
475 X_MODE in VARCHAR2 default 'R'
476 ) AS
477 X_LAST_UPDATE_DATE DATE;
478 X_LAST_UPDATED_BY NUMBER;
479 X_LAST_UPDATE_LOGIN NUMBER;
480 begin
481 X_LAST_UPDATE_DATE := SYSDATE;
482 if(X_MODE = 'I') then
483 X_LAST_UPDATED_BY := 1;
484 X_LAST_UPDATE_LOGIN := 0;
485 elsif (X_MODE IN ('R', 'S')) then
486 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
487 if X_LAST_UPDATED_BY is NULL then
488 X_LAST_UPDATED_BY := -1;
489 end if;
490 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
491 if X_LAST_UPDATE_LOGIN is NULL then
492 X_LAST_UPDATE_LOGIN := -1;
493 end if;
494 else
495 FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
496 app_exception.raise_exception;
497 end if;
498
499 Before_DML (
500 p_action => 'UPDATE',
501 x_rowid => X_ROWID,
502 x_person_id => X_PERSON_ID,
503 x_course_cd => X_COURSE_CD,
504 x_award_cd => X_AWARD_CD,
505 x_award_dt => X_AWARD_DT,
506 x_ceremony_announced_ind => X_CEREMONY_ANNOUNCED_IND,
507 x_comments => X_COMMENTS,
508 x_creation_date => X_LAST_UPDATE_DATE,
509 x_created_by => X_LAST_UPDATED_BY,
510 x_last_update_date => X_LAST_UPDATE_DATE,
511 x_last_updated_by => X_LAST_UPDATED_BY,
512 x_last_update_login => X_LAST_UPDATE_LOGIN
513 );
514
515 IF (x_mode = 'S') THEN
516 igs_sc_gen_001.set_ctx('R');
517 END IF;
518 update IGS_GR_SPECIAL_AWARD_ALL set
519 CEREMONY_ANNOUNCED_IND = NEW_REFERENCES.CEREMONY_ANNOUNCED_IND,
520 COMMENTS = NEW_REFERENCES.COMMENTS,
521 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
522 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
523 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
524 where ROWID = X_ROWID
525 ;
526 if (sql%notfound) then
527 fnd_message.set_name ('IGS', 'IGS_SC_POLICY_UPD_DEL_EXCEP');
528 igs_ge_msg_stack.add;
529 igs_sc_gen_001.unset_ctx('R');
530 app_exception.raise_exception;
531 end if;
532 IF (x_mode = 'S') THEN
533 igs_sc_gen_001.unset_ctx('R');
534 END IF;
535
536
537 EXCEPTION
538 WHEN OTHERS THEN
539 IF (SQLCODE = (-28115)) THEN
540 fnd_message.set_name ('IGS', 'IGS_SC_UPD_POLICY_EXCP');
541 fnd_message.set_token ('ERR_CD', SQLCODE);
542 igs_ge_msg_stack.add;
543 igs_sc_gen_001.unset_ctx('R');
544 app_exception.raise_exception;
545 ELSE
546 igs_sc_gen_001.unset_ctx('R');
547 RAISE;
548 END IF;
549
550 end UPDATE_ROW;
551
552 procedure ADD_ROW (
553 X_ROWID in out NOCOPY VARCHAR2,
554 X_PERSON_ID in NUMBER,
555 X_COURSE_CD in VARCHAR2,
556 X_AWARD_CD in VARCHAR2,
557 X_AWARD_DT in DATE,
558 X_CEREMONY_ANNOUNCED_IND in VARCHAR2,
559 X_COMMENTS in VARCHAR2,
560 X_MODE in VARCHAR2 default 'R',
561 X_ORG_ID in NUMBER
562 ) AS
563 cursor c1 is select rowid from IGS_GR_SPECIAL_AWARD_ALL
564 where PERSON_ID = X_PERSON_ID
565 and COURSE_CD = X_COURSE_CD
566 and AWARD_CD = X_AWARD_CD
567 and AWARD_DT = X_AWARD_DT
568 ;
569
570 begin
571 open c1;
572 fetch c1 into X_ROWID;
573 if (c1%notfound) then
574 close c1;
575 INSERT_ROW (
576 X_ROWID,
577 X_PERSON_ID,
578 X_COURSE_CD,
579 X_AWARD_CD,
580 X_AWARD_DT,
581 X_CEREMONY_ANNOUNCED_IND,
582 X_COMMENTS,
583 X_MODE,
584 x_org_id
585 );
586 return;
587 end if;
588 close c1;
589 UPDATE_ROW (
590 X_ROWID,
591 X_PERSON_ID,
592 X_COURSE_CD,
593 X_AWARD_CD,
594 X_AWARD_DT,
595 X_CEREMONY_ANNOUNCED_IND,
596 X_COMMENTS,
597 X_MODE
598 );
599 end ADD_ROW;
600
601 procedure DELETE_ROW (
602 X_ROWID in VARCHAR2,
603 x_mode IN VARCHAR2
604 ) AS
605 begin
606
607 IF (x_mode = 'S') THEN
608 igs_sc_gen_001.set_ctx('R');
609 END IF;
610 delete from IGS_GR_SPECIAL_AWARD_ALL
611 where ROWID = X_ROWID;
612 if (sql%notfound) then
613 fnd_message.set_name ('IGS', 'IGS_SC_POLICY_UPD_DEL_EXCEP');
614 igs_ge_msg_stack.add;
615 igs_sc_gen_001.unset_ctx('R');
616 app_exception.raise_exception;
617 end if;
618 IF (x_mode = 'S') THEN
619 igs_sc_gen_001.unset_ctx('R');
620 END IF;
621
622
623 end DELETE_ROW;
624
625 end IGS_GR_SPECIAL_AWARD_PKG;