47: END assp_val_asst_closed;
48:
49: -- Validate only one primary assessor per assessment item
50: FUNCTION assp_val_aia_primary(
51: p_ass_id IN IGS_AS_ITEM_ASSESSOR.ass_id%TYPE ,
52: p_person_id IN IGS_AS_ITEM_ASSESSOR.person_id%TYPE ,
53: p_sequence_number IN IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE ,
54: P_MESSAGE_NAME OUT NOCOPY VARCHAR2 )
55: RETURN BOOLEAN AS
48:
49: -- Validate only one primary assessor per assessment item
50: FUNCTION assp_val_aia_primary(
51: p_ass_id IN IGS_AS_ITEM_ASSESSOR.ass_id%TYPE ,
52: p_person_id IN IGS_AS_ITEM_ASSESSOR.person_id%TYPE ,
53: p_sequence_number IN IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE ,
54: P_MESSAGE_NAME OUT NOCOPY VARCHAR2 )
55: RETURN BOOLEAN AS
56:
49: -- Validate only one primary assessor per assessment item
50: FUNCTION assp_val_aia_primary(
51: p_ass_id IN IGS_AS_ITEM_ASSESSOR.ass_id%TYPE ,
52: p_person_id IN IGS_AS_ITEM_ASSESSOR.person_id%TYPE ,
53: p_sequence_number IN IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE ,
54: P_MESSAGE_NAME OUT NOCOPY VARCHAR2 )
55: RETURN BOOLEAN AS
56:
57: BEGIN -- assp_val_aia_primary
64: DECLARE
65: cst_yes CONSTANT CHAR := 'Y';
66: cst_no CONSTANT CHAR := 'N';
67: CURSOR c_aia1(
68: cp_ass_id IGS_AS_ITEM_ASSESSOR.ass_id%TYPE,
69: cp_person_id IGS_AS_ITEM_ASSESSOR.person_id%TYPE) IS
70: SELECT COUNT(*)
71: FROM IGS_AS_ITEM_ASSESSOR
72: WHERE ass_id = cp_ass_id AND
65: cst_yes CONSTANT CHAR := 'Y';
66: cst_no CONSTANT CHAR := 'N';
67: CURSOR c_aia1(
68: cp_ass_id IGS_AS_ITEM_ASSESSOR.ass_id%TYPE,
69: cp_person_id IGS_AS_ITEM_ASSESSOR.person_id%TYPE) IS
70: SELECT COUNT(*)
71: FROM IGS_AS_ITEM_ASSESSOR
72: WHERE ass_id = cp_ass_id AND
73: person_id <> cp_person_id AND
67: CURSOR c_aia1(
68: cp_ass_id IGS_AS_ITEM_ASSESSOR.ass_id%TYPE,
69: cp_person_id IGS_AS_ITEM_ASSESSOR.person_id%TYPE) IS
70: SELECT COUNT(*)
71: FROM IGS_AS_ITEM_ASSESSOR
72: WHERE ass_id = cp_ass_id AND
73: person_id <> cp_person_id AND
74: primary_assessor_ind = cst_yes;
75: CURSOR c_aia2(
72: WHERE ass_id = cp_ass_id AND
73: person_id <> cp_person_id AND
74: primary_assessor_ind = cst_yes;
75: CURSOR c_aia2(
76: cp_ass_id IGS_AS_ITEM_ASSESSOR.ass_id%TYPE,
77: cp_person_id IGS_AS_ITEM_ASSESSOR.person_id%TYPE,
78: cp_sequence_number IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE) IS
79: SELECT COUNT(*)
80: FROM IGS_AS_ITEM_ASSESSOR
73: person_id <> cp_person_id AND
74: primary_assessor_ind = cst_yes;
75: CURSOR c_aia2(
76: cp_ass_id IGS_AS_ITEM_ASSESSOR.ass_id%TYPE,
77: cp_person_id IGS_AS_ITEM_ASSESSOR.person_id%TYPE,
78: cp_sequence_number IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE) IS
79: SELECT COUNT(*)
80: FROM IGS_AS_ITEM_ASSESSOR
81: WHERE ass_id = cp_ass_id AND
74: primary_assessor_ind = cst_yes;
75: CURSOR c_aia2(
76: cp_ass_id IGS_AS_ITEM_ASSESSOR.ass_id%TYPE,
77: cp_person_id IGS_AS_ITEM_ASSESSOR.person_id%TYPE,
78: cp_sequence_number IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE) IS
79: SELECT COUNT(*)
80: FROM IGS_AS_ITEM_ASSESSOR
81: WHERE ass_id = cp_ass_id AND
82: person_id = cp_person_id AND
76: cp_ass_id IGS_AS_ITEM_ASSESSOR.ass_id%TYPE,
77: cp_person_id IGS_AS_ITEM_ASSESSOR.person_id%TYPE,
78: cp_sequence_number IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE) IS
79: SELECT COUNT(*)
80: FROM IGS_AS_ITEM_ASSESSOR
81: WHERE ass_id = cp_ass_id AND
82: person_id = cp_person_id AND
83: sequence_number <> cp_sequence_number AND
84: primary_assessor_ind = cst_no;
110: END assp_val_aia_primary;
111: --
112: -- Validate assessor links for invalid combinations.
113: FUNCTION assp_val_aia_links(
114: p_ass_id IN IGS_AS_ITEM_ASSESSOR.ass_id%TYPE ,
115: p_person_id IN IGS_AS_ITEM_ASSESSOR.person_id%TYPE ,
116: p_sequence_number IN IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE ,
117: p_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
118: p_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
111: --
112: -- Validate assessor links for invalid combinations.
113: FUNCTION assp_val_aia_links(
114: p_ass_id IN IGS_AS_ITEM_ASSESSOR.ass_id%TYPE ,
115: p_person_id IN IGS_AS_ITEM_ASSESSOR.person_id%TYPE ,
116: p_sequence_number IN IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE ,
117: p_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
118: p_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
119: p_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
112: -- Validate assessor links for invalid combinations.
113: FUNCTION assp_val_aia_links(
114: p_ass_id IN IGS_AS_ITEM_ASSESSOR.ass_id%TYPE ,
115: p_person_id IN IGS_AS_ITEM_ASSESSOR.person_id%TYPE ,
116: p_sequence_number IN IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE ,
117: p_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
118: p_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
119: p_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
120: p_ass_assessor_type IN IGS_AS_ITEM_ASSESSOR.ass_assessor_type%TYPE ,
113: FUNCTION assp_val_aia_links(
114: p_ass_id IN IGS_AS_ITEM_ASSESSOR.ass_id%TYPE ,
115: p_person_id IN IGS_AS_ITEM_ASSESSOR.person_id%TYPE ,
116: p_sequence_number IN IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE ,
117: p_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
118: p_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
119: p_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
120: p_ass_assessor_type IN IGS_AS_ITEM_ASSESSOR.ass_assessor_type%TYPE ,
121: P_MESSAGE_NAME OUT NOCOPY VARCHAR2 )
114: p_ass_id IN IGS_AS_ITEM_ASSESSOR.ass_id%TYPE ,
115: p_person_id IN IGS_AS_ITEM_ASSESSOR.person_id%TYPE ,
116: p_sequence_number IN IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE ,
117: p_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
118: p_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
119: p_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
120: p_ass_assessor_type IN IGS_AS_ITEM_ASSESSOR.ass_assessor_type%TYPE ,
121: P_MESSAGE_NAME OUT NOCOPY VARCHAR2 )
122: RETURN BOOLEAN AS
115: p_person_id IN IGS_AS_ITEM_ASSESSOR.person_id%TYPE ,
116: p_sequence_number IN IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE ,
117: p_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
118: p_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
119: p_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
120: p_ass_assessor_type IN IGS_AS_ITEM_ASSESSOR.ass_assessor_type%TYPE ,
121: P_MESSAGE_NAME OUT NOCOPY VARCHAR2 )
122: RETURN BOOLEAN AS
123: BEGIN
116: p_sequence_number IN IGS_AS_ITEM_ASSESSOR.sequence_number%TYPE ,
117: p_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
118: p_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
119: p_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
120: p_ass_assessor_type IN IGS_AS_ITEM_ASSESSOR.ass_assessor_type%TYPE ,
121: P_MESSAGE_NAME OUT NOCOPY VARCHAR2 )
122: RETURN BOOLEAN AS
123: BEGIN
124: p_message_name := NULL;
126: END assp_val_aia_links;
127: --
128: -- Generic links validation routine.
129: FUNCTION ASSP_VAL_OPTNL_LINKS(
130: p_new_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
131: p_new_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
132: p_new_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
133: p_db_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
134: p_db_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
127: --
128: -- Generic links validation routine.
129: FUNCTION ASSP_VAL_OPTNL_LINKS(
130: p_new_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
131: p_new_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
132: p_new_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
133: p_db_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
134: p_db_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
135: p_db_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
128: -- Generic links validation routine.
129: FUNCTION ASSP_VAL_OPTNL_LINKS(
130: p_new_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
131: p_new_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
132: p_new_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
133: p_db_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
134: p_db_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
135: p_db_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
136: p_message_name OUT NOCOPY VARCHAR2 )
129: FUNCTION ASSP_VAL_OPTNL_LINKS(
130: p_new_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
131: p_new_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
132: p_new_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
133: p_db_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
134: p_db_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
135: p_db_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
136: p_message_name OUT NOCOPY VARCHAR2 )
137: RETURN BOOLEAN AS
130: p_new_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
131: p_new_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
132: p_new_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
133: p_db_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
134: p_db_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
135: p_db_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
136: p_message_name OUT NOCOPY VARCHAR2 )
137: RETURN BOOLEAN AS
138: BEGIN
131: p_new_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
132: p_new_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
133: p_db_location_cd IN IGS_AS_ITEM_ASSESSOR.location_cd%TYPE ,
134: p_db_unit_mode IN IGS_AS_ITEM_ASSESSOR.unit_mode%TYPE ,
135: p_db_unit_class IN IGS_AS_ITEM_ASSESSOR.unit_class%TYPE ,
136: p_message_name OUT NOCOPY VARCHAR2 )
137: RETURN BOOLEAN AS
138: BEGIN
139: p_message_name := NULL;