1 PACKAGE BODY IGS_PR_VAL_PRR AS
2 /* $Header: IGSPR07B.pls 115.4 2002/11/29 02:45:21 nsidana ship $ */
3 /*
4 || Bug ID 1956374 - Removal of Duplicate Program Units from OSS.
5 || Removed program unit (PRGP_VAL_PRGC_CLOSED) - from the spec and body. -- kdande
6 */
7 --
8 -- Validate that a IGS_PR_RULE can be changed.
9 FUNCTION prgp_val_prr_upd(
10 p_progression_rule_cat IN VARCHAR2 ,
11 p_progression_rule_cd IN VARCHAR2 ,
12 p_message_name OUT NOCOPY VARCHAR2 )
13 RETURN BOOLEAN AS
14 gv_other_detail VARCHAR2(255);
15 BEGIN -- prgp_val_prr_upd
16 -- Warn the user if a IGS_PR_RULE is being changed and it
17 -- is linked to a IGS_PR_RU_APPL for a s_relation_type
18 -- other than PRR or PRGC.
19 DECLARE
20 v_dummy VARCHAR2(1);
21 CURSOR c_pra IS
22 SELECT 'X'
23 FROM IGS_PR_RU_APPL pra
24 WHERE pra.progression_rule_cat = p_progression_rule_cat
25 AND pra.progression_rule_cd = p_progression_rule_cd
26 AND pra.s_relation_type NOT IN ('PRR', 'PRGC');
27 BEGIN
28 IF p_progression_rule_cd IS NULL THEN
29 p_message_name := null;
30 RETURN TRUE;
31 END IF;
32 OPEN c_pra;
33 FETCH c_pra INTO v_dummy;
34 IF c_pra%FOUND THEN
35 CLOSE c_pra;
36 p_message_name := 'IGS_PR_RULE_LNK_TO_MORE_RULES';
37 RETURN TRUE;
38 END IF;
39 CLOSE c_pra;
40 p_message_name := null;
41 RETURN TRUE;
42 EXCEPTION
43 WHEN OTHERS THEN
44 IF (c_pra%ISOPEN) THEN
45 CLOSE c_pra;
46 END IF;
47 RAISE;
48 END;
49 EXCEPTION
50 WHEN OTHERS THEN
51 Fnd_Message.Set_Name('IGS','IGS_GE_UNHANDLED_EXCEPTION');
52 FND_MESSAGE.SET_TOKEN ('NAME', 'IGS_PR_VAL_PRR.PRGP_VAL_PRR_UPD');
53 --IGS_GE_MSG_STACK.ADD;
54
55 END prgp_val_prr_upd;
56 END IGS_PR_VAL_PRR;