DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AS_GRD_SCHEMA_PKG

Source


1 PACKAGE BODY IGS_AS_GRD_SCHEMA_PKG AS
2  /* $Header: IGSDI23B.pls 115.13 2003/10/09 09:44:18 anilk ship $ */
3 l_rowid VARCHAR2(25);
4   old_references IGS_AS_GRD_SCHEMA%ROWTYPE;
5   new_references IGS_AS_GRD_SCHEMA%ROWTYPE;
6 
7 PROCEDURE Set_Column_Values (
8     p_action IN VARCHAR2,
9     x_rowid IN VARCHAR2 DEFAULT NULL,
10     x_grading_schema_cd IN VARCHAR2 DEFAULT NULL,
11     x_version_number IN NUMBER DEFAULT NULL,
12     x_description IN VARCHAR2 DEFAULT NULL,
13     x_start_dt IN DATE DEFAULT NULL,
14     x_end_dt IN DATE DEFAULT NULL,
15     x_comments IN VARCHAR2 DEFAULT NULL,
16     x_attribute_category IN VARCHAR2 DEFAULT NULL,
17     x_attribute1 IN VARCHAR2 DEFAULT NULL,
18     x_attribute2 IN VARCHAR2 DEFAULT NULL,
19     x_attribute3 IN VARCHAR2 DEFAULT NULL,
20     x_attribute4 IN VARCHAR2 DEFAULT NULL,
21     x_attribute5 IN VARCHAR2 DEFAULT NULL,
22     x_attribute6 IN VARCHAR2 DEFAULT NULL,
23     x_attribute7 IN VARCHAR2 DEFAULT NULL,
24     x_attribute8 IN VARCHAR2 DEFAULT NULL,
25     x_attribute9 IN VARCHAR2 DEFAULT NULL,
26     x_attribute10 IN VARCHAR2 DEFAULT NULL,
27     x_attribute11 IN VARCHAR2 DEFAULT NULL,
28     x_attribute12 IN VARCHAR2 DEFAULT NULL,
29     x_attribute13 IN VARCHAR2 DEFAULT NULL,
30     x_attribute14 IN VARCHAR2 DEFAULT NULL,
31     x_attribute15 IN VARCHAR2 DEFAULT NULL,
32     x_attribute16 IN VARCHAR2 DEFAULT NULL,
33     x_attribute17 IN VARCHAR2 DEFAULT NULL,
34     x_attribute18 IN VARCHAR2 DEFAULT NULL,
35     x_attribute19 IN VARCHAR2 DEFAULT NULL,
36     x_attribute20 IN VARCHAR2 DEFAULT NULL,
37     x_creation_date IN DATE DEFAULT NULL,
38     x_created_by IN NUMBER DEFAULT NULL,
39     x_last_update_date IN DATE DEFAULT NULL,
40     x_last_updated_by IN NUMBER DEFAULT NULL,
41     x_last_update_login IN NUMBER DEFAULT NULL,
42     x_grading_schema_type IN VARCHAR2 DEFAULT NULL
43   ) AS
44 
45     CURSOR cur_old_ref_values IS
46       SELECT   *
47       FROM     IGS_AS_GRD_SCHEMA
48       WHERE    ROWID = x_rowid;
49 
50   BEGIN
51 
52     l_rowid := x_rowid;
53 
54     -- Code for setting the Old and New Reference Values.
55     -- Populate Old Values.
56     OPEN cur_old_ref_values;
57     FETCH cur_old_ref_values INTO old_references;
58     IF (cur_old_ref_values%NOTFOUND) AND (p_action  NOT IN ('INSERT','VALIDATE_INSERT')) THEN
59       Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
60       IGS_GE_MSG_STACK.ADD;
61 	   CLOSE cur_old_ref_values;
62       APP_EXCEPTION.RAISE_EXCEPTION;
63       RETURN;
64     END IF;
65     CLOSE cur_old_ref_values;
66 
67     -- Populate New Values.
68     new_references.grading_schema_cd := x_grading_schema_cd;
69     new_references.version_number := x_version_number;
70     new_references.description := x_description;
71     new_references.start_dt := x_start_dt;
72     new_references.end_dt := x_end_dt;
73     new_references.comments := x_comments;
74     new_references.attribute_category := x_attribute_category;
75     new_references.attribute1 := x_attribute1;
76     new_references.attribute2 := x_attribute2;
77     new_references.attribute3 := x_attribute3;
78     new_references.attribute4 := x_attribute4;
79     new_references.attribute5 := x_attribute5;
80     new_references.attribute6 := x_attribute6;
81     new_references.attribute7 := x_attribute7;
82     new_references.attribute8 := x_attribute8;
83     new_references.attribute9 := x_attribute9;
84     new_references.attribute10 := x_attribute10;
85     new_references.attribute11 := x_attribute11;
86     new_references.attribute12 := x_attribute12;
87     new_references.attribute13 := x_attribute13;
88     new_references.attribute14 := x_attribute14;
89     new_references.attribute15 := x_attribute15;
90     new_references.attribute16 := x_attribute16;
91     new_references.attribute17 := x_attribute17;
92     new_references.attribute18 := x_attribute18;
93     new_references.attribute19 := x_attribute19;
94     new_references.attribute20 := x_attribute20;
95     new_references.grading_schema_type := x_grading_schema_type;
96 
97     IF (p_action = 'UPDATE') THEN
98       new_references.creation_date := old_references.creation_date;
99       new_references.created_by := old_references.created_by;
100     ELSE
101       new_references.creation_date := x_creation_date;
102       new_references.created_by := x_created_by;
103     END IF;
104     new_references.last_update_date := x_last_update_date;
105     new_references.last_updated_by := x_last_updated_by;
106     new_references.last_update_login := x_last_update_login;
107 
108   END Set_Column_Values;
109 
110  PROCEDURE BeforeRowInsertUpdate1(
111     p_inserting IN BOOLEAN DEFAULT FALSE,
112     p_updating IN BOOLEAN DEFAULT FALSE,
113     p_deleting IN BOOLEAN DEFAULT FALSE
114     ) AS
115 	v_message_name		VARCHAR2(30);
116   BEGIN
117 	-- Validate that inserts/updates are allowed
118 	IF  p_inserting OR p_updating THEN
119 	    -- Validate if grading schema start dt > end dt
120 	    IF p_inserting OR p_updating THEN
121 		    IF	igs_ad_val_edtl.genp_val_strt_end_dt(new_references.start_dt,
122 							 new_references.end_dt,
123 							 v_message_name) = FALSE THEN
124 			FND_MESSAGE.SET_NAME('IGS',v_message_name);
125 			IGS_GE_MSG_STACK.ADD;
126 			APP_EXCEPTION.RAISE_EXCEPTION;
127 		    END IF;
128 	    END IF;
129 	END IF;
130 
131 
132   END BeforeRowInsertUpdate1;
133 
134   -- Trigger description :-
135   -- "OSS_TST".trg_gs_ar_iu
136   -- AFTER INSERT OR UPDATE
137   -- ON IGS_AS_GRD_SCHEMA
138   -- FOR EACH ROW
139 
140   PROCEDURE AfterRowInsertUpdate2(
141     p_inserting IN BOOLEAN DEFAULT FALSE,
142     p_updating IN BOOLEAN DEFAULT FALSE,
143     p_deleting IN BOOLEAN DEFAULT FALSE
144     ) AS
145     v_message_name	VARCHAR2(30);
146 
147   BEGIN
148 	IF  p_inserting OR p_updating THEN
149          IF  IGS_AS_VAL_GS.assp_val_gs_ovrlp (
150   					new_references.grading_schema_cd,
151   					new_references.version_number,
152   					new_references.start_dt,
153   					new_references.end_dt,
154   					v_message_name) = FALSE THEN
155             FND_MESSAGE.SET_NAME('IGS',v_message_name);
156             IGS_GE_MSG_STACK.ADD;
157 			APP_EXCEPTION.RAISE_EXCEPTION;
158   		END IF;
159 
160 
161 	END IF;
162 
163 
164   END AfterRowInsertUpdate2;
165 
166 
167 -- Added by DDEY for the checking the Foreign Key Relation
168 -- of with the table IGS_LOOKUPS_VIEW
169 
170   PROCEDURE GET_FK_IGS_LOOKUPS_VIEW (
171     x_grading_schema_type IN VARCHAR2
172                       )  IS
173 
174     CURSOR cur_rowid IS
175       SELECT   ROWID
176       FROM     IGS_AS_GRD_SCHEMA
177       WHERE    grading_schema_type = x_grading_schema_type ;
178 
179     lv_rowid cur_rowid%ROWTYPE;
180 
181   BEGIN
182     OPEN cur_rowid;
183     FETCH cur_rowid INTO lv_rowid;
184     IF (cur_rowid%FOUND) THEN
185       Fnd_Message.Set_Name ('IGS', 'IGS_AS_GS_LOV_FK');
186       IGS_GE_MSG_STACK.ADD;
187       CLOSE cur_rowid;
188       APP_EXCEPTION.RAISE_EXCEPTION;
189 
190       RETURN;
191     END IF;
192     CLOSE cur_rowid;
193   END GET_FK_IGS_LOOKUPS_VIEW;
194 
195 
196   -- Trigger description :-
197   -- "OSS_TST".trg_gs_as_iu
198   -- AFTER INSERT OR UPDATE
199   -- ON IGS_AS_GRD_SCHEMA
200 
201 
202   PROCEDURE Check_Child_Existance AS
203   BEGIN
204 
205     IGS_PS_OFR_PAT_PKG.GET_FK_IGS_AS_GRD_SCHEMA (
206       old_references.grading_schema_cd,
207       old_references.version_number
208       );
209 
210     IGS_AS_GRD_SCH_GRADE_PKG.GET_FK_IGS_AS_GRD_SCHEMA (
211       old_references.grading_schema_cd,
212       old_references.version_number
213       );
214 
215     IGS_EN_SU_ATTEMPT_PKG.GET_FK_IGS_AS_GRD_SCH_GRADE (
216       old_references.grading_schema_cd,
217       old_references.version_number
218       );
219 
220     IGS_PS_UNIT_OFR_OPT_PKG.GET_FK_IGS_AS_GRD_SCHEMA (
221       old_references.grading_schema_cd,
222       old_references.version_number
223       );
224 
225   ---Added on 13th may b'cos of the new relation with new table.,
226 
227    IGS_PS_UNIT_GRD_SCHM_PKG.GET_FK_IGS_AS_GRD_SCHEMA (
228      old_references.grading_schema_cd,
229 
230      old_references.version_number);
231 ---Added on 18th may
232 
233 IGS_PS_USEC_GRD_SCHM_PKG.GET_FK_IGS_AS_GRD_SCHEMA (
234                     old_references.GRADING_SCHEMA_CD ,
235                     old_references.VERSION_NUMBER
236                 );
237 
238 -- Added by DDEY as a part of Enhancement Bug # 2162831
239 
240 IGS_AS_UNITASS_ITEM_PKG.GET_FK_IGS_AS_GRD_SCHEMA (
241     old_references.grading_schema_cd ,
242     old_references.version_number
243     );
244 
245 -- Added by DDEY as a part of Enhancement Bug # 2162831
246 
247 IGS_PS_UNITASS_ITEM_PKG.GET_FK_IGS_AS_GRD_SCHEMA (
248     old_references.grading_schema_cd ,
249     old_references.version_number
250     );
251 
252  -- Added by aiyer for the build of PSCR015 Tertiary And Secondary Bug No #2216952
253 
254  IGS_PS_AWD_PKG.GET_FK_IGS_AS_GRD_SCHEMA (
255     old_references.grading_schema_cd   ,
256     old_references.version_number
257     );
258 
259  -- Added by ijeddy for the build of Program Completion Validation, Bug no 3129913
260  IGS_EN_SPA_AWD_AIM_PKG.GET_FK_IGS_AS_GRADING_SCH (
261     old_references.grading_schema_cd   ,
262     old_references.version_number
263     );
264 
265  -- Added by anilk for the build of Program Completion Validation , Bug# 3129913
266  IGS_EN_SPAA_HIST_PKG.GET_FK_IGS_AS_GRD_SCHEMA (
267     old_references.grading_schema_cd   ,
268     old_references.version_number
269     );
270 
271   END Check_Child_Existance;
272 
273   FUNCTION Get_PK_For_Validation (
274     x_grading_schema_cd IN VARCHAR2,
275     x_version_number IN NUMBER
276     ) RETURN BOOLEAN AS
277 
278     CURSOR cur_rowid IS
279       SELECT   ROWID
280       FROM     IGS_AS_GRD_SCHEMA
281       WHERE    grading_schema_cd = x_grading_schema_cd
282       AND      version_number = x_version_number
283       ;
284 
285     lv_rowid cur_rowid%ROWTYPE;
286 
287   BEGIN
288 
289     OPEN cur_rowid;
290     FETCH cur_rowid INTO lv_rowid;
291     	IF (cur_rowid%FOUND) THEN
292 	      CLOSE cur_rowid;
293 	      RETURN (TRUE);
294 	ELSE
295 	      CLOSE cur_rowid;
296 	      RETURN (FALSE);
297 	END IF;
298   END Get_PK_For_Validation;
299 
300   PROCEDURE Before_DML (
301     p_action IN VARCHAR2,
302     x_rowid IN  VARCHAR2 DEFAULT NULL,
303     x_grading_schema_cd IN VARCHAR2 DEFAULT NULL,
304     x_version_number IN NUMBER DEFAULT NULL,
305     x_description IN VARCHAR2 DEFAULT NULL,
306     x_start_dt IN DATE DEFAULT NULL,
307     x_end_dt IN DATE DEFAULT NULL,
308     x_comments IN VARCHAR2 DEFAULT NULL,
309     x_attribute_category IN VARCHAR2 DEFAULT NULL,
310     x_attribute1 IN VARCHAR2 DEFAULT NULL,
311     x_attribute2 IN VARCHAR2 DEFAULT NULL,
312     x_attribute3 IN VARCHAR2 DEFAULT NULL,
313     x_attribute4 IN VARCHAR2 DEFAULT NULL,
314     x_attribute5 IN VARCHAR2 DEFAULT NULL,
315     x_attribute6 IN VARCHAR2 DEFAULT NULL,
316     x_attribute7 IN VARCHAR2 DEFAULT NULL,
317     x_attribute8 IN VARCHAR2 DEFAULT NULL,
318     x_attribute9 IN VARCHAR2 DEFAULT NULL,
319     x_attribute10 IN VARCHAR2 DEFAULT NULL,
320     x_attribute11 IN VARCHAR2 DEFAULT NULL,
321     x_attribute12 IN VARCHAR2 DEFAULT NULL,
322     x_attribute13 IN VARCHAR2 DEFAULT NULL,
323     x_attribute14 IN VARCHAR2 DEFAULT NULL,
324     x_attribute15 IN VARCHAR2 DEFAULT NULL,
325     x_attribute16 IN VARCHAR2 DEFAULT NULL,
326     x_attribute17 IN VARCHAR2 DEFAULT NULL,
327     x_attribute18 IN VARCHAR2 DEFAULT NULL,
328     x_attribute19 IN VARCHAR2 DEFAULT NULL,
329     x_attribute20 IN VARCHAR2 DEFAULT NULL,
330     x_creation_date IN DATE DEFAULT NULL,
331     x_created_by IN NUMBER DEFAULT NULL,
332     x_last_update_date IN DATE DEFAULT NULL,
333     x_last_updated_by IN NUMBER DEFAULT NULL,
334     x_last_update_login IN NUMBER DEFAULT NULL,
335     x_grading_schema_type IN VARCHAR2 DEFAULT NULL
336   ) AS
337   BEGIN
338 
339     Set_Column_Values (
340       p_action,
341       x_rowid,
342       x_grading_schema_cd,
343       x_version_number,
344       x_description,
345       x_start_dt,
346       x_end_dt,
347       x_comments,
348       x_attribute_category,
349       x_attribute1,
350       x_attribute2,
351       x_attribute3,
352       x_attribute4,
353       x_attribute5,
354       x_attribute6,
355       x_attribute7,
356       x_attribute8,
357       x_attribute9,
358       x_attribute10,
359       x_attribute11,
360       x_attribute12,
361       x_attribute13,
362       x_attribute14,
363       x_attribute15,
364       x_attribute16,
365       x_attribute17,
366       x_attribute18,
367       x_attribute19,
368       x_attribute20,
369       x_creation_date,
370       x_created_by,
371       x_last_update_date,
372       x_last_updated_by,
373       x_last_update_login ,
374       x_grading_schema_type
375     );
376 
377     IF (p_action = 'INSERT') THEN
378       -- Call all the procedures related to Before Insert.
379       BeforeRowInsertUpdate1 ( p_inserting => TRUE );
380       	IF  Get_PK_For_Validation (
381 	         new_references.grading_schema_cd ,
382     new_references.version_number) THEN
383          Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
384          IGS_GE_MSG_STACK.ADD;
385 	         APP_EXCEPTION.RAISE_EXCEPTION;
386 	     END IF;
387 
388 	     Check_Constraints;
389 
390     ELSIF (p_action = 'UPDATE') THEN
391       -- Call all the procedures related to Before Update.
392       BeforeRowInsertUpdate1 ( p_updating => TRUE );
393       Check_Constraints;
394     ELSIF (p_action = 'DELETE') THEN
395       -- Call all the procedures related to Before Delete.
396 
397 	   check_child_existance ;
398 
399 	ELSIF (p_action = 'VALIDATE_INSERT') THEN
400 	     IF  Get_PK_For_Validation (
401 	         new_references.grading_schema_cd ,
402     new_references.version_number) THEN
403          Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
404          IGS_GE_MSG_STACK.ADD;
405 	         APP_EXCEPTION.RAISE_EXCEPTION;
406 	     END IF;
407 
408 	     Check_Constraints;
409 	ELSIF (p_action = 'VALIDATE_UPDATE') THEN
410 
411 	      Check_Constraints;
412 
413 ELSIF (p_action = 'VALIDATE_DELETE') THEN
414       Check_Child_Existance;
415     END IF;
416 
417   END Before_DML;
418 
419   PROCEDURE After_DML (
420     p_action IN VARCHAR2,
421     x_rowid IN VARCHAR2
422   ) AS
423   BEGIN
424 
425     l_rowid := x_rowid;
426 
427     IF (p_action = 'INSERT') THEN
428       -- Call all the procedures related to After Insert.
429       AfterRowInsertUpdate2 ( p_inserting => TRUE );
430 
431     ELSIF (p_action = 'UPDATE') THEN
432       -- Call all the procedures related to After Update.
433       AfterRowInsertUpdate2 ( p_updating => TRUE );
434 
435     END IF;
436 
437   END After_DML;
438 
439 PROCEDURE INSERT_ROW (
440   X_ROWID IN OUT NOCOPY VARCHAR2,
441   X_GRADING_SCHEMA_CD IN VARCHAR2,
442   X_VERSION_NUMBER IN NUMBER,
443   X_DESCRIPTION IN VARCHAR2,
444   X_START_DT IN DATE,
445   X_END_DT IN DATE,
446   X_COMMENTS IN VARCHAR2,
447        x_ATTRIBUTE_CATEGORY IN VARCHAR2,
448        x_ATTRIBUTE1 IN VARCHAR2,
449        x_ATTRIBUTE2 IN VARCHAR2,
450        x_ATTRIBUTE3 IN VARCHAR2,
451        x_ATTRIBUTE4 IN VARCHAR2,
452        x_ATTRIBUTE5 IN VARCHAR2,
453        x_ATTRIBUTE6 IN VARCHAR2,
454        x_ATTRIBUTE7 IN VARCHAR2,
455        x_ATTRIBUTE8 IN VARCHAR2,
456        x_ATTRIBUTE9 IN VARCHAR2,
457        x_ATTRIBUTE10 IN VARCHAR2,
458        x_ATTRIBUTE11 IN VARCHAR2,
459        x_ATTRIBUTE12 IN VARCHAR2,
460        x_ATTRIBUTE13 IN VARCHAR2,
461        x_ATTRIBUTE14 IN VARCHAR2,
462        x_ATTRIBUTE15 IN VARCHAR2,
463        x_ATTRIBUTE16 IN VARCHAR2,
464        x_ATTRIBUTE17 IN VARCHAR2,
465        x_ATTRIBUTE18 IN VARCHAR2,
466        x_ATTRIBUTE19 IN VARCHAR2,
467        x_ATTRIBUTE20 IN VARCHAR2,
468        X_MODE IN VARCHAR2 DEFAULT 'R',
469        x_grading_schema_type IN VARCHAR2
470 
471   ) AS
472     CURSOR C IS SELECT ROWID FROM IGS_AS_GRD_SCHEMA
473       WHERE GRADING_SCHEMA_CD = X_GRADING_SCHEMA_CD
474       AND VERSION_NUMBER = X_VERSION_NUMBER;
475     X_LAST_UPDATE_DATE DATE;
476     X_LAST_UPDATED_BY NUMBER;
477     X_LAST_UPDATE_LOGIN NUMBER;
478 BEGIN
479   X_LAST_UPDATE_DATE := SYSDATE;
480   IF(X_MODE = 'I') THEN
481     X_LAST_UPDATED_BY := 1;
482     X_LAST_UPDATE_LOGIN := 0;
483   ELSIF (X_MODE = 'R') THEN
484     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
485     IF X_LAST_UPDATED_BY IS NULL THEN
486       X_LAST_UPDATED_BY := -1;
487     END IF;
488     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
489     IF X_LAST_UPDATE_LOGIN IS NULL THEN
490       X_LAST_UPDATE_LOGIN := -1;
491     END IF;
492   ELSE
493     FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
494     IGS_GE_MSG_STACK.ADD;
495     APP_EXCEPTION.RAISE_EXCEPTION;
496   END IF;
497 Before_DML(
498  p_action=>'INSERT',
499  x_rowid=>X_ROWID,
500  x_comments=>X_COMMENTS,
501  x_description=>X_DESCRIPTION,
502  x_end_dt=>X_END_DT,
503  x_grading_schema_cd=>X_GRADING_SCHEMA_CD,
504  x_start_dt=>X_START_DT,
505  x_version_number=>X_VERSION_NUMBER,
506 x_attribute_category=>X_ATTRIBUTE_CATEGORY,
507 x_attribute1=>X_ATTRIBUTE1,
508 x_attribute2=>X_ATTRIBUTE2,
509 x_attribute3=>X_ATTRIBUTE3,
510 x_attribute4=>X_ATTRIBUTE4,
511 x_attribute5=>X_ATTRIBUTE5,
512 x_attribute6=>X_ATTRIBUTE6,
513 x_attribute7=>X_ATTRIBUTE7,
514 x_attribute8=>X_ATTRIBUTE8,
515 x_attribute9=>X_ATTRIBUTE9,
516 x_attribute10=>X_ATTRIBUTE10,
517 x_attribute11=>X_ATTRIBUTE11,
518 x_attribute12=>X_ATTRIBUTE12,
519 x_attribute13=>X_ATTRIBUTE13,
520 x_attribute14=>X_ATTRIBUTE14,
521 x_attribute15=>X_ATTRIBUTE15,
522 x_attribute16=>X_ATTRIBUTE16,
523 x_attribute17=>X_ATTRIBUTE17,
524 x_attribute18=>X_ATTRIBUTE18,
525 x_attribute19=>X_ATTRIBUTE19,
526 x_attribute20=>X_ATTRIBUTE20,
527  x_creation_date=>X_LAST_UPDATE_DATE,
528  x_created_by=>X_LAST_UPDATED_BY,
529  x_last_update_date=>X_LAST_UPDATE_DATE,
530  x_last_updated_by=>X_LAST_UPDATED_BY,
531  x_last_update_login=>X_LAST_UPDATE_LOGIN,
532  x_grading_schema_type => x_grading_schema_type
533  );
534   INSERT INTO IGS_AS_GRD_SCHEMA (
535     GRADING_SCHEMA_CD,
536     VERSION_NUMBER,
537     DESCRIPTION,
538     START_DT,
539     END_DT,
540     COMMENTS,
541 ATTRIBUTE_CATEGORY
542 ,ATTRIBUTE1
543 ,ATTRIBUTE2
544 ,ATTRIBUTE3
545 ,ATTRIBUTE4
546 ,ATTRIBUTE5
547 ,ATTRIBUTE6
548 ,ATTRIBUTE7
549 ,ATTRIBUTE8
550 ,ATTRIBUTE9
551 ,ATTRIBUTE10
552 ,ATTRIBUTE11
553 ,ATTRIBUTE12
554 ,ATTRIBUTE13
555 ,ATTRIBUTE14
556 ,ATTRIBUTE15
557 ,ATTRIBUTE16
558 ,ATTRIBUTE17
559 ,ATTRIBUTE18
560 ,ATTRIBUTE19
561 ,ATTRIBUTE20,
562     CREATION_DATE,
563     CREATED_BY,
564     LAST_UPDATE_DATE,
565     LAST_UPDATED_BY,
566     LAST_UPDATE_LOGIN,
567     grading_schema_type
568   ) VALUES (
569     NEW_REFERENCES.GRADING_SCHEMA_CD,
570     NEW_REFERENCES.VERSION_NUMBER,
571     NEW_REFERENCES.DESCRIPTION,
572     NEW_REFERENCES.START_DT,
573     NEW_REFERENCES.END_DT,
574     NEW_REFERENCES.COMMENTS
575 ,NEW_REFERENCES.ATTRIBUTE_CATEGORY
576 ,NEW_REFERENCES.ATTRIBUTE1
577 ,NEW_REFERENCES.ATTRIBUTE2
578 ,NEW_REFERENCES.ATTRIBUTE3
579 ,NEW_REFERENCES.ATTRIBUTE4
580 ,NEW_REFERENCES.ATTRIBUTE5
581 ,NEW_REFERENCES.ATTRIBUTE6
582 ,NEW_REFERENCES.ATTRIBUTE7
583 ,NEW_REFERENCES.ATTRIBUTE8
584 ,NEW_REFERENCES.ATTRIBUTE9
585 ,NEW_REFERENCES.ATTRIBUTE10
586 ,NEW_REFERENCES.ATTRIBUTE11
587 ,NEW_REFERENCES.ATTRIBUTE12
588 ,NEW_REFERENCES.ATTRIBUTE13
589 ,NEW_REFERENCES.ATTRIBUTE14
590 ,NEW_REFERENCES.ATTRIBUTE15
591 ,NEW_REFERENCES.ATTRIBUTE16
592 ,NEW_REFERENCES.ATTRIBUTE17
593 ,NEW_REFERENCES.ATTRIBUTE18
594 ,NEW_REFERENCES.ATTRIBUTE19
595 ,NEW_REFERENCES.ATTRIBUTE20,
596     X_LAST_UPDATE_DATE,
597     X_LAST_UPDATED_BY,
598     X_LAST_UPDATE_DATE,
599     X_LAST_UPDATED_BY,
600     X_LAST_UPDATE_LOGIN,
601     NEW_REFERENCES.grading_schema_type
602   );
603 
604   OPEN c;
605   FETCH c INTO X_ROWID;
606   IF (c%NOTFOUND) THEN
607     CLOSE c;
608     RAISE NO_DATA_FOUND;
609   END IF;
610   CLOSE c;
611 After_DML(
612   p_action => 'INSERT',
613   x_rowid => X_ROWID
614   );
615 END INSERT_ROW;
616 
617 PROCEDURE LOCK_ROW (
618   X_ROWID IN  VARCHAR2,
619   X_GRADING_SCHEMA_CD IN VARCHAR2,
620   X_VERSION_NUMBER IN NUMBER,
621   X_DESCRIPTION IN VARCHAR2,
622   X_START_DT IN DATE,
623   X_END_DT IN DATE,
624   X_COMMENTS IN VARCHAR2,
625        x_ATTRIBUTE_CATEGORY IN VARCHAR2,
626        x_ATTRIBUTE1 IN VARCHAR2,
627        x_ATTRIBUTE2 IN VARCHAR2,
628        x_ATTRIBUTE3 IN VARCHAR2,
629        x_ATTRIBUTE4 IN VARCHAR2,
630        x_ATTRIBUTE5 IN VARCHAR2,
631        x_ATTRIBUTE6 IN VARCHAR2,
632        x_ATTRIBUTE7 IN VARCHAR2,
633        x_ATTRIBUTE8 IN VARCHAR2,
634        x_ATTRIBUTE9 IN VARCHAR2,
635        x_ATTRIBUTE10 IN VARCHAR2,
636        x_ATTRIBUTE11 IN VARCHAR2,
637        x_ATTRIBUTE12 IN VARCHAR2,
638        x_ATTRIBUTE13 IN VARCHAR2,
639        x_ATTRIBUTE14 IN VARCHAR2,
640        x_ATTRIBUTE15 IN VARCHAR2,
641        x_ATTRIBUTE16 IN VARCHAR2,
642        x_ATTRIBUTE17 IN VARCHAR2,
643        x_ATTRIBUTE18 IN VARCHAR2,
644        x_ATTRIBUTE19 IN VARCHAR2,
645        x_ATTRIBUTE20 IN VARCHAR2,
646        x_grading_schema_type IN VARCHAR2
647 ) AS
648   CURSOR c1 IS SELECT
649       DESCRIPTION,
650       START_DT,
651       END_DT,
652       COMMENTS
653 ,      ATTRIBUTE_CATEGORY
654 ,      ATTRIBUTE1
655 ,      ATTRIBUTE2
656 ,      ATTRIBUTE3
657 ,      ATTRIBUTE4
658 ,      ATTRIBUTE5
659 ,      ATTRIBUTE6
660 ,      ATTRIBUTE7
661 ,      ATTRIBUTE8
662 ,      ATTRIBUTE9
663 ,      ATTRIBUTE10
664 ,      ATTRIBUTE11
665 ,      ATTRIBUTE12
666 ,      ATTRIBUTE13
667 ,      ATTRIBUTE14
668 ,      ATTRIBUTE15
669 ,      ATTRIBUTE16
670 ,      ATTRIBUTE17
671 ,      ATTRIBUTE18
672 ,      ATTRIBUTE19
673 ,      ATTRIBUTE20
674 ,      grading_schema_type
675     FROM IGS_AS_GRD_SCHEMA
676     WHERE ROWID = X_ROWID  FOR UPDATE  NOWAIT;
677   tlinfo c1%ROWTYPE;
678 
679 BEGIN
680   OPEN c1;
681   FETCH c1 INTO tlinfo;
682   IF (c1%NOTFOUND) THEN
683     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
684     IGS_GE_MSG_STACK.ADD;
685     APP_EXCEPTION.RAISE_EXCEPTION;
686     CLOSE c1;
687     RETURN;
688   END IF;
689   CLOSE c1;
690 
691   IF ( (tlinfo.DESCRIPTION = X_DESCRIPTION)
692       AND (tlinfo.START_DT = X_START_DT)
693       AND ((tlinfo.END_DT = X_END_DT)
694            OR ((tlinfo.END_DT IS NULL)
695                AND (X_END_DT IS NULL)))
696       AND ((tlinfo.COMMENTS = X_COMMENTS)
697            OR ((tlinfo.COMMENTS IS NULL)
698                AND (X_COMMENTS IS NULL)))
699   AND ((tlinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
700  	    OR ((tlinfo.ATTRIBUTE_CATEGORY IS NULL)
701 		AND (X_ATTRIBUTE_CATEGORY IS NULL)))
702   AND ((tlinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
703  	    OR ((tlinfo.ATTRIBUTE1 IS NULL)
704 		AND (X_ATTRIBUTE1 IS NULL)))
705   AND ((tlinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
706  	    OR ((tlinfo.ATTRIBUTE2 IS NULL)
707 		AND (X_ATTRIBUTE2 IS NULL)))
708   AND ((tlinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
709  	    OR ((tlinfo.ATTRIBUTE3 IS NULL)
710 		AND (X_ATTRIBUTE3 IS NULL)))
711   AND ((tlinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
712  	    OR ((tlinfo.ATTRIBUTE4 IS NULL)
713 		AND (X_ATTRIBUTE4 IS NULL)))
714   AND ((tlinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
715  	    OR ((tlinfo.ATTRIBUTE5 IS NULL)
716 		AND (X_ATTRIBUTE5 IS NULL)))
717   AND ((tlinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
718  	    OR ((tlinfo.ATTRIBUTE6 IS NULL)
719 		AND (X_ATTRIBUTE6 IS NULL)))
720   AND ((tlinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
721  	    OR ((tlinfo.ATTRIBUTE7 IS NULL)
722 		AND (X_ATTRIBUTE7 IS NULL)))
723   AND ((tlinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
724  	    OR ((tlinfo.ATTRIBUTE8 IS NULL)
725 		AND (X_ATTRIBUTE8 IS NULL)))
726   AND ((tlinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
727  	    OR ((tlinfo.ATTRIBUTE9 IS NULL)
728 		AND (X_ATTRIBUTE9 IS NULL)))
729   AND ((tlinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
730  	    OR ((tlinfo.ATTRIBUTE10 IS NULL)
731 		AND (X_ATTRIBUTE10 IS NULL)))
732   AND ((tlinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
733  	    OR ((tlinfo.ATTRIBUTE11 IS NULL)
734 		AND (X_ATTRIBUTE11 IS NULL)))
735   AND ((tlinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
736  	    OR ((tlinfo.ATTRIBUTE12 IS NULL)
737 		AND (X_ATTRIBUTE12 IS NULL)))
738   AND ((tlinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
739  	    OR ((tlinfo.ATTRIBUTE13 IS NULL)
740 		AND (X_ATTRIBUTE13 IS NULL)))
741   AND ((tlinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
742  	    OR ((tlinfo.ATTRIBUTE14 IS NULL)
743 		AND (X_ATTRIBUTE14 IS NULL)))
744   AND ((tlinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
745  	    OR ((tlinfo.ATTRIBUTE15 IS NULL)
746 		AND (X_ATTRIBUTE15 IS NULL)))
747   AND ((tlinfo.ATTRIBUTE16 = X_ATTRIBUTE16)
748  	    OR ((tlinfo.ATTRIBUTE16 IS NULL)
749 		AND (X_ATTRIBUTE16 IS NULL)))
750   AND ((tlinfo.ATTRIBUTE17 = X_ATTRIBUTE17)
751  	    OR ((tlinfo.ATTRIBUTE17 IS NULL)
752 		AND (X_ATTRIBUTE17 IS NULL)))
753   AND ((tlinfo.ATTRIBUTE18 = X_ATTRIBUTE18)
754  	    OR ((tlinfo.ATTRIBUTE18 IS NULL)
755 		AND (X_ATTRIBUTE18 IS NULL)))
756   AND ((tlinfo.ATTRIBUTE19 = X_ATTRIBUTE19)
757  	    OR ((tlinfo.ATTRIBUTE19 IS NULL)
758 		AND (X_ATTRIBUTE19 IS NULL)))
759   AND ((tlinfo.ATTRIBUTE20 = X_ATTRIBUTE20)
760  	    OR ((tlinfo.ATTRIBUTE20 IS NULL)
761 		AND (X_ATTRIBUTE20 IS NULL)))
762  AND ((tlinfo.grading_schema_type = X_grading_schema_type)
763  	    OR ((tlinfo.grading_schema_type IS NULL)
764 		AND (x_grading_schema_type IS NULL)))
765 
766   ) THEN
767     NULL;
768   ELSE
769     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
770     IGS_GE_MSG_STACK.ADD;
771     APP_EXCEPTION.RAISE_EXCEPTION;
772   END IF;
773   RETURN;
774 END LOCK_ROW;
775 
776 PROCEDURE UPDATE_ROW (
777   X_ROWID IN  VARCHAR2,
778   X_GRADING_SCHEMA_CD IN VARCHAR2,
779   X_VERSION_NUMBER IN NUMBER,
780   X_DESCRIPTION IN VARCHAR2,
781   X_START_DT IN DATE,
782   X_END_DT IN DATE,
783   X_COMMENTS IN VARCHAR2,
784        x_ATTRIBUTE_CATEGORY IN VARCHAR2,
785        x_ATTRIBUTE1 IN VARCHAR2,
786        x_ATTRIBUTE2 IN VARCHAR2,
787        x_ATTRIBUTE3 IN VARCHAR2,
788        x_ATTRIBUTE4 IN VARCHAR2,
789        x_ATTRIBUTE5 IN VARCHAR2,
790        x_ATTRIBUTE6 IN VARCHAR2,
791        x_ATTRIBUTE7 IN VARCHAR2,
792        x_ATTRIBUTE8 IN VARCHAR2,
793        x_ATTRIBUTE9 IN VARCHAR2,
794        x_ATTRIBUTE10 IN VARCHAR2,
795        x_ATTRIBUTE11 IN VARCHAR2,
796        x_ATTRIBUTE12 IN VARCHAR2,
797        x_ATTRIBUTE13 IN VARCHAR2,
798        x_ATTRIBUTE14 IN VARCHAR2,
799        x_ATTRIBUTE15 IN VARCHAR2,
800        x_ATTRIBUTE16 IN VARCHAR2,
801        x_ATTRIBUTE17 IN VARCHAR2,
802        x_ATTRIBUTE18 IN VARCHAR2,
803        x_ATTRIBUTE19 IN VARCHAR2,
804        x_ATTRIBUTE20 IN VARCHAR2,
805        X_MODE IN VARCHAR2 DEFAULT 'R',
806        x_grading_schema_type IN VARCHAR2
807 
808   ) AS
809     X_LAST_UPDATE_DATE DATE;
810     X_LAST_UPDATED_BY NUMBER;
811     X_LAST_UPDATE_LOGIN NUMBER;
812 BEGIN
813   X_LAST_UPDATE_DATE := SYSDATE;
814   IF(X_MODE = 'I') THEN
815     X_LAST_UPDATED_BY := 1;
816     X_LAST_UPDATE_LOGIN := 0;
817   ELSIF (X_MODE = 'R') THEN
818     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
819     IF X_LAST_UPDATED_BY IS NULL THEN
820       X_LAST_UPDATED_BY := -1;
821     END IF;
822     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
823     IF X_LAST_UPDATE_LOGIN IS NULL THEN
824       X_LAST_UPDATE_LOGIN := -1;
825     END IF;
826   ELSE
827     FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
828     IGS_GE_MSG_STACK.ADD;
829     APP_EXCEPTION.RAISE_EXCEPTION;
830   END IF;
831 Before_DML(
832  p_action=>'UPDATE',
833  x_rowid=>X_ROWID,
834  x_comments=>X_COMMENTS,
835  x_description=>X_DESCRIPTION,
836  x_end_dt=>X_END_DT,
837  x_grading_schema_cd=>X_GRADING_SCHEMA_CD,
838  x_start_dt=>X_START_DT,
839  x_version_number=>X_VERSION_NUMBER,
840 x_attribute_category=>X_ATTRIBUTE_CATEGORY,
841 x_attribute1=>X_ATTRIBUTE1,
842 x_attribute2=>X_ATTRIBUTE2,
843 x_attribute3=>X_ATTRIBUTE3,
844 x_attribute4=>X_ATTRIBUTE4,
845 x_attribute5=>X_ATTRIBUTE5,
846 x_attribute6=>X_ATTRIBUTE6,
847 x_attribute7=>X_ATTRIBUTE7,
848 x_attribute8=>X_ATTRIBUTE8,
849 x_attribute9=>X_ATTRIBUTE9,
850 x_attribute10=>X_ATTRIBUTE10,
851 x_attribute11=>X_ATTRIBUTE11,
852 x_attribute12=>X_ATTRIBUTE12,
853 x_attribute13=>X_ATTRIBUTE13,
854 x_attribute14=>X_ATTRIBUTE14,
855 x_attribute15=>X_ATTRIBUTE15,
856 x_attribute16=>X_ATTRIBUTE16,
857 x_attribute17=>X_ATTRIBUTE17,
858 x_attribute18=>X_ATTRIBUTE18,
859 x_attribute19=>X_ATTRIBUTE19,
860 x_attribute20=>X_ATTRIBUTE20,
861  x_creation_date=>X_LAST_UPDATE_DATE,
862  x_created_by=>X_LAST_UPDATED_BY,
863  x_last_update_date=>X_LAST_UPDATE_DATE,
864  x_last_updated_by=>X_LAST_UPDATED_BY,
865  x_last_update_login=>X_LAST_UPDATE_LOGIN,
866  x_grading_schema_type =>x_grading_schema_type
867  );
868   UPDATE IGS_AS_GRD_SCHEMA SET
869     DESCRIPTION = NEW_REFERENCES.DESCRIPTION,
870     START_DT = NEW_REFERENCES.START_DT,
871     END_DT = NEW_REFERENCES.END_DT,
872     COMMENTS = NEW_REFERENCES.COMMENTS,
873       ATTRIBUTE_CATEGORY =  NEW_REFERENCES.ATTRIBUTE_CATEGORY,
874       ATTRIBUTE1 =  NEW_REFERENCES.ATTRIBUTE1,
875       ATTRIBUTE2 =  NEW_REFERENCES.ATTRIBUTE2,
876       ATTRIBUTE3 =  NEW_REFERENCES.ATTRIBUTE3,
877       ATTRIBUTE4 =  NEW_REFERENCES.ATTRIBUTE4,
878       ATTRIBUTE5 =  NEW_REFERENCES.ATTRIBUTE5,
879       ATTRIBUTE6 =  NEW_REFERENCES.ATTRIBUTE6,
880       ATTRIBUTE7 =  NEW_REFERENCES.ATTRIBUTE7,
881       ATTRIBUTE8 =  NEW_REFERENCES.ATTRIBUTE8,
882       ATTRIBUTE9 =  NEW_REFERENCES.ATTRIBUTE9,
883       ATTRIBUTE10 =  NEW_REFERENCES.ATTRIBUTE10,
884       ATTRIBUTE11 =  NEW_REFERENCES.ATTRIBUTE11,
885       ATTRIBUTE12 =  NEW_REFERENCES.ATTRIBUTE12,
886       ATTRIBUTE13 =  NEW_REFERENCES.ATTRIBUTE13,
887       ATTRIBUTE14 =  NEW_REFERENCES.ATTRIBUTE14,
888       ATTRIBUTE15 =  NEW_REFERENCES.ATTRIBUTE15,
889       ATTRIBUTE16 =  NEW_REFERENCES.ATTRIBUTE16,
890       ATTRIBUTE17 =  NEW_REFERENCES.ATTRIBUTE17,
891       ATTRIBUTE18 =  NEW_REFERENCES.ATTRIBUTE18,
892       ATTRIBUTE19 =  NEW_REFERENCES.ATTRIBUTE19,
893       ATTRIBUTE20 =  NEW_REFERENCES.ATTRIBUTE20,
894     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
895     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
896     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
897     grading_schema_type = NEW_REFERENCES.grading_schema_type
898   WHERE ROWID = X_ROWID;
899   IF (SQL%NOTFOUND) THEN
900     RAISE NO_DATA_FOUND;
901   END IF;
902 After_DML(
903   p_action => 'UPDATE',
904   x_rowid => X_ROWID
905   );
906 
907 END UPDATE_ROW;
908 
909 PROCEDURE ADD_ROW (
910   X_ROWID IN OUT NOCOPY VARCHAR2,
911   X_GRADING_SCHEMA_CD IN VARCHAR2,
912   X_VERSION_NUMBER IN NUMBER,
913   X_DESCRIPTION IN VARCHAR2,
914   X_START_DT IN DATE,
915   X_END_DT IN DATE,
916   X_COMMENTS IN VARCHAR2,
917 x_ATTRIBUTE_CATEGORY IN VARCHAR2,
918 x_ATTRIBUTE1 IN VARCHAR2,
919 x_ATTRIBUTE2 IN VARCHAR2,
920 x_ATTRIBUTE3 IN VARCHAR2,
921 x_ATTRIBUTE4 IN VARCHAR2,
922 x_ATTRIBUTE5 IN VARCHAR2,
923 x_ATTRIBUTE6 IN VARCHAR2,
924 x_ATTRIBUTE7 IN VARCHAR2,
925 x_ATTRIBUTE8 IN VARCHAR2,
926 x_ATTRIBUTE9 IN VARCHAR2,
927 x_ATTRIBUTE10 IN VARCHAR2,
928 x_ATTRIBUTE11 IN VARCHAR2,
929 x_ATTRIBUTE12 IN VARCHAR2,
930 x_ATTRIBUTE13 IN VARCHAR2,
931 x_ATTRIBUTE14 IN VARCHAR2,
932 x_ATTRIBUTE15 IN VARCHAR2,
933 x_ATTRIBUTE16 IN VARCHAR2,
934 x_ATTRIBUTE17 IN VARCHAR2,
935 x_ATTRIBUTE18 IN VARCHAR2,
936 x_ATTRIBUTE19 IN VARCHAR2,
937 x_ATTRIBUTE20 IN VARCHAR2,
938 X_MODE IN VARCHAR2 DEFAULT 'R',
939 x_grading_schema_type IN VARCHAR2
940   ) AS
941   CURSOR c1 IS SELECT ROWID FROM IGS_AS_GRD_SCHEMA
942      WHERE GRADING_SCHEMA_CD = X_GRADING_SCHEMA_CD
943      AND VERSION_NUMBER = X_VERSION_NUMBER;
944 BEGIN
945   OPEN c1;
946   FETCH c1 INTO X_ROWID;
947   IF (c1%NOTFOUND) THEN
948     CLOSE c1;
949     INSERT_ROW (
950      X_ROWID,
951      X_GRADING_SCHEMA_CD,
952      X_VERSION_NUMBER,
953      X_DESCRIPTION,
954      X_START_DT,
955      X_END_DT,
956      X_COMMENTS,
957        X_ATTRIBUTE_CATEGORY,
958        X_ATTRIBUTE1,
959        X_ATTRIBUTE2,
960        X_ATTRIBUTE3,
961        X_ATTRIBUTE4,
962        X_ATTRIBUTE5,
963        X_ATTRIBUTE6,
964        X_ATTRIBUTE7,
965        X_ATTRIBUTE8,
966        X_ATTRIBUTE9,
967        X_ATTRIBUTE10,
968        X_ATTRIBUTE11,
969        X_ATTRIBUTE12,
970        X_ATTRIBUTE13,
971        X_ATTRIBUTE14,
972        X_ATTRIBUTE15,
973        X_ATTRIBUTE16,
974        X_ATTRIBUTE17,
975        X_ATTRIBUTE18,
976        X_ATTRIBUTE19,
977        X_ATTRIBUTE20,
978      X_MODE,
979      x_grading_schema_type );
980     RETURN;
981   END IF;
982   CLOSE c1;
983   UPDATE_ROW (
984    X_ROWID,
985    X_GRADING_SCHEMA_CD,
986    X_VERSION_NUMBER,
987    X_DESCRIPTION,
988    X_START_DT,
989    X_END_DT,
990    X_COMMENTS,
991        X_ATTRIBUTE_CATEGORY,
992        X_ATTRIBUTE1,
993        X_ATTRIBUTE2,
994        X_ATTRIBUTE3,
995        X_ATTRIBUTE4,
996        X_ATTRIBUTE5,
997        X_ATTRIBUTE6,
998        X_ATTRIBUTE7,
999        X_ATTRIBUTE8,
1000        X_ATTRIBUTE9,
1001        X_ATTRIBUTE10,
1002        X_ATTRIBUTE11,
1003        X_ATTRIBUTE12,
1004        X_ATTRIBUTE13,
1005        X_ATTRIBUTE14,
1006        X_ATTRIBUTE15,
1007        X_ATTRIBUTE16,
1008        X_ATTRIBUTE17,
1009        X_ATTRIBUTE18,
1010        X_ATTRIBUTE19,
1011        X_ATTRIBUTE20,
1012    X_MODE,
1013    x_grading_schema_type );
1014 END ADD_ROW;
1015 
1016 
1017 	PROCEDURE Check_Constraints (
1018 	Column_Name	IN	VARCHAR2	DEFAULT NULL,
1019 	Column_Value 	IN	VARCHAR2	DEFAULT NULL
1020 	)
1021 	AS
1022 	BEGIN
1023 	IF  column_name IS NULL THEN
1024 	    NULL;
1025             ELSIF UPPER(Column_name) = 'GRADING_SCHEMA_CD' THEN
1026                 new_references.GRADING_SCHEMA_CD := column_value;
1027             ELSIF UPPER(Column_name) = 'VERSION_NUMBER' THEN
1028                 new_references.VERSION_NUMBER := igs_ge_number.to_num(column_value);
1029 	END IF;
1030 
1031 
1032 IF UPPER(column_name) = 'GRADING_SCHEMA_CD' OR
1033      column_name IS NULL THEN
1034      IF new_references.GRADING_SCHEMA_CD <> UPPER(new_references.GRADING_SCHEMA_CD) THEN
1035        Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
1036        IGS_GE_MSG_STACK.ADD;
1037        APP_EXCEPTION.RAISE_EXCEPTION;
1038                    END IF;
1039               END IF;
1040 IF UPPER(column_name) = 'VERSION_NUMBER' OR
1041      column_name IS NULL THEN
1042      IF new_references.VERSION_NUMBER <  0 OR new_references.VERSION_NUMBER >  999 THEN
1043        Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
1044        IGS_GE_MSG_STACK.ADD;
1045        APP_EXCEPTION.RAISE_EXCEPTION;
1046      END IF;
1047 END IF;
1048 
1049 END Check_Constraints;
1050 
1051 END IGS_AS_GRD_SCHEMA_PKG;