1 PACKAGE BODY IGS_AD_VAL_GBFAT AS
2 /* $Header: IGSAD62B.pls 115.3 2002/11/28 21:37:47 nsidana ship $ */
3
4 --
5 -- Validate the update of a government basis for admission type record
6 FUNCTION admp_val_gbfat_upd(
7 p_govt_basis_for_adm_type IN VARCHAR2 ,
8 p_closed_ind IN VARCHAR2 DEFAULT 'N',
9 p_message_name OUT NOCOPY VARCHAR2 )
10 RETURN BOOLEAN AS
11 BEGIN
12 DECLARE
13 CURSOR c_gbfat IS
14 SELECT COUNT(*)
15 FROM IGS_AD_BASIS_FOR_AD
16 WHERE govt_basis_for_adm_type = p_govt_basis_for_adm_type AND
17 closed_ind = 'N';
18 v_gbfat_count NUMBER;
19 BEGIN
20 -- Validate the update of a govt_basis_for_adm_type record. A record cannot
21 -- be closed if there are records mapped onto it which are still open.
22 -- Set the default message number
23 p_message_name := null;
24 IF (p_closed_ind = 'Y') THEN
25 -- Cursor handling
26 OPEN c_gbfat;
27 FETCH c_gbfat INTO v_gbfat_count;
28 IF c_gbfat%NOTFOUND THEN
29 CLOSE c_gbfat;
30 RETURN TRUE;
31 END IF;
32 CLOSE c_gbfat;
33 IF (v_gbfat_count > 0) THEN
34 p_message_name := 'IGS_AD_CANNOT_CLS_GOVT_ADMTYP';
35 RETURN FALSE;
36 END IF;
37 END IF;
38 -- Return the default value
39 RETURN TRUE;
40 END;
41 EXCEPTION
42 WHEN OTHERS THEN
43 FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
44 FND_MESSAGE.SET_TOKEN('NAME','IGS_AD_VAL_GBFAT.admp_val_gbfat_upd');
45 IGS_GE_MSG_STACK.ADD;
46 App_Exception.Raise_Exception;
47 END admp_val_gbfat_upd;
48 END IGS_AD_VAL_GBFAT;