1 PACKAGE BODY IGS_FI_VAL_FDFR AS
2 /* $Header: IGSFI28B.pls 115.4 2002/11/29 00:20:49 nsidana ship $ */
3 --
4 -- Validate if the IGS_RU_CALL.s_rule_call_cd and s_rule_type_cd
5 FUNCTION rulp_val_rul_src(
6 p_s_rule_call_cd IN IGS_RU_CALL.s_rule_call_cd%TYPE ,
7 p_s_rule_type_cd IN IGS_RU_CALL.s_rule_type_cd%TYPE ,
8 p_sequence_number IN IGS_RU_RULE.sequence_number%TYPE ,
9 p_message_name OUT NOCOPY VARCHAR2 )
10 RETURN BOOLEAN AS
11 gv_other_detail VARCHAR2(255);
12 BEGIN -- rulp_val_rul_src
13 -- * Validate the s_rule_call_cd has the s_rule_type_cd specified.
14 -- * Validate the IGS_RU_RULE identified by rul_sequence_number is related
15 -- to the IGS_RU_CALL record with the specified s_rule_call_cd
16 -- and s_rule_type
17 DECLARE
18 CURSOR c_src IS
19 SELECT 'x'
20 FROM IGS_RU_CALL
21 WHERE s_rule_call_cd = p_s_rule_call_cd AND
22 s_rule_type_cd = p_s_rule_type_cd;
23 v_c_src_exists VARCHAR2(1) DEFAULT NULL;
24 BEGIN
25 p_message_name := NULL;
26 -- check parameters
27 IF p_s_rule_call_cd IS NULL OR
28 p_s_rule_type_cd IS NULL OR
29 p_sequence_number IS NULL THEN
30 -- parameters are invalid
31 RETURN TRUE;
32 END IF;
33 -- Check if the IGS_RU_CALL.s_rule_call_cd has the
34 -- s_rule_type_cd specified.
35 OPEN c_src;
36 FETCH c_src INTO v_c_src_exists;
37 IF (c_src%NOTFOUND) THEN
38 CLOSE c_src;
39 p_message_name := 'IGS_PS_SYSRULE_CALL_CODE';
40 RETURN FALSE;
41 END IF;
42 CLOSE c_src;
43 RETURN TRUE;
44 EXCEPTION
45 WHEN OTHERS THEN
46 IF (c_src%ISOPEN) THEN
47 CLOSE c_src;
48 END IF;
49 RAISE;
50 END;
51 END rulp_val_rul_src;
52 END IGS_FI_VAL_FDFR;