DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AS_VAL_EI

Source


1 PACKAGE BODY IGS_AS_VAL_EI AS
2 /* $Header: IGSAS16B.pls 115.4 2002/11/28 22:43:29 nsidana ship $ */
3   -------------------------------------------------------------------------------------------
4   --Change History:
5   --Who         When            What
6   --avenkatr    29-AUG-2001    Bug Id : 1956374. Removed procedure "assp_val_ve_closed"
7   -------------------------------------------------------------------------------------------
8   --
9   -- Validate insert of IGS_AS_EXAM_INSTANCE record
10   FUNCTION ASSP_VAL_EI_INS(
11   p_exam_cal_type IN VARCHAR2 ,
12   p_exam_ci_sequence_number IN NUMBER ,
13   p_ass_id IN NUMBER ,
14   P_MESSAGE_NAME OUT NOCOPY VARCHAR2 )
15   RETURN BOOLEAN AS
16 
17 
18   BEGIN -- assp_val_ei_ins
19         -- This module validates the insert of an IGS_AS_EXAM_INSTANCE record
20   DECLARE
21 
22         v_active_unit           BOOLEAN;
23         v_ust_exist             BOOLEAN;
24 
25         v_atyp_exam_ind         IGS_AS_ASSESSMNT_TYP.examinable_ind%TYPE;
26         v_ai_sched_ind          IGS_AS_ASSESSMNT_ITM.exam_scheduled_ind%TYPE;
27 
28 
29         CURSOR c_atyp IS
30                 SELECT  atyp.examinable_ind,
31                         ai.exam_scheduled_ind
32                 FROM    IGS_AS_ASSESSMNT_TYP         atyp,
33                         IGS_AS_ASSESSMNT_ITM         ai
34                 WHERE   ai.ass_id               = p_ass_id      AND
35                         atyp.assessment_type    = ai.assessment_type;
36 
37         CURSOR c_ust IS
38                 SELECT  ust.s_unit_status
39                 FROM    IGS_PS_UNIT_STAT             ust,
40                         IGS_AS_UNITASS_ITEM    uai,
41                         IGS_PS_UNIT_VER            uv
42                 WHERE   uai.ass_id                              = p_ass_id              AND
43                         IGS_EN_GEN_014.ENRS_GET_WITHIN_CI(
44                                         p_exam_cal_type,
45                                         p_exam_ci_sequence_number,
46                                         uai.cal_type,
47                                         uai.ci_sequence_number,
48                                         'N')                    = 'Y'                   AND
49                         uv.unit_cd                              = uai.unit_cd           AND
50                         uv.version_number                       = uai.version_number    AND
51                         ust.unit_status                         = uv.unit_status;
52 
53   BEGIN
54         -- Set the default message number
55         P_MESSAGE_NAME := NULL;
56 
57         --initialise variables
58         v_active_unit   := FALSE;
59         v_ust_exist     := FALSE;
60 
61         -- Check that assessment item is examinable and scheduled
62         OPEN c_atyp ;
63         FETCH c_atyp INTO       v_atyp_exam_ind,
64                                 v_ai_sched_ind;
65         IF (c_atyp%NOTFOUND) THEN
66                 --Routine is not applicable
67                 CLOSE c_atyp;
68                 RETURN TRUE;
69         END IF;
70         CLOSE c_atyp;
71 
72 
73         IF (v_atyp_exam_ind = 'N') THEN
74                 --Assessment item is not examinable so return
75                 P_MESSAGE_NAME := 'IGS_AS_ASSITEM_EXAM_SCHEDULES';
76                 RETURN FALSE;
77         END IF;
78 
79 
80         IF (v_ai_sched_ind = 'N') THEN
81                 --Assessment item is not scheduled so return
82                 P_MESSAGE_NAME := 'IGS_AS_ASSITEM_MARKED_SCHEDUL';
83                 RETURN FALSE;
84         END IF;
85 
86         RETURN TRUE;
87   END;
88   EXCEPTION
89         WHEN OTHERS THEN
90 		FND_MESSAGE.SET_NAME('IGS','IGS_GE_UNHANDLED_EXP');
91 		FND_MESSAGE.SET_TOKEN('NAME','IGS_AS_VAL_EI.assp_val_ei_ins');
92 		IGS_GE_MSG_STACK.ADD;
93   END assp_val_ei_ins;
94 END IGS_AS_VAL_EI;