1 PACKAGE BODY IGS_EN_VAL_PUR AS
2 /* $Header: IGSEN59B.pls 115.4 2002/11/29 00:04:47 nsidana ship $ */
3 --
4 -- bug id : 1956374
5 -- sjadhav , 28-aug-2001
6 -- removed FUNCTION enrp_val_encmb_dt
7 -- removed FUNCTION enrp_val_encmb_dts
8 --
9 --
10 -- Validate that PERSON doesn't already have an open UNIT requirement.
11 FUNCTION enrp_val_pur_open(
12 p_person_id IN NUMBER ,
13 p_encumbrance_type IN VARCHAR2 ,
14 p_pen_start_dt IN DATE ,
15 p_s_encmb_effect_type IN VARCHAR2 ,
16 p_pee_start_dt IN DATE ,
17 p_unit_cd IN VARCHAR2 ,
18 p_pur_start_dt IN DATE ,
19 p_message_name OUT NOCOPY VARCHAR2)
20 RETURN BOOLEAN AS
21
22 BEGIN -- enrp_val_pur_open
23 -- Validate that there are no other "open ended" pur records
24 -- for the nominated encumbrance effect type
25 DECLARE
26 v_check VARCHAR2(1);
27 v_ret_val BOOLEAN DEFAULT TRUE;
28 CURSOR c_person_unit_requirement IS
29 SELECT 'x'
30 FROM IGS_PE_UNT_REQUIRMNT
31 WHERE
32 person_id = p_person_id AND
33 encumbrance_type = p_encumbrance_type AND
34 pen_start_dt = p_pen_start_dt AND
35 s_encmb_effect_type = p_s_encmb_effect_type AND
36 pee_start_dt = p_pee_start_dt AND
37 unit_cd = p_unit_cd AND
38 expiry_dt IS NULL AND
39 pur_start_dt <> p_pur_start_dt;
40 BEGIN
41 p_message_name := null;
42 OPEN c_person_unit_requirement;
43 FETCH c_person_unit_requirement INTO v_check;
44 IF (c_person_unit_requirement%FOUND) THEN
45 p_message_name := 'IGS_EN_PRSN_UNIT_REQUIREMENT';
46 v_ret_val := FALSE;
47 END IF;
48 CLOSE c_person_unit_requirement;
49 RETURN v_ret_val;
50 END;
51 EXCEPTION
52 WHEN OTHERS THEN
53 Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXP');
54 FND_MESSAGE.SET_TOKEN('NAME', 'IGS_EN_VAL_PUR.enrp_val_pur_open');
55 IGS_GE_MSG_STACK.ADD;
56 App_Exception.Raise_Exception;
57 END enrp_val_pur_open;
58
59 --
60 -- bug id : 1956374
61 -- sjadhav,28-aug-2001
62 -- removed FUNCTION enrp_val_encmb_dts
63 END IGS_EN_VAL_PUR;