1 PACKAGE BODY IGS_PS_VAL_UCl AS
2 /* $Header: IGSPS60B.pls 115.3 2002/11/29 03:08:39 nsidana ship $ */
3
4 --
5 -- Validate the IGS_PS_UNIT mode for IGS_PS_UNIT class.
6 FUNCTION crsp_val_ucl_um(
7 p_unit_mode IN VARCHAR2 ,
8 p_message_name OUT NOCOPY VARCHAR2 )
9 RETURN BOOLEAN AS
10 v_closed_ind IGS_AS_UNIT_MODE.closed_ind%TYPE;
11 CURSOR c_unit_mode_closed_ind IS
12 SELECT closed_ind
13 FROM IGS_AS_UNIT_MODE
14 WHERE unit_mode = p_unit_mode AND
15 closed_ind = 'Y';
16 BEGIN
17 OPEN c_unit_mode_closed_ind;
18 FETCH c_unit_mode_closed_ind INTO v_closed_ind;
19 --- If a record was not found, then return TRUE, else return FALSE
20 IF c_unit_mode_closed_ind%NOTFOUND THEN
21 p_message_name := NULL;
22 CLOSE c_unit_mode_closed_ind;
23 RETURN TRUE;
24 ELSE
25 p_message_name := 'IGS_PS_UNIT_MODE_CLOSED';
26 CLOSE c_unit_mode_closed_ind;
27 RETURN FALSE;
28 END IF;
29 EXCEPTION
30 WHEN OTHERS THEN
31 Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXCEPTION');
32 FND_MESSAGE.SET_TOKEN('NAME','IGS_PS_VAL_UCl.crsp_val_ucl_um');
33 IGS_GE_MSG_STACK.ADD;
34 App_Exception.Raise_Exception;
35 END crsp_val_ucl_um;
36 --
37 -- Validate the start and end times when set for the IGS_PS_UNIT class.
38 FUNCTION crsp_val_ucl_st_end(
39 p_start_time IN DATE ,
40 p_end_time IN DATE ,
41 p_message_name OUT NOCOPY VARCHAR2 )
42 RETURN BOOLEAN AS
43 BEGIN
44 -- Validate the IGS_PS_UNIT class start and end times
45 IF ((p_start_time IS NULL AND p_end_time IS NOT NULL) OR
46 (p_start_time IS NOT NULL AND p_end_time IS NULL)) THEN
47 p_message_name := 'IGS_PS_STDT_ENDDT_BOTH_SET_UN';
48 RETURN FALSE;
49 END IF;
50 IF (p_start_time IS NOT NULL AND p_end_time IS NOT NULL) THEN
51 IF (p_end_time <= p_start_time) THEN
52 p_message_name := 'IGS_PS_ENDDT_AFTER_STDT';
53 RETURN FALSE;
54 END IF;
55 END IF;
56 p_message_name := NULL;
57 RETURN TRUE;
58 EXCEPTION
59 WHEN OTHERS THEN
60 Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXCEPTION');
61 FND_MESSAGE.SET_TOKEN('NAME','IGS_PS_VAL_UCl.crsp_val_ucl_st_end');
62 IGS_GE_MSG_STACK.ADD;
63 App_Exception.Raise_Exception;
64 END crsp_val_ucl_st_end;
65 END IGS_PS_VAL_UCl;