DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AV_STD_UNT_BASIS_PKG

Source


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