1 PACKAGE BODY IGR_VAL_EAPMPI AS
2 /* $Header: IGSRT09B.pls 120.0 2005/06/02 03:54:13 appldev noship $ */
3 -- To validate the indicated mailing date of an enquiry item.
4 FUNCTION admp_val_eapmpi_dt(
5 p_person_id IN NUMBER ,
6 p_enquiry_appl_number IN NUMBER ,
7 p_mailed_dt IN DATE ,
8 p_message_name OUT NOCOPY VARCHAR2)
9 RETURN BOOLEAN IS
10 BEGIN -- admp_val_eapmpi_dt
11 -- Description: Validate the IGS_IN_APPLML_PKGITM.mailed_dt.
12 -- * The mailed_dt must be >= to the IGS_IN_ENQUIRY_APPL.enquiry_dt.
13 DECLARE
14 v_ea_rec IGR_I_APPL_ALL.enquiry_dt%TYPE;
15 CURSOR c_ea IS
16 SELECT ea.enquiry_dt
17 FROM IGR_I_APPL_ALL ea
18 WHERE ea.person_id = p_person_id AND
19 ea.enquiry_appl_number = p_enquiry_appl_number AND
20 TRUNC(ea.enquiry_dt) <= p_mailed_dt;
21 BEGIN
22 p_message_name := null;
23 -- Validate input parameters
24 IF (p_person_id IS NULL OR p_enquiry_appl_number IS NULL OR
25 p_mailed_dt IS NULL) THEN
26 RETURN TRUE;
27 END IF;
28 OPEN c_ea;
29 FETCH c_ea INTO v_ea_rec;
30 IF (c_ea%NOTFOUND) THEN
31 CLOSE c_ea;
32 p_message_name := 'IGS_AD_MAILDT_GE_ENQIRYDT';
33 RETURN FALSE;
34 END IF;
35 CLOSE c_ea;
36 IF p_mailed_dt > TRUNC(sysdate) THEN
37 p_message_name := 'IGS_AD_MAILDT_GE_ENQIRYDT';
38 RETURN FALSE;
39 END IF;
40 RETURN TRUE;
41 EXCEPTION
42 WHEN OTHERS THEN
43 IF(c_ea%ISOPEN) THEN
44 CLOSE c_ea;
45 END IF;
46 END;
47 EXCEPTION
48 WHEN OTHERS THEN
49 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
50 FND_MESSAGE.SET_TOKEN('NAME','IGR_VAL_EAPMPI.admp_val_eapmpi_dt');
51 IGS_GE_MSG_STACK.ADD;
52 END admp_val_eapmpi_dt;
53
54 END IGR_VAL_EAPMPI;