1 PACKAGE BODY IGS_AS_VAL_ASST AS
2 /* $Header: IGSAS14B.pls 115.5 2002/11/28 22:42:51 nsidana ship $ */
3
4 --
5 -- Validate assessor type dflt ind set at least and only once.
6 FUNCTION assp_val_asst_dflt(
7 P_MESSAGE_NAME OUT NOCOPY VARCHAR2 )
8 RETURN BOOLEAN AS
9
10 BEGIN -- assp_val_asst_dflt
11 -- Validate the assessor type default indicator is set
12 -- at least and only once
13 DECLARE
14 cst_yes CONSTANT CHAR := 'Y';
15 cst_no CONSTANT CHAR := 'N';
16 v_asst_count NUMBER;
17 CURSOR c_asst IS
18 SELECT COUNT(*)
19 FROM IGS_AS_ASSESSOR_TYPE
20 WHERE dflt_ind = cst_yes AND
21 closed_ind = cst_no;
22 BEGIN
23 -- Set the default message number
24 P_MESSAGE_NAME := NULL;
25 -- Cursor handling
26 OPEN c_asst;
27 FETCH c_asst INTO v_asst_count;
28 IF c_asst%NOTFOUND THEN
29 CLOSE c_asst;
30 RETURN TRUE;
31 END IF;
32 CLOSE c_asst;
33 -- Check the selected data
34 IF (v_asst_count = 0) THEN
35 P_MESSAGE_NAME := 'IGS_AS_ONE_ASSESSORTYPE_DFLT';
36 RETURN FALSE;
37 ELSIF (v_asst_count > 1) THEN
38 P_MESSAGE_NAME := 'IGS_AS_MORE_ASSESSORTYPE_DFLT';
39 RETURN FALSE;
40 END IF;
41 -- Return the default value
42 RETURN TRUE;
43 END;
44 EXCEPTION
45 WHEN OTHERS THEN
46 Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
47 FND_MESSAGE.SET_TOKEN('NAME','IGS_AS_GEN_014.assp_val_asst_dflt');
48 IGS_GE_MSG_STACK.ADD;
49 END assp_val_asst_dflt;
50 END IGS_AS_VAL_ASST;