1 PACKAGE BODY IGS_EN_VAL_GCC AS
2 /* $Header: IGSEN40B.pls 115.3 2002/11/28 23:58:58 nsidana ship $ */
3 --
4 -- Validate the update of a government citizenship code record.
5 FUNCTION enrp_val_gcc_upd(
6 p_govt_citizenship_cd IN NUMBER ,
7 p_closed_ind IN VARCHAR2 DEFAULT 'N',
8 p_message_name OUT NOCOPY VARCHAR2)
9 RETURN BOOLEAN AS
10 BEGIN
11 DECLARE
12
13 v_citizenship_cd IGS_ST_CITIZENSHP_CD%ROWTYPE;
14 CURSOR c_citizenship_cd IS
15 SELECT *
16 FROM IGS_ST_CITIZENSHP_CD
17 WHERE govt_citizenship_cd = p_govt_citizenship_cd and
18 closed_ind = 'N';
19 BEGIN
20 -- Validate the update on a govt_citizenshhip_record.
21 -- A IGS_PE_GOVCITIZEN_CD record cannot be closed if
22 -- there are IGS_ST_CITIZENSHP_CD records mapped to it that
23 -- are still open
24 IF (p_closed_ind = 'Y') THEN
25 -- check if open IGS_ST_CITIZENSHP_CD records exist
26 OPEN c_citizenship_cd;
27 FETCH c_citizenship_cd INTO v_citizenship_cd;
28 IF (c_citizenship_cd%FOUND) THEN
29 CLOSE c_citizenship_cd;
30 p_message_name := 'IGS_EN_CANT_CLOSE_GOV_CITZ_CD';
31 RETURN FALSE;
32 END IF;
33 END IF;
34 p_message_name := null;
35 RETURN TRUE;
36 EXCEPTION
37 WHEN OTHERS THEN
38 Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
39 FND_MESSAGE.SET_TOKEN('NAME', 'IGS_EN_VAL_GCC.enrp_val_gcc_upd');
40 IGS_GE_MSG_STACK.ADD;
41 App_Exception.Raise_Exception;
42
43
44 END;
45 END enrp_val_gcc_upd;
46 END IGS_EN_VAL_GCC;