1 PACKAGE BODY IGS_CO_VAL_LP AS
2 /* $Header: IGSCO11B.pls 115.7 2002/11/28 23:05:30 nsidana ship $ */
3 -------------------------------------------------------------------------------------------
4 --Change History:
5 --Who When What
6 --avenkatr 29-AUG-2001 Bug Id : 1956374. Removed procedure "corp_val_cort_closed"
7 --avenkatr 29-AUG-2001 Bug Id : 1956374. Removed procedure "corp_val_lpt_closed"
8 --avenkatr 29-AUG-2001 Bug Id : 1956374. Removed Function "corp_val_slet_closed"
9 -------------------------------------------------------------------------------------------
10
11 --
12 -- Validate if Letter Parameter Type Restriction exist.
13 FUNCTION corp_val_lptr_rstrn(
14 p_letter_parameter_type IN VARCHAR2 ,
15 p_correspondence_type IN VARCHAR2 ,
16 p_message_name OUT NOCOPY varchar2 )
17 RETURN BOOLEAN AS
18 BEGIN -- corp_val_lptr_rstrn
19 -- Validates that the IGS_CO_LTR_PARM_TYPE is able to be used
20 -- within the IGS_CO_TYPE and that no restrictions exist
21 -- that deny the IGS_CO_LTR_PARM_TYPE being able to be assigned
22 -- within the IGS_CO_TYPE.
23 DECLARE
24 CURSOR c_lptr IS
25 SELECT CORRESPONDENCE_TYPE
26 FROM IGS_CO_LTR_PR_RSTCN
27 WHERE letter_parameter_type = p_letter_parameter_type;
28 CURSOR c_lpt IS
29 SELECT s_letter_parameter_type
30 FROM IGS_CO_LTR_PARM_TYPE
31 WHERE letter_parameter_type = p_letter_parameter_type;
32 v_lpt_rec c_lpt%ROWTYPE;
33 v_valid_correspondence_type BOOLEAN DEFAULT TRUE;
34 v_message_name varchar2(30);
35 BEGIN
36 -- Set the default message number
37 p_message_name := Null;
38 -- loop through all records found to check
39 -- whether p_correspondence_type is in the list.
40 FOR v_lptr_rec IN c_lptr LOOP
41 v_valid_correspondence_type := FALSE;
42 IF v_lptr_rec.CORRESPONDENCE_TYPE = p_correspondence_type THEN
43 v_valid_correspondence_type := TRUE;
44 EXIT;
45 END IF;
46 END LOOP;
47 IF NOT v_valid_correspondence_type THEN
48 p_message_name := 'IGS_CO_LETTER_EXIST_CORTYPE';
49 RETURN FALSE;
50 END IF;
51 -- Cursor handling
52 OPEN c_lpt;
53 FETCH c_lpt INTO v_lpt_rec;
54 CLOSE c_lpt;
55 IF NOT IGS_CO_VAL_LPTR.corp_val_slptr_rstrn(
56 v_lpt_rec.s_letter_parameter_type,
57 p_correspondence_type,
58 v_message_name) THEN
59 p_message_name := v_message_name;
60 RETURN FALSE;
61 END IF;
62 -- Return the default value
63 RETURN TRUE;
64 EXCEPTION
65 WHEN OTHERS THEN
66 IF c_lpt%ISOPEN THEN
67 CLOSE c_lpt;
68 END IF;
69 IF c_lptr%ISOPEN THEN
70 CLOSE c_lptr;
71 END IF;
72 RAISE;
73 END;
74 END corp_val_lptr_rstrn;
75 END IGS_CO_VAL_LP;