DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AS_ASSESSMNT_TYP_PKG

Source


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