1 PACKAGE BODY IGS_PS_VAL_UNIT AS
2 /* $Header: IGSPS63B.pls 115.4 2002/11/29 03:09:21 nsidana ship $ */
3
4 --
5 -- Validate if insert/updates/deletes can be made to IGS_PS_UNIT version details
6 FUNCTION crsp_val_iud_uv_dtl(
7 p_unit_cd IN VARCHAR2 ,
8 p_version_number IN NUMBER ,
9 p_message_name OUT NOCOPY VARCHAR2 )
10 RETURN BOOLEAN AS
11 v_s_unit_status IGS_PS_UNIT_STAT.s_unit_status%TYPE;
12 CURSOR c_get_s_unit_status IS
13 SELECT s_unit_status
14 FROM IGS_PS_UNIT_VER,
15 IGS_PS_UNIT_STAT
16 WHERE unit_cd = p_unit_cd AND
17 version_number = p_version_number AND
18 IGS_PS_UNIT_VER.unit_status = IGS_PS_UNIT_STAT.unit_status;
19 BEGIN
20 -- validate whether or not inserts and updates can be made
21 -- to IGS_PS_UNIT version detail record.
22 p_message_name := NULL;
23 OPEN c_get_s_unit_status;
24 FETCH c_get_s_unit_status INTO v_s_unit_status;
25 IF (c_get_s_unit_status%NOTFOUND) THEN
26 CLOSE c_get_s_unit_status;
27 RETURN TRUE;
28 END IF;
29 CLOSE c_get_s_unit_status;
30 IF (v_s_unit_status <> 'INACTIVE') THEN
31 RETURN TRUE;
32 END IF;
33 p_message_name := 'IGS_PS_NOCHG_UNITVER_DETAILS';
34 RETURN FALSE;
35 EXCEPTION
36 WHEN OTHERS THEN
37 Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXCEPTION');
38 FND_MESSAGE.SET_TOKEN('NAME','IGS_PS_VAL_UNIT.crsp_val_iud_uv_dtl');
39 IGS_GE_MSG_STACK.ADD;
40 App_Exception.Raise_Exception;
41 END crsp_val_iud_uv_dtl;
42 END IGS_PS_VAL_UNIT;