DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PR_OU_UNIT_PKG

Source


1 package body IGS_PR_OU_UNIT_PKG as
2 /* $Header: IGSQI07B.pls 115.7 2003/02/25 09:15:13 anilk ship $ */
3 
4 l_rowid VARCHAR2(25);
5   old_references IGS_PR_OU_UNIT_ALL%RowType;
6   new_references IGS_PR_OU_UNIT_ALL%RowType;
7 
8   PROCEDURE Set_Column_Values (
9     p_action IN VARCHAR2,
10     x_rowid IN VARCHAR2 DEFAULT NULL,
11     x_progression_rule_cat IN VARCHAR2 DEFAULT NULL,
12     x_pra_sequence_number IN NUMBER DEFAULT NULL,
13     x_pro_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     x_org_id IN NUMBER DEFAULT NULL
22   ) AS
23 
24     CURSOR cur_old_ref_values IS
25       SELECT   *
26       FROM     IGS_PR_OU_UNIT_ALL
27       WHERE    rowid = x_rowid;
28 
29   BEGIN
30 
31     l_rowid := x_rowid;
32 
33     -- Code for setting the Old and New Reference Values.
34     -- Populate Old Values.
35     Open cur_old_ref_values;
36     Fetch cur_old_ref_values INTO old_references;
37     IF (cur_old_ref_values%NOTFOUND) AND (p_action not in ('INSERT','VALIDATE_INSERT')) THEN
38       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.progression_rule_cat := x_progression_rule_cat;
48     new_references.pra_sequence_number := x_pra_sequence_number;
49     new_references.pro_sequence_number := x_pro_sequence_number;
50     new_references.unit_cd := x_unit_cd;
51     new_references.s_unit_type := x_s_unit_type;
52     new_references.org_id := x_org_id;
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 
68   PROCEDURE Check_Parent_Existance AS
69   BEGIN
70 
71     IF (((old_references.progression_rule_cat = new_references.progression_rule_cat) AND
72          (old_references.pra_sequence_number = new_references.pra_sequence_number) AND
73          (old_references.pro_sequence_number = new_references.pro_sequence_number)) OR
74         ((new_references.progression_rule_cat IS NULL) OR
75          (new_references.pra_sequence_number IS NULL) OR
76          (new_references.pro_sequence_number IS NULL))) THEN
77       NULL;
78     ELSE
79       IF NOT IGS_PR_RU_OU_PKG.Get_PK_For_Validation (
80         new_references.progression_rule_cat,
81         new_references.pra_sequence_number,
82         new_references.pro_sequence_number
83         ) THEN
84         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
85       IGS_GE_MSG_STACK.ADD;
86         App_Exception.Raise_Exception;
87       END IF;
88     END IF;
89 
90     IF (((old_references.unit_cd = new_references.unit_cd)) OR
91         ((new_references.unit_cd IS NULL))) THEN
92       NULL;
93     ELSE
94       IF NOT IGS_PS_UNIT_PKG.Get_PK_For_Validation (
95         new_references.unit_cd
96         ) THEN
97         Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
98       IGS_GE_MSG_STACK.ADD;
99         App_Exception.Raise_Exception;
100       END IF;
101     END IF;
102 
103   END Check_Parent_Existance;
104 
105   FUNCTION Get_PK_For_Validation (
106     x_progression_rule_cat IN VARCHAR2,
107     x_pra_sequence_number IN NUMBER,
108     x_pro_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_OU_UNIT_ALL
115       WHERE    progression_rule_cat = x_progression_rule_cat
116       AND      pra_sequence_number = x_pra_sequence_number
117       AND      pro_sequence_number = x_pro_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_RU_OU (
138     x_progression_rule_cat IN VARCHAR2,
139     x_pra_sequence_number IN NUMBER,
140     x_sequence_number IN NUMBER
141     ) AS
142 
143     CURSOR cur_rowid IS
144       SELECT   rowid
145       FROM     IGS_PR_OU_UNIT_ALL
146       WHERE    progression_rule_cat = x_progression_rule_cat
147       AND      pra_sequence_number = x_pra_sequence_number
148       AND      pro_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_POPU_PRO_FK');
158       IGS_GE_MSG_STACK.ADD;
159 	  Close cur_rowid;
160       App_Exception.Raise_Exception;
161       Return;
162     END IF;
163     Close cur_rowid;
164 
165   END GET_FK_IGS_PR_RU_OU;
166 
167   PROCEDURE GET_FK_IGS_PS_UNIT (
168     x_unit_cd IN VARCHAR2
169     ) AS
170 
171     CURSOR cur_rowid IS
172       SELECT   rowid
173       FROM     IGS_PR_OU_UNIT_ALL
174       WHERE    unit_cd = x_unit_cd ;
175 
176     lv_rowid cur_rowid%RowType;
177 
178   BEGIN
179 
180     Open cur_rowid;
181     Fetch cur_rowid INTO lv_rowid;
182     IF (cur_rowid%FOUND) THEN
183       Fnd_Message.Set_Name ('IGS', 'IGS_PR_POPU_UN_FK');
184       IGS_GE_MSG_STACK.ADD;
185 	  Close cur_rowid;
186       App_Exception.Raise_Exception;
187       Return;
188     END IF;
189     Close cur_rowid;
190 
191   END GET_FK_IGS_PS_UNIT;
192 
193   PROCEDURE BeforeInsertUpdate( p_action VARCHAR2 ) AS
194   /*
195   ||  Created By : anilk
196   ||  Created On : 25-FEB-2003
197   ||  Known limitations, enhancements or remarks :
198   ||  Change History :
199   ||  Who             When            What
200   ||  (reverse chronological order - newest change first)
201   */
202     CURSOR c_parent (
203          cp_progression_rule_cat    IGS_PR_RU_OU.progression_rule_cat%TYPE,
204          cp_pra_sequence_number     IGS_PR_RU_OU.pra_sequence_number%TYPE,
205          cp_sequence_number         IGS_PR_RU_OU.sequence_number%TYPE  ) IS
206      SELECT 1
207      FROM   IGS_PR_RU_OU pro
208      WHERE  pro.progression_rule_cat = cp_progression_rule_cat    AND
209             pro.pra_sequence_number  = cp_pra_sequence_number AND
210             pro.sequence_number      = cp_sequence_number     AND
211             pro.logical_delete_dt is NULL;
212 
213     l_dummy NUMBER;
214 
215   BEGIN
216 
217    IF (p_action = 'INSERT') THEN
218       OPEN c_parent( new_references.progression_rule_cat, new_references.pra_sequence_number, new_references.pro_sequence_number );
219       FETCH c_parent INTO l_dummy;
220       IF c_parent%NOTFOUND THEN
221           CLOSE c_parent;
222           FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
223           IGS_GE_MSG_STACK.ADD;
224           APP_EXCEPTION.RAISE_EXCEPTION;
225       END IF;
226       CLOSE c_parent;
227    ELSIF(p_action = 'UPDATE') THEN
228       IF new_references.progression_rule_cat <> old_references.progression_rule_cat  OR
229          new_references.pra_sequence_number <> old_references.pra_sequence_number  OR
230          new_references.pro_sequence_number <> old_references.pro_sequence_number  THEN
231         OPEN c_parent( new_references.progression_rule_cat,  new_references.pra_sequence_number, new_references.pro_sequence_number );
232         FETCH c_parent INTO l_dummy;
233         IF c_parent%NOTFOUND THEN
234           CLOSE c_parent;
235           FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
236           IGS_GE_MSG_STACK.ADD;
237           APP_EXCEPTION.RAISE_EXCEPTION;
238         END IF;
239         CLOSE c_parent;
240       END IF;
241    END IF;
242 
243   END BeforeInsertUpdate;
244 
245 	PROCEDURE Before_DML (
246     p_action IN VARCHAR2,
247     x_rowid IN VARCHAR2 DEFAULT NULL,
248     x_progression_rule_cat IN VARCHAR2 DEFAULT NULL,
249     x_pra_sequence_number IN NUMBER DEFAULT NULL,
250     x_pro_sequence_number IN NUMBER DEFAULT NULL,
251     x_unit_cd IN VARCHAR2 DEFAULT NULL,
252     x_s_unit_type IN VARCHAR2 DEFAULT NULL,
253     x_creation_date IN DATE DEFAULT NULL,
254     x_created_by IN NUMBER DEFAULT NULL,
255     x_last_update_date IN DATE DEFAULT NULL,
256     x_last_updated_by IN NUMBER DEFAULT NULL,
257     x_last_update_login IN NUMBER DEFAULT NULL,
258     x_org_id IN NUMBER DEFAULT NULL
259   ) AS
260   BEGIN
261 
262     Set_Column_Values (
263       p_action,
264       x_rowid,
265       x_progression_rule_cat,
266       x_pra_sequence_number,
267       x_pro_sequence_number,
268       x_unit_cd,
269       x_s_unit_type,
270       x_creation_date,
271       x_created_by,
272       x_last_update_date,
273       x_last_updated_by,
274       x_last_update_login ,
275       x_org_id
276     );
277 
278     IF (p_action = 'INSERT') THEN
279       -- Call all the procedures related to Before Insert.
280 	IF Get_PK_For_Validation (
281          new_references.progression_rule_cat,
282          new_references.pra_sequence_number,
283          new_references.pro_sequence_number,
284          new_references.unit_cd
285          ) THEN
286         Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
287       IGS_GE_MSG_STACK.ADD;
288         App_Exception.Raise_Exception;
289       END IF;
290       Check_Constraints;
291       Check_Parent_Existance;
292     ELSIF (p_action = 'UPDATE') THEN
293       -- Call all the procedures related to Before Update.
294       Check_Constraints;
295       Check_Parent_Existance;
296     ELSIF (p_action = 'INSERT') THEN
297       -- Call all the procedures related to Before Insert.
298 	IF Get_PK_For_Validation (
299          new_references.progression_rule_cat,
300          new_references.pra_sequence_number,
301          new_references.pro_sequence_number,
302          new_references.unit_cd
303          ) THEN
304         Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
305       IGS_GE_MSG_STACK.ADD;
306         App_Exception.Raise_Exception;
307       END IF;
308       Check_Constraints;
309     ELSIF (p_action = 'UPDATE') THEN
310       -- Call all the procedures related to Before Update.
311       Check_Constraints;
312     END IF;
313 
314     -- anilk, bug#2784198
315     BeforeInsertUpdate(p_action);
316 
317   END Before_DML;
318 
319 procedure INSERT_ROW (
320   X_ROWID in out NOCOPY VARCHAR2,
321   X_PROGRESSION_RULE_CAT in VARCHAR2,
322   X_PRA_SEQUENCE_NUMBER in NUMBER,
323   X_PRO_SEQUENCE_NUMBER in NUMBER,
324   X_UNIT_CD in VARCHAR2,
325   X_S_UNIT_TYPE in VARCHAR2,
326   X_MODE in VARCHAR2 default 'R',
327   X_ORG_ID IN NUMBER
328   ) AS
329     cursor C is select ROWID from IGS_PR_OU_UNIT_ALL
330       where PROGRESSION_RULE_CAT = X_PROGRESSION_RULE_CAT
331       and PRA_SEQUENCE_NUMBER = X_PRA_SEQUENCE_NUMBER
332       and PRO_SEQUENCE_NUMBER = X_PRO_SEQUENCE_NUMBER
333       and UNIT_CD = X_UNIT_CD;
334     X_LAST_UPDATE_DATE DATE;
335     X_LAST_UPDATED_BY NUMBER;
336     X_LAST_UPDATE_LOGIN NUMBER;
337 begin
338   X_LAST_UPDATE_DATE := SYSDATE;
339   if(X_MODE = 'I') then
340     X_LAST_UPDATED_BY := 1;
341     X_LAST_UPDATE_LOGIN := 0;
342   elsif (X_MODE = 'R') then
343     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
344     if X_LAST_UPDATED_BY is NULL then
345       X_LAST_UPDATED_BY := -1;
346     end if;
347     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
348     if X_LAST_UPDATE_LOGIN is NULL then
349       X_LAST_UPDATE_LOGIN := -1;
350     end if;
351   else
352     FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
353       IGS_GE_MSG_STACK.ADD;
354     app_exception.raise_exception;
355   end if;
356 Before_DML (
357     p_action => 'INSERT',
358     x_rowid => x_rowid,
359     x_progression_rule_cat => x_progression_rule_cat,
360     x_pra_sequence_number => x_pra_sequence_number,
361     x_pro_sequence_number => x_pro_sequence_number,
362     x_unit_cd => x_unit_cd,
363     x_s_unit_type => x_s_unit_type,
364     x_creation_date => x_last_update_date,
365     x_created_by => x_last_updated_by,
366     x_last_update_date => x_last_update_date,
367     x_last_updated_by => x_last_updated_by,
368     x_last_update_login => x_last_update_login,
369     x_org_id => igs_ge_gen_003.get_org_id
370   );
371   insert into IGS_PR_OU_UNIT_ALL (
372     PROGRESSION_RULE_CAT,
373     PRA_SEQUENCE_NUMBER,
374     PRO_SEQUENCE_NUMBER,
375     UNIT_CD,
376     S_UNIT_TYPE,
377     CREATION_DATE,
378     CREATED_BY,
379     LAST_UPDATE_DATE,
380     LAST_UPDATED_BY,
381     LAST_UPDATE_LOGIN,
382     ORG_ID
383   ) values (
384     NEW_REFERENCES.PROGRESSION_RULE_CAT,
385     NEW_REFERENCES.PRA_SEQUENCE_NUMBER,
386     NEW_REFERENCES.PRO_SEQUENCE_NUMBER,
387     NEW_REFERENCES.UNIT_CD,
388     NEW_REFERENCES.S_UNIT_TYPE,
389     X_LAST_UPDATE_DATE,
390     X_LAST_UPDATED_BY,
391     X_LAST_UPDATE_DATE,
392     X_LAST_UPDATED_BY,
393     X_LAST_UPDATE_LOGIN,
394     NEW_REFERENCES.ORG_ID
395   );
396 
397   open c;
398   fetch c into X_ROWID;
399   if (c%notfound) then
400     close c;
401     raise no_data_found;
402   end if;
403   close c;
404 end INSERT_ROW;
405 
406 procedure LOCK_ROW (
407   X_ROWID in VARCHAR2,
408   X_PROGRESSION_RULE_CAT in VARCHAR2,
409   X_PRA_SEQUENCE_NUMBER in NUMBER,
410   X_PRO_SEQUENCE_NUMBER in NUMBER,
411   X_UNIT_CD in VARCHAR2,
412   X_S_UNIT_TYPE in VARCHAR2
413 ) AS
414   cursor c1 is select
415       S_UNIT_TYPE
416     from IGS_PR_OU_UNIT_ALL
417     where ROWID = X_ROWID for update nowait;
418   tlinfo c1%rowtype;
419 
420 begin
421   open c1;
422   fetch c1 into tlinfo;
423   if (c1%notfound) then
424     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
425       IGS_GE_MSG_STACK.ADD;
426 	close c1;
427     app_exception.raise_exception;
428     return;
429   end if;
430   close c1;
431 
432   if ( (tlinfo.S_UNIT_TYPE = X_S_UNIT_TYPE)
433   ) then
434     null;
435   else
436     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
437       IGS_GE_MSG_STACK.ADD;
438     app_exception.raise_exception;
439   end if;
440   return;
441 end LOCK_ROW;
442 
443 procedure UPDATE_ROW (
444   X_ROWID in VARCHAR2,
445   X_PROGRESSION_RULE_CAT in VARCHAR2,
446   X_PRA_SEQUENCE_NUMBER in NUMBER,
447   X_PRO_SEQUENCE_NUMBER in NUMBER,
448   X_UNIT_CD in VARCHAR2,
449   X_S_UNIT_TYPE in VARCHAR2,
450   X_MODE in VARCHAR2 default 'R'
451   ) AS
452     X_LAST_UPDATE_DATE DATE;
453     X_LAST_UPDATED_BY NUMBER;
454     X_LAST_UPDATE_LOGIN NUMBER;
455 begin
456   X_LAST_UPDATE_DATE := SYSDATE;
457   if(X_MODE = 'I') then
458     X_LAST_UPDATED_BY := 1;
459     X_LAST_UPDATE_LOGIN := 0;
460   elsif (X_MODE = 'R') then
461     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
462     if X_LAST_UPDATED_BY is NULL then
463       X_LAST_UPDATED_BY := -1;
464     end if;
465     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
466     if X_LAST_UPDATE_LOGIN is NULL then
467       X_LAST_UPDATE_LOGIN := -1;
468     end if;
469   else
470     FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
471       IGS_GE_MSG_STACK.ADD;
472     app_exception.raise_exception;
473   end if;
474 Before_DML (
475     p_action => 'UPDATE',
476     x_rowid => x_rowid,
477     x_progression_rule_cat => x_progression_rule_cat,
478     x_pra_sequence_number => x_pra_sequence_number,
479     x_pro_sequence_number => x_pro_sequence_number,
480     x_unit_cd => x_unit_cd,
481     x_s_unit_type => x_s_unit_type,
482     x_creation_date => x_last_update_date,
483     x_created_by => x_last_updated_by,
484     x_last_update_date => x_last_update_date,
485     x_last_updated_by => x_last_updated_by,
486     x_last_update_login => x_last_update_login
487   );
488 
489   update IGS_PR_OU_UNIT_ALL set
490     S_UNIT_TYPE = NEW_REFERENCES.S_UNIT_TYPE,
491     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
492     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
493     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
494   where ROWID = X_ROWID
495   ;
496   if (sql%notfound) then
497     raise no_data_found;
498   end if;
499 end UPDATE_ROW;
500 
501 procedure ADD_ROW (
502   X_ROWID in out NOCOPY VARCHAR2,
503   X_PROGRESSION_RULE_CAT in VARCHAR2,
504   X_PRA_SEQUENCE_NUMBER in NUMBER,
505   X_PRO_SEQUENCE_NUMBER in NUMBER,
506   X_UNIT_CD in VARCHAR2,
507   X_S_UNIT_TYPE in VARCHAR2,
508   X_MODE in VARCHAR2 default 'R',
509   X_ORG_ID IN NUMBER
510   ) AS
511   cursor c1 is select rowid from IGS_PR_OU_UNIT_ALL
512      where PROGRESSION_RULE_CAT = X_PROGRESSION_RULE_CAT
513      and PRA_SEQUENCE_NUMBER = X_PRA_SEQUENCE_NUMBER
514      and PRO_SEQUENCE_NUMBER = X_PRO_SEQUENCE_NUMBER
515      and UNIT_CD = X_UNIT_CD
516   ;
517 begin
518   open c1;
519   fetch c1 into X_ROWID;
520   if (c1%notfound) then
521     close c1;
522     INSERT_ROW (
523      X_ROWID,
524      X_PROGRESSION_RULE_CAT,
525      X_PRA_SEQUENCE_NUMBER,
526      X_PRO_SEQUENCE_NUMBER,
527      X_UNIT_CD,
528      X_S_UNIT_TYPE,
529      X_MODE,
530      X_ORG_ID);
531     return;
532   end if;
533   close c1;
534   UPDATE_ROW (
535    X_ROWID ,
536    X_PROGRESSION_RULE_CAT,
537    X_PRA_SEQUENCE_NUMBER,
538    X_PRO_SEQUENCE_NUMBER,
539    X_UNIT_CD,
540    X_S_UNIT_TYPE,
541    X_MODE );
542 end ADD_ROW;
543 
544 procedure DELETE_ROW (
545   X_ROWID in VARCHAR2
546 ) AS
547 begin
548 Before_DML (
549     p_action => 'DELETE',
550     x_rowid => X_ROWID
551   ) ;
552 
553   delete from IGS_PR_OU_UNIT_ALL
554   where ROWID = X_ROWID;
555   if (sql%notfound) then
556     raise no_data_found;
557   end if;
558 
559 end DELETE_ROW;
560 
561 PROCEDURE  Check_Constraints (
562     Column_Name IN VARCHAR2 DEFAULT NULL,
563     Column_Value IN VARCHAR2 DEFAULT NULL
564 ) AS
565 
566 BEGIN
567 IF Column_Name is null THEN
568   NULL;
569 ELSIF upper(Column_name) = 'S_UNIT_TYPE' THEN
570   new_references.S_UNIT_TYPE:= COLUMN_VALUE ;
571 
572 ELSIF upper(Column_name) = 'PROGRESSION_RULE_CAT' THEN
573   new_references.PROGRESSION_RULE_CAT:= COLUMN_VALUE ;
574 
575 ELSIF upper(Column_name) = 'UNIT_CD' THEN
576   new_references.UNIT_CD:= COLUMN_VALUE ;
577 
578 ELSIF upper(Column_name) = 'PRA_SEQUENCE_NUMBER' THEN
579   new_references.PRA_SEQUENCE_NUMBER:= IGS_GE_NUMBER.to_num(COLUMN_VALUE) ;
580 
581 END IF ;
582 
583 IF upper(Column_name) = 'S_UNIT_TYPE' OR COLUMN_NAME IS NULL THEN
584   IF new_references.S_UNIT_TYPE<> upper(new_references.S_UNIT_TYPE) 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) = 'PROGRESSION_RULE_CAT' OR COLUMN_NAME IS NULL THEN
593   IF new_references.PROGRESSION_RULE_CAT<> upper(new_references.PROGRESSION_RULE_CAT) 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 END IF ;
600 
601 IF upper(Column_name) = 'UNIT_CD' OR COLUMN_NAME IS NULL THEN
602   IF new_references.UNIT_CD <> upper(new_references.UNIT_CD) then
603     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
604       IGS_GE_MSG_STACK.ADD;
605     App_Exception.Raise_Exception ;
606   END IF;
607 
608 END IF ;
609 
610 IF upper(Column_name) = 'PRA_SEQUENCE_NUMBER' OR COLUMN_NAME IS NULL THEN
611   IF new_references.PRA_SEQUENCE_NUMBER < 1 or new_references.PRA_SEQUENCE_NUMBER > 999999 then
612     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
613      IGS_GE_MSG_STACK.ADD;
614     App_Exception.Raise_Exception ;
615   END IF;
616 
617 END IF ;
618 
619 -- This has been commented as 'S_UNIT_TYPE' has be checked already
620 
621 /*IF upper(Column_name) = 'S_UNIT_TYPE' OR COLUMN_NAME IS NULL THEN
622   IF new_references.S_UNIT_TYPE not in  ('REQUIRED' , 'EXCLUDED' ) then
623     Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
624       IGS_GE_MSG_STACK.ADD;
625     App_Exception.Raise_Exception ;
626   END IF;
627 
628 END IF ;  */
629 
630 
631 
632 END Check_Constraints;
633 
634 end IGS_PR_OU_UNIT_PKG;