DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PR_STDNT_PR_UNIT_PKG

Source


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