1 PACKAGE BODY IGS_PS_VAL_USc AS
2 /* $Header: IGSPS69B.pls 115.5 2002/11/29 03:10:07 nsidana ship $ */
3
4 --
5 -- Validate IGS_PS_UNIT set cat rank changes if IGS_PS_UNIT sets exist for the category
6 FUNCTION crsp_val_usc_us(
7 p_unit_set_cat IN VARCHAR2 ,
8 p_old_rank IN NUMBER ,
9 p_new_rank IN NUMBER ,
10 p_old_s_unit_set_cat IN VARCHAR2,
11 p_new_s_unit_set_cat IN VARCHAR2,
12 p_message_name OUT NOCOPY VARCHAR2 )
13 RETURN BOOLEAN AS
14 BEGIN -- crsp_val_usc_us
15 -- This module provides a warning if the IGS_PS_UNIT set is active
16 -- when the IGS_PS_UNIT set category is being changed.
17 DECLARE
18 v_s_unit_set_status IGS_EN_UNIT_SET_STAT.s_unit_set_status%TYPE;
19 CURSOR c_us IS
20 SELECT us.unit_set_cd
21 FROM IGS_EN_UNIT_SET us
22 WHERE us.unit_set_cat = p_unit_set_cat;
23 BEGIN
24 -- Set the default message number
25 p_message_name := NULL;
26
27 IF (p_old_rank <> p_new_rank) OR (p_old_s_unit_set_cat <> p_new_s_unit_set_cat) THEN
28 OPEN c_us;
29 FETCH c_us INTO v_s_unit_set_status;
30 IF (c_us%FOUND) THEN
31 CLOSE c_us;
32 p_message_name := 'IGS_PS_UNIT_SET_EXIST';
33 RETURN FALSE;
34 END IF;
35 CLOSE c_us;
36 END IF;
37 RETURN TRUE;
38 EXCEPTION
39 WHEN OTHERS THEN
40 IF (c_us%ISOPEN) THEN
41 CLOSE c_us;
42 END IF;
43 App_Exception.Raise_Exception;
44 END;
45 EXCEPTION
46 WHEN OTHERS THEN
47 Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXCEPTION');
48 FND_MESSAGE.SET_TOKEN('NAME','IGS_PS_VAL_USc.crsp_val_usc_us');
49 IGS_GE_MSG_STACK.ADD;
50 App_Exception.Raise_Exception;
51 END crsp_val_usc_us ;
52 END IGS_PS_VAL_USc;