1 PACKAGE BODY IGS_AD_VAL_TAC AS
2 /* $Header: IGSAD71B.pls 115.3 2002/11/28 21:40:02 nsidana ship $ */
3
4 --
5 -- Validate the update of a TAC admission code record
6 FUNCTION admp_val_tac_upd(
7 p_tac_admission_cd 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_tac IS
14 SELECT COUNT(*)
15 FROM IGS_AD_CD
16 WHERE tac_admission_cd = p_tac_admission_cd AND
17 closed_ind = 'N';
18 v_tac_count NUMBER;
19 BEGIN
20 -- Validate the update of a IGS_AD_TAC_AD_CD record. A record cannot be closed
21 -- 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_tac;
27 FETCH c_tac INTO v_tac_count;
28 IF c_tac%NOTFOUND THEN
29 CLOSE c_tac;
30 RETURN TRUE;
31 END IF;
32 CLOSE c_tac;
33 IF (v_tac_count > 0) THEN
34 p_message_name := 'IGS_AD_CANNOT_CLS_TAC_ADMCD';
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_TAC.admp_val_tac_upd');
45 IGS_GE_MSG_STACK.ADD;
46 App_Exception.Raise_Exception;
47 END admp_val_tac_upd;
48 END IGS_AD_VAL_TAC;