[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;