DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_VAL_PE

Source


1 PACKAGE BODY igs_ad_val_pe AS
2 /* $Header: IGSAD66B.pls 115.5 2003/12/05 11:51:48 rboddu ship $ */
3 
4   --
5   -- To validate duplicate person records using surname and birthdate
6   FUNCTION admp_val_pe_dplct(
7   p_person_id IN NUMBER ,
8   p_surname IN VARCHAR2 ,
9   p_birth_dt IN DATE ,
10   p_message_name OUT NOCOPY VARCHAR2 )
11   RETURN boolean AS
12   BEGIN
13   DECLARE
14   	v_person_id		IGS_PE_PERSON.person_id%TYPE;
15           CURSOR c_pe IS
16              SELECT pe.person_id
17 	     FROM igs_pe_person_base_v pe   /* Replaced IGS_PE_PERSON with igs_pe_person_base_v Bug 3150054 */
18              WHERE pe.person_id = p_person_id AND
19 		   pe.last_name = p_surname AND
20 		   pe.birth_date = p_birth_dt;
21 
22   BEGIN
23   	-- Check for a duplicate person by checking for another person record with the
24   	-- same surname and date of birth. Note: this routine is only treated as a
25   	-- warning.
26   	p_message_name := null;
27   	-- 1. The check cannot be applied if all parameters are not set.
28   	IF (p_birth_dt IS NULL) OR
29   			(p_surname IS NULL) OR
30   			(p_birth_dt IS NULL) THEN
31 	  	p_message_name := null;
32   		RETURN TRUE;
33   	END IF;
34   	OPEN	c_pe;
35   	FETCH	c_pe	INTO	v_person_id;
36   	IF (c_pe%FOUND) THEN
37   		CLOSE	c_pe;
38 		p_message_name := 'IGS_AD_PEREXT_SAME_SURNAM_DOB';
39   		RETURN FALSE;
40   	END IF;
41   	CLOSE	c_pe;
42   	RETURN TRUE;
43   END;
44   EXCEPTION
45   	WHEN OTHERS THEN
46 	    FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
47   	     FND_MESSAGE.SET_TOKEN('NAME','IGS_AD_VAL_PE.admp_val_pe_dplct');
48   	     IGS_GE_MSG_STACK.ADD;
49 		App_Exception.Raise_Exception;
50   END admp_val_pe_dplct;
51   --
52   -- Validate the person deceased indicator.
53   FUNCTION admp_val_pe_deceased(
54   p_deceased_ind IN VARCHAR2 DEFAULT 'N',
55   p_message_name OUT NOCOPY VARCHAR2 )
56   RETURN BOOLEAN AS
57   BEGIN	-- admp_val_pe_deceased
58   	-- Validate the person deceased indicator. On creation of a person record the
59   	-- deceased indicator cannot be set to Yes.
60   BEGIN
61   	-- Set the default message number
62   	p_message_name := null;
63   	IF (p_deceased_ind = 'Y') THEN
64 		p_message_name := 'IGS_AD_CANNOT_CREATE_DEADPRSN';
65   		RETURN FALSE;
66   	END IF;
67   	--- Return no error
68   	RETURN TRUE;
69   END;
70   EXCEPTION
71   	WHEN OTHERS THEN
72 	    FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
73   	     FND_MESSAGE.SET_TOKEN('NAME','IGS_AD_VAL_PE.admp_val_pe_deceased');
74   	     IGS_GE_MSG_STACK.ADD;
75 		App_Exception.Raise_Exception;
76   END admp_val_pe_deceased;
77   --
78   END igs_ad_val_pe;