1 PACKAGE BODY IGR_VAL_EPI AS
2 /* $Header: IGSRT12B.pls 120.0 2005/06/01 20:47:43 appldev noship $ */
3 -- To validate the available mailing date of the enquiry package item.
4 FUNCTION admp_val_epi_av_dt(
5 p_available_ind IN VARCHAR2 DEFAULT 'N',
6 p_available_dt IN DATE ,
7 p_message_name OUT NOCOPY VARCHAR2)
8 RETURN BOOLEAN IS
9 gv_other_detail VARCHAR2(255);
10 BEGIN
11 DECLARE
12 BEGIN
13 p_message_name := null;
14 -- Validate input parameters
15 IF p_available_ind IS NULL OR p_available_dt IS NULL THEN
16 RETURN TRUE;
17 END IF;
18 -- Validate that available_dt is not set if available_ind = Y
19 IF (p_available_ind = 'Y' AND p_available_dt IS NOT NULL) THEN
20 --p_message_num := 4751;
21 p_message_name := 'IGS_AD_AVLDT_CANOT_AVLIND_SET';
22 RETURN FALSE;
23 ELSE
24 RETURN TRUE;
25 END IF;
26 END;
27 EXCEPTION
28 WHEN OTHERS THEN
29 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
30 FND_MESSAGE.SET_TOKEN('NAME','IGR_VAL_EPI.admp_val_epi_av_dt');
31 IGS_GE_MSG_STACK.ADD;
32 APP_EXCEPTION.RAISE_EXCEPTION;
33 END admp_val_epi_av_dt;
34 --
35 -- Validate the Enquiry Package Item closed indicator.
36 FUNCTION admp_val_epi_active(
37 p_enquiry_package_item IN VARCHAR2 ,
38 p_closed_ind VARCHAR2 DEFAULT 'N',
39 p_message_name OUT NOCOPY VARCHAR2)
40 RETURN BOOLEAN IS
41 gv_other_detail VARCHAR2(255);
42 BEGIN -- admp_val_epi_active
43
44 DECLARE
45 v_eitpi_exists VARCHAR2(1);
46 v_eltpi_exists VARCHAR2(1);
47 v_cepi_exists VARCHAR2(1);
48 BEGIN
49 p_message_name := null;
50 --Check parameters.
51 IF p_enquiry_package_item IS NULL OR
52 p_closed_ind = 'N' THEN
53 RETURN TRUE;
54 END IF;
55 RETURN TRUE;
56 END;
57 EXCEPTION
58 WHEN OTHERS THEN
59 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
60 FND_MESSAGE.SET_TOKEN('NAME','IGR_VAL_EPI.admp_val_epi_active');
61 IGS_GE_MSG_STACK.ADD;
62 APP_EXCEPTION.RAISE_EXCEPTION;
63 END admp_val_epi_active;
64 --
65 -- Validate the Enquiry Package Item closed indicator.
66 FUNCTION admp_val_epi_closed(
67 p_package_item IN VARCHAR2 ,
68 p_message_name OUT NOCOPY VARCHAR2)
69 RETURN BOOLEAN IS
70 gv_other_detail VARCHAR2(255);
71 BEGIN -- check if the package_item is closed
72 DECLARE
73 CURSOR c_get_closed_ind (
74 cp_package_item IGR_I_PKG_ITEMS_V.package_item%TYPE) IS
75 SELECT actual_avail_from_date,actual_avail_to_date
76 FROM igr_i_pkg_items_v
77 WHERE package_item = p_package_item;
78 l_get_closed_ind_rec c_get_closed_ind%ROWTYPE;
79 BEGIN
80 p_message_name := null;
81 -- Validate input parameters
82 IF (p_package_item IS NULL)THEN
83 RETURN TRUE;
84 END IF;
85 -- Validate if the enquiry Package item is closed
86 OPEN c_get_closed_ind(p_package_item);
87 FETCH c_get_closed_ind INTO l_get_closed_ind_rec;
88 IF (c_get_closed_ind%NOTFOUND) THEN
89 CLOSE c_get_closed_ind;
90 RETURN TRUE;
91 END IF;
92 CLOSE c_get_closed_ind;
93 IF ((SYSDATE < l_get_closed_ind_rec.actual_avail_from_date) OR (SYSDATE > l_get_closed_ind_rec.actual_avail_to_date )) THEN
94 --p_message_num := 4270;
95 p_message_name := 'IGS_AD_ENQ_PCKGITEM_CLOSED';
96 RETURN FALSE;
97 END IF;
98 RETURN TRUE;
99 END;
100 EXCEPTION
101 WHEN OTHERS THEN
102 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
103 FND_MESSAGE.SET_TOKEN('NAME','IGR_VAL_EPI.admp_val_epi_closed');
104 IGS_GE_MSG_STACK.ADD;
105 APP_EXCEPTION.RAISE_EXCEPTION;
106 END admp_val_epi_closed;
107 END IGR_VAL_EPI;