DBA Data[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;